public SquadWarSquadType GetCurrentDisplaySquad()
        {
            SquadWarManager    warManager    = Service.Get <SquadController>().WarManager;
            SquadWarStatusType currentStatus = warManager.GetCurrentStatus();
            SquadWarSquadType  result        = SquadWarSquadType.PLAYER_SQUAD;

            if (currentStatus == SquadWarStatusType.PhasePrep || currentStatus == SquadWarStatusType.PhasePrepGrace)
            {
                result = SquadWarSquadType.PLAYER_SQUAD;
            }
            else if (currentStatus == SquadWarStatusType.PhaseAction || currentStatus == SquadWarStatusType.PhaseActionGrace || currentStatus == SquadWarStatusType.PhaseCooldown)
            {
                result = SquadWarSquadType.OPPONENT_SQUAD;
            }
            return(result);
        }
示例#2
0
        private void OnCollectButtonClicked(UXButton button)
        {
            string text = button.Tag as string;

            this.HideCollectButton(text);
            SquadWarManager warManager      = Service.Get <SquadController>().WarManager;
            SquadWarData    currentSquadWar = warManager.CurrentSquadWar;

            if (currentSquadWar != null && currentSquadWar.WarId == text && warManager.GetCurrentStatus() == SquadWarStatusType.PhaseCooldown && !(Service.Get <GameStateMachine>().CurrentState is GalaxyState))
            {
                Service.Get <UXController>().HUD.SlideSquadScreenClosedInstantly();
                warManager.EnterWarBoardMode();
                return;
            }
            warManager.ClaimSquadWarReward(text);
        }
        public void SelectBuilding(GameObject building)
        {
            Quaternion rotationTarget = Service.Get <WarBoardViewController>().GetRotationTarget(building.transform);
            Quaternion planetRotation = Service.Get <WarBoardViewController>().GetPlanetRotation();
            float      num            = rotationTarget.eulerAngles.x - planetRotation.eulerAngles.x;

            if (num < -7.7f || num > 1.9f)
            {
                return;
            }
            SquadWarParticipantState participantState = this.GetParticipantState(building);

            if (participantState == null)
            {
                return;
            }
            SquadWarManager    warManager    = Service.Get <SquadController>().WarManager;
            SquadWarStatusType currentStatus = warManager.GetCurrentStatus();

            if (currentStatus == SquadWarStatusType.PhaseCooldown)
            {
                return;
            }
            this.selectedBuilding = building;
            Transform transform = building.transform;

            if (transform.childCount > 0)
            {
                GameObject gameObject = transform.GetChild(0).gameObject;
                this.outline.Init(gameObject, "PL_2Color_Mask_HoloBldg_Outline");
            }
            if (participantState != null)
            {
                Service.Get <EventManager>().SendEvent(EventId.WarBoardParticipantBuildingSelected, building);
            }
        }
示例#4
0
        public virtual void OnEnter()
        {
            Service.Get <UXController>().MiscElementsManager.RemoveGalaxyTournamentStatus();
            HudConfig  hudConfig  = null;
            BattleType battleType = this.battleData.BattleType;

            switch (battleType)
            {
            case BattleType.Pvp:
                hudConfig = new HudConfig(new string[]
                {
                    "Currency",
                    "OpponentInfo",
                    "MedalInfo",
                    "ButtonHome",
                    "LabelBaseNameOpponent",
                    "TroopsGrid",
                    "LabelDeployInstructions",
                    "LabelCurrencyValueOpponent"
                });
                if (!this.battleData.IsRevenge)
                {
                    hudConfig.Add("ButtonNextBattle");
                }
                break;

            case BattleType.PveDefend:
                hudConfig = new HudConfig(new string[]
                {
                    "Currency",
                    "PlayerInfo",
                    "LabelBaseNameOpponent",
                    "LabelCurrencyValueOpponent",
                    "TroopsGrid",
                    "LabelDeployInstructions"
                });
                break;

            case BattleType.PveAttack:
            case BattleType.PveFue:
            case BattleType.ClientBattle:
                hudConfig = new HudConfig(new string[]
                {
                    "Currency",
                    "OpponentInfo",
                    "ButtonHome",
                    "LabelBaseNameOpponent",
                    "TroopsGrid",
                    "LabelDeployInstructions",
                    "LabelCurrencyValueOpponent"
                });
                break;

            case BattleType.PveBuffBase:
            case BattleType.PvpAttackSquadWar:
            {
                hudConfig = new HudConfig(new string[]
                    {
                        "OpponentInfo",
                        "LabelBaseNameOpponent",
                        "WarAttack"
                    });
                SquadWarManager    warManager    = Service.Get <SquadController>().WarManager;
                bool               flag          = this.battleData.Attacker.PlayerFaction == this.battleData.Defender.PlayerFaction;
                SquadWarStatusType currentStatus = warManager.GetCurrentStatus();
                if (!flag)
                {
                    hudConfig.Add("BuffsYoursSquadWars");
                }
                if (battleType != BattleType.PveBuffBase)
                {
                    hudConfig.Add("BuffsOpponentsSquadWars");
                }
                if (this.battleData.Attacker.GuildId != this.battleData.Defender.GuildId && !warManager.IsCurrentlyScoutingOwnedBuffBase())
                {
                    hudConfig.Add("WarAttackOpponent");
                    if (currentStatus == SquadWarStatusType.PhaseAction)
                    {
                        hudConfig.Add("TroopsGrid");
                    }
                }
                if (currentStatus == SquadWarStatusType.PhasePrep)
                {
                    if (battleType == BattleType.PvpAttackSquadWar)
                    {
                        Service.Get <BuildingController>().EnterSelectMode();
                    }
                    else
                    {
                        Service.Get <BuildingController>().ExitAllModes();
                    }
                }
                break;
            }
            }
            if (hudConfig != null)
            {
                Service.Get <UXController>().HUD.ConfigureControls(hudConfig);
            }
        }