@@ -24,7 +24,7 @@ var goClientWrapperGameTemplate string
2424//go:embed templates/wrappers/events.go.tmpl
2525var goClientWrapperEventsTemplate string
2626
27- func CreateNewClient (projectName , gameName , serverURL , cgVersion , cgeVersion string ) error {
27+ func CreateNewClient (projectName , gameName , serverURL , libraryVersion string , supportsWrappers bool ) error {
2828 module , err := cli .Input ("Project module path:" )
2929 if err != nil {
3030 return err
@@ -38,18 +38,13 @@ func CreateNewClient(projectName, gameName, serverURL, cgVersion, cgeVersion str
3838 return err
3939 }
4040
41- libraryURL , libraryTag , err := getGoClientLibraryURL (projectName , cgVersion )
41+ libraryURL , libraryTag , err := getGoClientLibraryURL (libraryVersion )
4242 if err != nil {
4343 return err
4444 }
4545
46- cgeMajor , cgeMinor , _ , err := external .ParseVersion (cgeVersion )
47- if err != nil {
48- return cli .Error (err .Error ())
49- }
50-
5146 wrappers := false
52- if cgeMajor > 0 || cgeMinor >= 3 {
47+ if supportsWrappers {
5348 wrappers , err = cli .YesNo ("Do you want to generate helper functions?" , true )
5449 if err != nil {
5550 return err
@@ -67,7 +62,7 @@ func CreateNewClient(projectName, gameName, serverURL, cgVersion, cgeVersion str
6762 cli .Finish ()
6863
6964 cli .Begin ("Creating project template..." )
70- err = createGoClientTemplate (libraryTag , projectName , module , gameName , serverURL , libraryURL , cgeVersion , wrappers )
65+ err = createGoClientTemplate (projectName , module , gameName , serverURL , libraryURL , wrappers )
7166 if err != nil {
7267 return err
7368 }
@@ -98,17 +93,20 @@ func CreateNewClient(projectName, gameName, serverURL, cgVersion, cgeVersion str
9893 return nil
9994}
10095
101- func createGoClientTemplate (libraryTag , projectName , modulePath , gameName , serverURL , libraryURL , cgeVersion string , wrappers bool ) error {
96+ func createGoClientTemplate (projectName , modulePath , gameName , serverURL , libraryURL string , wrappers bool ) error {
10297 if ! wrappers {
10398 return execGoClientMainTemplate (projectName , serverURL , libraryURL )
10499 }
105100
101+ cgeVersion , err := external .GetCGEVersion (util .BaseURL (serverURL , util .IsSSL (serverURL )))
102+ if err != nil {
103+ return err
104+ }
105+
106106 return execGoClientWrappersTemplate (projectName , modulePath , gameName , serverURL , libraryURL , cgeVersion )
107107}
108108
109- func getGoClientLibraryURL (projectName , cgVersion string ) (url string , tag string , err error ) {
110- clientVersion := external .ClientVersionFromCGVersion ("code-game-project" , "go-client" , cgVersion )
111-
109+ func getGoClientLibraryURL (clientVersion string ) (url string , tag string , err error ) {
112110 if clientVersion == "latest" {
113111 var err error
114112 clientVersion , err = external .LatestGithubTag ("code-game-project" , "go-client" )
0 commit comments