github.com/loomnetwork/gamechain@v0.0.0-20200406110549-36c47eb97a92/cli/cmd/send_action_cardplay.go (about) 1 package cmd 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "github.com/loomnetwork/gamechain/types/zb/zb_calls" 7 "github.com/loomnetwork/gamechain/types/zb/zb_data" 8 "github.com/loomnetwork/gamechain/types/zb/zb_enums" 9 "strings" 10 11 "github.com/loomnetwork/go-loom/auth" 12 "github.com/spf13/cobra" 13 ) 14 15 var sendActionCardPlayCmdArgs struct { 16 matchID int64 17 userID string 18 cardPlayInstanceID int32 19 attackerID int32 20 targetID int32 21 objectType int32 22 } 23 24 var sendActionCardPlayCmd = &cobra.Command{ 25 Use: "send_action_cardplay", 26 Short: "send_action_cardplay", 27 RunE: func(cmd *cobra.Command, args []string) error { 28 signer := auth.NewEd25519Signer(commonTxObjs.privateKey) 29 30 var req = zb_calls.PlayerActionRequest{ 31 MatchId: sendActionCardPlayCmdArgs.matchID, 32 PlayerAction: &zb_data.PlayerAction{ 33 ActionType: zb_enums.PlayerActionType_CardPlay, 34 PlayerId: sendActionCardPlayCmdArgs.userID, 35 Action: &zb_data.PlayerAction_CardPlay{ 36 CardPlay: &zb_data.PlayerActionCardPlay{ 37 Card: &zb_data.InstanceId{Id: sendActionCardPlayCmdArgs.cardPlayInstanceID}, 38 }, 39 }, 40 }, 41 } 42 43 _, err := commonTxObjs.contract.Call("SendPlayerAction", &req, signer, nil) 44 if err != nil { 45 return err 46 } 47 48 switch strings.ToLower(rootCmdArgs.outputFormat) { 49 case "json": 50 output, err := json.Marshal(map[string]interface{}{"success": true}) 51 if err != nil { 52 return err 53 } 54 fmt.Println(string(output)) 55 default: 56 fmt.Println("sent action cardplay successfully") 57 } 58 59 return nil 60 }, 61 } 62 63 func init() { 64 rootCmd.AddCommand(sendActionCardPlayCmd) 65 sendActionCardPlayCmd.Flags().Int64VarP(&sendActionCardPlayCmdArgs.matchID, "matchId", "m", 0, "Match Id") 66 sendActionCardPlayCmd.Flags().StringVarP(&sendActionCardPlayCmdArgs.userID, "userId", "u", "loom", "UserId of account") 67 sendActionCardPlayCmd.Flags().Int32VarP(&sendActionCardPlayCmdArgs.cardPlayInstanceID, "instanceId", "i", 1, "card instance id for card play") 68 sendActionCardPlayCmd.Flags().Int32VarP(&sendActionCardPlayCmdArgs.attackerID, "attackerID", "a", 0, "Attacker ID") 69 sendActionCardPlayCmd.Flags().Int32VarP(&sendActionCardPlayCmdArgs.targetID, "targetID", "g", 0, "Target ID") 70 sendActionCardPlayCmd.Flags().Int32VarP(&sendActionCardPlayCmdArgs.objectType, "objectType", "o", 0, "Object Type") 71 }