Пример #1
0
    void OnStateEnter(UnitStateType type)
    {
        if (m_AniCtrl != null)
        {
            switch (type)
            {
            case UnitStateType.Empowering:
                m_AniCtrl.SetTrigger("Empower");
                EnableTaps(true);
                break;

            case UnitStateType.Attack:
                m_AniCtrl.SetTrigger("Attack");
                break;

            case UnitStateType.Rest:
                m_AniCtrl.SetTrigger("Rest");
                break;

            case UnitStateType.Idle:
                m_AniCtrl.SetTrigger("Idle");
                break;
            }
        }

        CheckStateProgressBarShow();
    }
Пример #2
0
        public void AssembleUnit(UnitAsset asset, bool gotoIdling, bool gotoAlive)
        {
            //has been spawned by asset
            if (!asset)
            {
                Debug.Log("no asset supplied to builder");
            }
            m_state    = UnitStateType.none;
            m_asset    = asset;
            m_isPlayer = m_asset.IsPlayer();
            m_faction  = m_asset.Faction();

            GetComponents();
            AssembleSubComponents();

            SetNewUnitState(UnitStateType.assembled);

            if (gotoIdling || gotoAlive)
            {
                SetNewUnitState(UnitStateType.idling);
            }
            if (gotoAlive)
            {
                SetNewUnitState(UnitStateType.alive);
            }
        }
Пример #3
0
        public void OnEnterNewUnitState(UnitStateType newState)
        {
            switch (newState)
            {
            case UnitStateType.assembled:
                OnReEnterAssembledState();
                break;

            case UnitStateType.idling:
                OnEnterIdleState();
                break;

            case UnitStateType.alive:
                OnEnterPlayState();
                break;

            case UnitStateType.dead:
                OnEnterDeadState();
                break;

            default:
                break;
            }
            m_state = newState;
        }
Пример #4
0
 public void SetUnitState(NTGBattleUnitController unit, UnitStateType type, float time)
 {
     if (unit is NTGBattlePlayerController && unit.visibility && unit.rendererVisible && unitUiMap.ContainsKey(unit))
     {
         NTGApplicationController.Instance.LuaCall("UIPlayerInfo", "SetState", unitUiMap[unit], (int)type, time);
     }
 }
Пример #5
0
        public static UnitState CreateState(UnitStateType type, BattleUnit bu)
        {
            UnitState ret = null;

            switch (type)
            {
            case UnitStateType.Idle:
                ret = new UnitStateIdle(bu);
                break;

            case UnitStateType.Attack:
                ret = new UnitStateAttack(bu);
                break;

            case UnitStateType.Rest:
                ret = new UnitStateRest(bu);
                break;

            case UnitStateType.Empowering:
                ret = new UnitStateEmpower(bu);
                break;
            }

            return(ret);
        }
Пример #6
0
 public void LeaveState(UnitStateType type)
 {
     if (EventStateLeave != null)
     {
         EventStateLeave(type);
     }
 }
Пример #7
0
    void OnStateLeave(UnitStateType type)
    {
        if (m_AniCtrl != null)
        {
            switch (type)
            {
            case UnitStateType.Empowering:
                m_AniCtrl.ResetTrigger("Empower");
                EnableTaps(false);
                break;

            case UnitStateType.Attack:
                m_AniCtrl.ResetTrigger("Attack");
                break;

            case UnitStateType.Rest:
                m_AniCtrl.ResetTrigger("Rest");
                break;

            case UnitStateType.Idle:
                m_AniCtrl.ResetTrigger("Idle");
                break;
            }
        }
    }
Пример #8
0
        public void SetNewUnitState(UnitStateType newState)
        {
            m_state = newState;

            switch (newState)
            {
            case UnitStateType.assembled:
                break;

            case UnitStateType.idling:
                OnEnterIdleState();
                break;

            case UnitStateType.alive:
                OnEnterAliveState();
                break;

            case UnitStateType.dead:
                OnEnterDeadState();
                break;

            default:
                break;
            }

            foreach (IUnitState componentState in componentStates)
            {
                componentState.OnEnterNewUnitState(newState);
            }
        }
Пример #9
0
 public void AssembleCollisions(UnitStateType state, UnitAsset asset, UnitBuilder builder, Rigidbody rb, BoxCollider collider)
 {
     m_asset    = asset;
     m_state    = state;
     m_builder  = builder;
     m_rb       = rb;
     m_collider = collider;
 }
Пример #10
0
        public void EnterState(UnitStateType type)
        {
            if (EventStateEnter != null)
            {
                EventStateEnter(type);
            }

            //CommonLogger.Log(string.Format("Unit {0} enter state {1}", OrgData.unit_id, type.ToString()));
        }
Пример #11
0
        public void AssembleMotor(UnitStateType state, UnitAsset asset, Rigidbody rb, UnitAnimation animation)
        {
            m_state = state;
            m_asset = asset;

            m_speed     = m_asset.Speed();
            m_rotSpeed  = m_asset.RotSpeed();
            m_altitude  = m_asset.Altitude();
            m_rb        = rb;
            m_animation = animation;
        }
Пример #12
0
        public void AssembleBrain(UnitStateType state, UnitMotor motor, UnitAsset asset)
        {
            m_state = state;
            m_motor = motor;
            m_asset = asset;

            m_isPlayer        = m_asset.IsPlayer();
            m_terrainVars     = m_asset.TerrainVars();
            m_targetIndicator = m_asset.TargetIndicator();
            m_currentTurn     = 0f;
        }
Пример #13
0
        public void AssembleAnimation(UnitStateType state, UnitAsset asset)
        {
            m_asset         = asset;
            m_state         = state;
            m_pool          = m_asset.ObjectPoolAsset();
            m_deathFX       = m_asset.DeathFX();
            m_collisionFX   = m_asset.CollisionFX();
            m_camShakeEvent = m_asset.CamShakeEvent();
            m_motorSFX      = m_asset.MotorSFX();

            m_mesh = m_asset.AddMeshToUnit(transform);
        }
Пример #14
0
        public void AssembleHealth(UnitStateType state, UnitAsset asset, UnitBuilder builder, UnitAnimation animation)
        {
            m_asset     = asset;
            m_state     = state;
            m_builder   = builder;
            m_animation = animation;

            m_isPlayer = m_asset.IsPlayer();
            m_pool     = m_asset.ObjectPoolAsset();
            m_faction  = m_asset.Faction();

            m_playerHealthChangeEvent = m_asset.UnitHealthChangeEvent();
            m_playerDeathEvent        = m_asset.UnitDeathEvent();
        }
Пример #15
0
        //private bool m_isPaused = true;

        #region assembly
        public void SetupUnitWeapons(UnitStateType state, UnitAsset asset)
        {
            m_asset = asset;
            m_state = state;

            m_faction = m_asset.Faction();
            m_pool    = m_asset.ObjectPoolAsset();

            m_weaponSlots = m_asset.SetWeaponSlotsOnUnit(transform);

            m_autoFire = m_asset.AutoFire();

            InitialiseAllWeaponSlots();
            //m_activateOnEnable = activateOnEnable;
            //ConfigForStart();
        }
Пример #16
0
        public void GoToState(UnitStateType type)
        {
            if (!m_States.ContainsKey(type))
            {
                CommonLogger.LogError("GoTo Unexist State " + type.ToString());
                return;
            }

            if (m_CurState != null)
            {
                m_CurState.LeaveState();
            }

            m_CurState = m_States [type];
            m_CurState.EnterState();

            m_CurEmpowerTap = 0;
        }
Пример #17
0
        public void OnEnterNewUnitState(UnitStateType newState)
        {
            switch (newState)
            {
            case UnitStateType.assembled:
                break;

            case UnitStateType.idling:
                break;

            case UnitStateType.alive:
                break;

            case UnitStateType.dead:
                break;

            default:
                break;
            }
            m_state = newState;
        }
Пример #18
0
 public BaseUnitState(UnitStateType stateType, Unit unit)
 {
     Debug.Assert(unit);
     this.unit      = unit;
     this.stateType = stateType;
 }
Пример #19
0
 public UnitState(UnitStateType type, BattleUnit unit)
 {
     this.Type = type;
     m_Unit    = unit;
 }