github.com/loomnetwork/gamechain@v0.0.0-20200406110549-36c47eb97a92/cli/cmd/send_action_cardattack.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 sendActionCardAttackCmdArgs struct { 16 matchID int64 17 userID string 18 actionType int32 19 cardPlayInstanceID int32 20 attackerID int32 21 targetID int32 22 objectType int32 23 } 24 25 var sendActionCardAttackCmd = &cobra.Command{ 26 Use: "send_action_cardattack", 27 Short: "send_action_cardattack", 28 RunE: func(cmd *cobra.Command, args []string) error { 29 signer := auth.NewEd25519Signer(commonTxObjs.privateKey) 30 31 var req = zb_calls.PlayerActionRequest{ 32 MatchId: sendActionCardAttackCmdArgs.matchID, 33 PlayerAction: &zb_data.PlayerAction{ 34 ActionType: zb_enums.PlayerActionType_CardAttack, 35 PlayerId: sendActionCardAttackCmdArgs.userID, 36 Action: &zb_data.PlayerAction_CardAttack{ 37 CardAttack: &zb_data.PlayerActionCardAttack{ 38 Attacker: &zb_data.InstanceId{Id: sendActionCardAttackCmdArgs.attackerID}, 39 Target: &zb_data.Unit{ 40 InstanceId: &zb_data.InstanceId{Id: sendActionCardAttackCmdArgs.targetID}, 41 }, 42 }, 43 }, 44 }, 45 } 46 47 _, err := commonTxObjs.contract.Call("SendPlayerAction", &req, signer, nil) 48 if err != nil { 49 return err 50 } 51 52 switch strings.ToLower(rootCmdArgs.outputFormat) { 53 case "json": 54 output, err := json.Marshal(map[string]interface{}{"success": true}) 55 if err != nil { 56 return err 57 } 58 fmt.Println(string(output)) 59 default: 60 fmt.Println("sent action cardattack successfully") 61 } 62 63 return nil 64 }, 65 } 66 67 func init() { 68 rootCmd.AddCommand(sendActionCardAttackCmd) 69 sendActionCardAttackCmd.Flags().Int64VarP(&sendActionCardAttackCmdArgs.matchID, "matchId", "m", 0, "Match Id") 70 sendActionCardAttackCmd.Flags().StringVarP(&sendActionCardAttackCmdArgs.userID, "userId", "u", "loom", "UserId of account") 71 sendActionCardAttackCmd.Flags().Int32VarP(&sendActionCardAttackCmdArgs.attackerID, "attackerID", "a", 0, "Attacker ID") 72 sendActionCardAttackCmd.Flags().Int32VarP(&sendActionCardAttackCmdArgs.targetID, "targetID", "g", 0, "Target ID") 73 sendActionCardAttackCmd.Flags().Int32VarP(&sendActionCardAttackCmdArgs.objectType, "objectType", "o", 0, "Object Type") 74 }