示例#1
0
        public void StartBattleTransition(BaseEnemy_CombatSettings _combatSettings)
        {
            LevelMaster.GetInstance().FreezeAll();
            PlayerBehavior bhv = GameObjectHelper.getPlayer().GetComponent <PlayerBehavior>();

            bhv.m_InputEnabled = false;

            m_EnemyCombatSettings = _combatSettings;
            m_Runner.SetCurrentState((int)LevelMasterState.ActivateBattleUI, "transition requested");
        }
        // Use this for initialization
        void Start()
        {
            m_WorldSettings  = GetComponent <BaseEnemy_WorldSettings>();
            m_CombatSettings = GetComponent <BaseEnemy_CombatSettings>();

            m_Runner = new FSMRunner(gameObject);
            m_Runner.RegisterState <BaseEnemy_State_Birth>();
            m_Runner.RegisterState <BaseEnemy_State_Life>();
            m_Runner.RegisterState <BaseEnemy_State_Death>();
            m_Runner.RegisterState <BaseEnemy_State_EndOfDeath>();

            m_Runner.RegisterState <BaseEnemy_State_Idle>();

            if (m_WorldSettings.m_BirthEffect != null)
            {
                Transform instance = (Transform)Instantiate(m_WorldSettings.m_BirthEffect, transform.position, Quaternion.identity);
                instance.parent       = transform;
                m_BirthEffectInstance = instance.gameObject;
                m_BirthEffectInstance.SetActive(false);
            }

            if (m_WorldSettings.m_DeathEffect)
            {
                Transform instance = (Transform)Instantiate(m_WorldSettings.m_DeathEffect, transform.position, Quaternion.identity);
                instance.parent       = transform;
                m_DeathEffectInstance = instance.gameObject;
                m_DeathEffectInstance.SetActive(false);
            }

            switch (m_AIMode)
            {
            case AIMode.DrivenBySpawner:
                m_Runner.StartState((int)EnemyState.Birth);
                break;

            case AIMode.Idle:
                m_Runner.StartState((int)EnemyState.Idle);
                break;

            default:
                Debug.LogError(string.Format("The AI mode {0} is not supported.", m_AIMode));
                break;
            }
            //m_Runner.StartState((int)EnemyState.Birth);

            EnabledWorldMeshRenderer(false);

            m_CanEnterInCombat = true;
        }