Beispiel #1
0
        private static SquadMsg CreateActionMessage(SquadAction action, SquadController.ActionCallback callback, object cookie)
        {
            SqmActionData sqmActionData = new SqmActionData();

            sqmActionData.Type     = action;
            sqmActionData.Callback = callback;
            sqmActionData.Cookie   = cookie;
            SqmOwnerData sqmOwnerData = new SqmOwnerData();

            sqmOwnerData.PlayerId   = Service.CurrentPlayer.PlayerId;
            sqmOwnerData.PlayerName = Service.CurrentPlayer.PlayerName;
            return(new SquadMsg
            {
                OwnerData = sqmOwnerData,
                ActionData = sqmActionData
            });
        }
Beispiel #2
0
        private void OnActionCommandSuccess(AbstractResponse response, object cookie)
        {
            SquadMsg      squadMsg   = (SquadMsg)cookie;
            SqmActionData actionData = squadMsg.ActionData;
            SquadAction   type       = actionData.Type;
            SquadMsg      squadMsg2;

            switch (type)
            {
            case SquadAction.Create:
            case SquadAction.Join:
                squadMsg2 = SquadMsgUtils.GenerateMessageFromSquadResponse((SquadResponse)response, Service.LeaderboardController);
                goto IL_B5;

            case SquadAction.Leave:
                squadMsg2 = squadMsg;
                this.controller.WarManager.ClearSquadWarData();
                goto IL_B5;

            case SquadAction.Edit:
            case SquadAction.ApplyToJoin:
IL_35:
                switch (type)
                {
                case SquadAction.DonateTroops:
                case SquadAction.DonateWarTroops:
                    squadMsg2 = SquadMsgUtils.GenerateMessageFromTroopDonateResponse((TroopDonateResponse)response);
                    Service.TroopDonationTrackController.UpdateTroopDonationProgress((TroopDonateResponse)response);
                    goto IL_B5;
                }
                squadMsg2 = squadMsg;
                goto IL_B5;

            case SquadAction.AcceptApplicationToJoin:
                squadMsg2 = SquadMsgUtils.GenerateMessageFromSquadMemberResponse((SquadMemberResponse)response);
                goto IL_B5;
            }
            goto IL_35;
IL_B5:
            squadMsg2.BISource = squadMsg.BISource;
            this.controller.OnPlayerActionSuccess(actionData.Type, squadMsg2);
            if (actionData.Callback != null)
            {
                actionData.Callback(true, actionData.Cookie);
            }
        }