private bool CheckCriticalAssetLoads()
 {
     if (!this.m_criticalAssetsLoaded)
     {
         if (Board.Get() == null)
         {
             return(false);
         }
         if (BoardCameras.Get() == null)
         {
             return(false);
         }
         if (BoardStandardGame.Get() == null)
         {
             return(false);
         }
         if (GameMgr.Get().IsTutorial() && (BoardTutorial.Get() == null))
         {
             return(false);
         }
         if (MulliganManager.Get() == null)
         {
             return(false);
         }
         if (TurnStartManager.Get() == null)
         {
             return(false);
         }
         if (TargetReticleManager.Get() == null)
         {
             return(false);
         }
         if (GameplayErrorManager.Get() == null)
         {
             return(false);
         }
         if (EndTurnButton.Get() == null)
         {
             return(false);
         }
         if (BigCard.Get() == null)
         {
             return(false);
         }
         if (CardTypeBanner.Get() == null)
         {
             return(false);
         }
         if (TurnTimer.Get() == null)
         {
             return(false);
         }
         if (CardColorSwitcher.Get() == null)
         {
             return(false);
         }
         if (RemoteActionHandler.Get() == null)
         {
             return(false);
         }
         if (ChoiceCardMgr.Get() == null)
         {
             return(false);
         }
         if (InputManager.Get() == null)
         {
             return(false);
         }
         this.m_criticalAssetsLoaded = true;
         this.ProcessQueuedPowerHistory();
     }
     return(true);
 }
예제 #2
0
 private void OnDestroy()
 {
     s_instance = null;
 }
    public static void DisplayPlayError(ErrorType error, Entity errorSource)
    {
        Log.PlayErrors.Print(string.Concat(new object[] { "DisplayPlayError: (", s_initialized, ") ", error, " ", errorSource }), new object[0]);
        if (s_initialized && !GameState.Get().GetGameEntity().NotifyOfPlayError(error, errorSource))
        {
            switch (error)
            {
            case ErrorType.REQ_MINION_TARGET:
            case ErrorType.REQ_FRIENDLY_TARGET:
            case ErrorType.REQ_ENEMY_TARGET:
            case ErrorType.REQ_DAMAGED_TARGET:
            case ErrorType.REQ_FROZEN_TARGET:
            case ErrorType.REQ_TARGET_MAX_ATTACK:
            case ErrorType.REQ_TARGET_WITH_RACE:
            case ErrorType.REQ_HERO_TARGET:
            case ErrorType.REQ_HERO_OR_MINION_TARGET:
            case ErrorType.REQ_CAN_BE_TARGETED_BY_SPELLS:
            case ErrorType.REQ_CAN_BE_TARGETED_BY_OPPONENTS:
            case ErrorType.REQ_TARGET_MIN_ATTACK:
            case ErrorType.REQ_CAN_BE_TARGETED_BY_HERO_POWERS:
            case ErrorType.REQ_ENEMY_TARGET_NOT_IMMUNE:
            case ErrorType.REQ_CAN_BE_TARGETED_BY_BATTLECRIES:
            case ErrorType.REQ_MINION_OR_ENEMY_HERO:
            case ErrorType.REQ_LEGENDARY_TARGET:
            case ErrorType.REQ_TARGET_WITH_BATTLECRY:
            case ErrorType.REQ_TARGET_WITH_DEATHRATTLE:
                GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_TARGET);
                break;

            case ErrorType.REQ_TARGET_TO_PLAY:
            case ErrorType.REQ_TARGET_IF_AVAILABLE:
            case ErrorType.REQ_TARGET_FOR_COMBO:
            case ErrorType.REQ_TARGET_FOR_NO_COMBO:
            case ErrorType.REQ_STEADY_SHOT:
            case ErrorType.REQ_TARGET_IF_AVAILABLE_AND_DRAGON_IN_HAND:
            case ErrorType.REQ_FRIENDLY_MINION_DIED_THIS_TURN:
            case ErrorType.REQ_FRIENDLY_MINION_DIED_THIS_GAME:
            case ErrorType.REQ_ENEMY_WEAPON_EQUIPPED:
            case ErrorType.REQ_TARGET_IF_AVAILABLE_AND_MINIMUM_FRIENDLY_MINIONS:
                GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_PLAY);
                break;

            case ErrorType.REQ_NUM_MINION_SLOTS:
            case ErrorType.REQ_MINION_CAP_IF_TARGET_AVAILABLE:
            case ErrorType.REQ_MINION_CAP:
                GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_FULL_MINIONS);
                break;

            case ErrorType.REQ_WEAPON_EQUIPPED:
                GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_NEED_WEAPON);
                break;

            case ErrorType.REQ_ENOUGH_MANA:
                GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_NEED_MANA);
                break;

            case ErrorType.REQ_YOUR_TURN:
                return;

            case ErrorType.REQ_NONSTEALTH_ENEMY_TARGET:
                GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_STEALTH);
                break;

            case ErrorType.REQ_NOT_EXHAUSTED_ACTIVATE:
                if (!errorSource.IsHero())
                {
                    GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_MINION_ATTACKED);
                }
                else
                {
                    GameState.Get().GetCurrentPlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_I_ATTACKED);
                }
                break;

            case ErrorType.REQ_TARGET_TAUNTER:
                DisplayTauntErrorEffects();
                break;

            case ErrorType.REQ_NOT_MINION_JUST_PLAYED:
                GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_JUST_PLAYED);
                break;

            case ErrorType.REQ_DRAG_TO_PLAY:
                break;

            default:
                GameState.Get().GetFriendlySidePlayer().GetHeroCard().PlayEmote(EmoteType.ERROR_GENERIC);
                break;
            }
            PlayRequirementInfo playRequirementInfo = GetPlayRequirementInfo(errorSource);
            string errorDescription = GetErrorDescription(error, playRequirementInfo);
            if (!string.IsNullOrEmpty(errorDescription))
            {
                GameplayErrorManager.Get().DisplayMessage(errorDescription);
            }
        }
    }
예제 #4
0
 private void Awake()
 {
     s_instance        = this;
     s_messageInstance = UnityEngine.Object.Instantiate <GameplayErrorCloud>(this.m_errorMessagePrefab);
 }