github.com/loomnetwork/gamechain@v0.0.0-20200406110549-36c47eb97a92/cli/cmd/register_player_pool.go (about) 1 package cmd 2 3 import ( 4 "fmt" 5 "github.com/loomnetwork/gamechain/types/zb/zb_calls" 6 "github.com/loomnetwork/gamechain/types/zb/zb_data" 7 8 "github.com/loomnetwork/go-loom/auth" 9 "github.com/spf13/cobra" 10 ) 11 12 var registerPlayerPoolCmdArgs struct { 13 userID string 14 deckID int64 15 version string 16 tags []string 17 useBackendGameLogic bool 18 19 enableDebugCheats bool 20 disableDeckShuffle bool 21 forceFirstTurnUserId string 22 randomSeed int64 23 } 24 25 var registerPlayerPoolCmd = &cobra.Command{ 26 Use: "register_player_pool", 27 Short: "register player to find_match pool", 28 RunE: func(cmd *cobra.Command, args []string) error { 29 signer := auth.NewEd25519Signer(commonTxObjs.privateKey) 30 var req = zb_calls.RegisterPlayerPoolRequest{ 31 RegistrationData: &zb_data.PlayerProfileRegistrationData{ 32 UserId: registerPlayerPoolCmdArgs.userID, 33 DeckId: registerPlayerPoolCmdArgs.deckID, 34 Version: registerPlayerPoolCmdArgs.version, 35 Tags: registerPlayerPoolCmdArgs.tags, 36 UseBackendGameLogic: registerPlayerPoolCmdArgs.useBackendGameLogic, 37 }, 38 } 39 var resp zb_calls.RegisterPlayerPoolResponse 40 41 if registerPlayerPoolCmdArgs.enableDebugCheats { 42 req.RegistrationData.DebugCheats.Enabled = true 43 } 44 45 req.RegistrationData.DebugCheats.DisableDeckShuffle = registerPlayerPoolCmdArgs.disableDeckShuffle 46 req.RegistrationData.DebugCheats.ForceFirstTurnUserId = registerPlayerPoolCmdArgs.forceFirstTurnUserId 47 48 if registerPlayerPoolCmdArgs.randomSeed != 0 { 49 req.RegistrationData.DebugCheats.UseCustomRandomSeed = true 50 req.RegistrationData.DebugCheats.CustomRandomSeed = registerPlayerPoolCmdArgs.randomSeed 51 } 52 53 _, err := commonTxObjs.contract.Call("RegisterPlayerPool", &req, signer, &resp) 54 if err != nil { 55 return err 56 } 57 58 fmt.Printf("Registered player %s to pool\n", req.RegistrationData.UserId) 59 return nil 60 }, 61 } 62 63 func init() { 64 rootCmd.AddCommand(registerPlayerPoolCmd) 65 66 registerPlayerPoolCmd.Flags().StringVarP(®isterPlayerPoolCmdArgs.userID, "userId", "u", "loom", "UserId of account") 67 registerPlayerPoolCmd.Flags().Int64VarP(®isterPlayerPoolCmdArgs.deckID, "deckId", "d", 1, "Deck Id") 68 registerPlayerPoolCmd.Flags().StringVarP(®isterPlayerPoolCmdArgs.version, "version", "v", "", "version number like “0.10.0”") 69 registerPlayerPoolCmd.Flags().BoolVarP(®isterPlayerPoolCmdArgs.enableDebugCheats, "enableDebugCheats", "", false, "Enable Debug Cheats") 70 registerPlayerPoolCmd.Flags().BoolVarP(®isterPlayerPoolCmdArgs.disableDeckShuffle, "disableDeckShuffle", "", false, "Cheat - Disable Deck Shuffle") 71 registerPlayerPoolCmd.Flags().StringVarP(®isterPlayerPoolCmdArgs.forceFirstTurnUserId, "forceFirstTurnUserId", "", "", "Cheat - UserId of the player who will have the first turn") 72 registerPlayerPoolCmd.Flags().Int64VarP(®isterPlayerPoolCmdArgs.randomSeed, "randomSeed", "", 0, "Cheat - Random Seed") 73 registerPlayerPoolCmd.Flags().StringArrayVarP(®isterPlayerPoolCmdArgs.tags, "tags", "t", nil, "tags") 74 registerPlayerPoolCmd.Flags().BoolVarP(®isterPlayerPoolCmdArgs.useBackendGameLogic, "useBackendGameLogic", "b", false, "useBackendGameLogic") 75 }