@@ -17,6 +17,9 @@ import (
1717 "github.com/ogier/pflag"
1818)
1919
20+ //go:embed templates/events.cge.tmpl
21+ var eventsCGETemplate string
22+
2023func New () error {
2124 var project string
2225 if pflag .NArg () >= 2 {
@@ -49,7 +52,7 @@ func New() error {
4952
5053 switch project {
5154 case "server" :
52- err = newServer ()
55+ err = newServer (projectName )
5356 case "client" :
5457 err = newClient ()
5558 default :
@@ -78,7 +81,7 @@ func New() error {
7881 return nil
7982}
8083
81- func newServer () error {
84+ func newServer (projectName string ) error {
8285 var language string
8386 if pflag .NArg () >= 3 {
8487 language = strings .ToLower (pflag .Arg (2 ))
@@ -97,7 +100,35 @@ func newServer() error {
97100 default :
98101 return cli .Error ("Unsupported language: %s" , language )
99102 }
100- return err
103+ if err != nil {
104+ return err
105+ }
106+
107+ cgeVersion , err := util .LatestCGEVersion ()
108+ if err != nil {
109+ return err
110+ }
111+
112+ type data struct {
113+ SnakeCaseName string
114+ CGEVersion string
115+ }
116+
117+ tmpl , err := template .New ("events.cge" ).Parse (eventsCGETemplate )
118+ if err != nil {
119+ return err
120+ }
121+
122+ file , err := os .Create ("events.cge" )
123+ if err != nil {
124+ return err
125+ }
126+ defer file .Close ()
127+
128+ return tmpl .Execute (file , data {
129+ SnakeCaseName : strings .ReplaceAll (projectName , "-" , "_" ),
130+ CGEVersion : cgeVersion ,
131+ })
101132}
102133
103134func newClient () error {
@@ -134,7 +165,7 @@ func newClient() error {
134165 switch language {
135166 case "go" :
136167 goLibraryVersion := util .LibraryVersionFromCGVersion ("code-game-project" , "go-client" , cgVersion )
137- err = util .ExecuteModule ("go" , goLibraryVersion , "client" , "new" , "client" , "--library-version=" + goLibraryVersion , "--game-name=" + name , "--url=" + url , fmt .Sprintf ("--supports-wrappers=%t" , cgeMajor > 0 || cgeMinor >= 3 ))
168+ err = util .ExecuteModule ("go" , goLibraryVersion , "client" , "new" , "client" , "--library-version=" + goLibraryVersion , "--game-name=" + name , "--url=" + trimURL ( url ) , fmt .Sprintf ("--supports-wrappers=%t" , cgeMajor > 0 || cgeMinor >= 3 ))
138169 default :
139170 return cli .Error ("Unsupported language: %s" , language )
140171 }
0 commit comments