Exemplo n.º 1
0
 public void ChangeState(eAnimationStateName name)
 {
     if (HasState(name) && _char.IsDie == false)
     {
         _reverseState = _aniDic[name];
     }
 }
 void AnimationLastFrame(eAnimationStateName name)
 {
     if (OnAnimationPlayEnd != null)
     {
         OnAnimationPlayEnd(name);
     }
 }
Exemplo n.º 3
0
 protected void ChangeState(eAnimationStateName nextState)
 {
     if (OnChangeState != null)
     {
         OnChangeState(nextState);
     }
 }
Exemplo n.º 4
0
    void CreateState(eAnimationStateName name)
    {
        CharacterState state = null;

        switch (name)
        {
        case eAnimationStateName.Idle:
            state = new Idle_State((int)name);
            break;

        case eAnimationStateName.Run:
            state = new Run_State((int)name);
            break;

        case eAnimationStateName.Attack:
            state = new Attack_State((int)name);
            break;

        case eAnimationStateName.Jump:
            state = new Jump_State((int)name);
            break;

        case eAnimationStateName.Crouch:
            state = new Crouch_State((int)name);
            break;

        case eAnimationStateName.Crouch_Attack:
            state = new CrouchAttack_State((int)name);
            break;

        case eAnimationStateName.Jump_Attack:
            state = new JumpAttack_State((int)name);
            break;

        case eAnimationStateName.Hurt:
            state = new Hurt_State((int)name);
            break;

        case eAnimationStateName.Hide:
            state = new Hide_State((int)name);
            break;

        case eAnimationStateName.Die:
            state = new DIe_State((int)name);
            break;

        case eAnimationStateName.Rise:
            state = new Rise_State((int)name);
            break;

        default:
            break;
        }
        if (state == null)
        {
            return;
        }
        state.Init(_char);
        _aniDic.Add(name, state);
    }
Exemplo n.º 5
0
 public void OnRequestChangeState(eAnimationStateName nextState)
 {
     if (HasState(nextState))
     {
         _reverseState = _aniDic[nextState];
     }
 }
 void AnimationEvent(eAnimationStateName name)
 {
     if (OnAnimationEvent != null)
     {
         OnAnimationEvent(name);
     }
 }
Exemplo n.º 7
0
 public override void OnAnimationPlayEnd(eAnimationStateName name)
 {
     if (name == _stateName)
     {
         ChangeState(eAnimationStateName.Idle);
     }
 }
Exemplo n.º 8
0
 public bool HasState(eAnimationStateName name)
 {
     if (_stateManager == null)
     {
         return(false);
     }
     return(_stateManager.HasState(name));
 }
Exemplo n.º 9
0
 public void ChangeState(eAnimationStateName name)
 {
     if (CurrentStateName() == name)
     {
         return;
     }
     _stateManager.ChangeState(name);
 }
Exemplo n.º 10
0
 public bool HasChange(eAnimationStateName name)
 {
     if (HasState(name))
     {
         ChangeState(name);
         return(true);
     }
     return(false);
 }
Exemplo n.º 11
0
 public override void OnAnimationPlayEnd(eAnimationStateName name)
 {
     if (name == _stateName)
     {
         if (_char.Stat.AttackType == eAttackType.Range)
         {
             Fire();
         }
         _isAnimationEnd = true;
     }
 }
 public bool HasAnimationInfo(eAnimationStateName name)
 {
     foreach (var obj in _aniContainer.SpriteAnimationInfoList)
     {
         if (obj.eAniState == name)
         {
             return(true);
         }
     }
     return(false);
 }
 public bool PlayAnimation(eAnimationStateName name)
 {
     if (_sprAniInfo.ContainsKey(name))
     {
         _playAniInfo = _sprAniInfo[name];
         _delaySec    = new WaitForSeconds(_playAniInfo.NextSprChangePerSec);
         _frameCount  = 0;
         StopAllCoroutines();
         StartCoroutine(AnimationPlay());
         return(true);
     }
     return(false);
 }
Exemplo n.º 14
0
 public override void OnAnimationPlayEnd(eAnimationStateName name)
 {
     if (name == _stateName)
     {
         if (_char.AllyType == eUnitAllyType.Player)
         {
             BattleManager._Instance.StageEnd();
         }
         if (_char.AllyType != eUnitAllyType.Player)
         {
             _char.DeActiveBehavior();
         }
     }
 }
Exemplo n.º 15
0
 public bool HasState(eAnimationStateName name)
 {
     return(_aniDic.ContainsKey(name));
 }
Exemplo n.º 16
0
 public virtual void OnAnimationEvent(eAnimationStateName name)
 {
 }
Exemplo n.º 17
0
 public virtual void OnAnimationPlayEnd(eAnimationStateName name)
 {
 }
Exemplo n.º 18
0
 public CharacterState(int stateIdx) : base(stateIdx)
 {
     _stateName = (eAnimationStateName)stateIdx;
 }
Exemplo n.º 19
0
 protected void OnAnimationEvent(eAnimationStateName name)
 {
     _stateManager.OnAnmationEvent(name);
 }
Exemplo n.º 20
0
 public void OnChangeState(eAnimationStateName changeName)
 {
 }
Exemplo n.º 21
0
 public virtual void OnAnmationEvent(eAnimationStateName name)
 {
     _curState.OnAnimationEvent(name);
 }
Exemplo n.º 22
0
 public override void OnAnimationPlayEnd(eAnimationStateName name)
 {
     base.OnAnimationPlayEnd(name);
 }
Exemplo n.º 23
0
 public override void OnAnimationPlayEnd(eAnimationStateName name)
 {
     if (name == _stateName)
     {
     }
 }
Exemplo n.º 24
0
 protected void OnAnimationPlayEnd(eAnimationStateName name)
 {
     _stateManager.OnAnmationPlayEnd(name);
 }
Exemplo n.º 25
0
    IEnumerator coAIUpdate()
    {
        while (true)
        {
            eAnimationStateName curState = CurrentStateName();
            switch (_currentAI)
            {
            case eAiState.Idle:
                //인식 범위
                if (CalDistance() > _unit.Stat.AppreciateDistance)
                {
                    if (HasState(eAnimationStateName.Hide))
                    {
                        ChangeState(eAnimationStateName.Hide);
                    }
                }
                else
                {
                    CalDirToTarget();
                    switch (curState)
                    {
                    case eAnimationStateName.Idle:
                        if (HasState(eAnimationStateName.Run))
                        {
                            ChangeState(eAnimationStateName.Run);
                            _currentAI = eAiState.MoveToTarget;
                        }
                        else if (HasState(eAnimationStateName.Attack))
                        {
                            ChangeState(eAnimationStateName.Attack);
                            _currentAI = eAiState.Attack;
                        }
                        break;

                    case eAnimationStateName.Hide:
                        if (HasState(eAnimationStateName.Rise))
                        {
                            ChangeState(eAnimationStateName.Rise);
                            _currentAI = eAiState.MoveToTarget;
                        }
                        break;
                    }
                }

                break;

            case eAiState.MoveToTarget:
                if (CalDistance() > _unit.Stat.AttackRange)
                {
                    if (HasState(eAnimationStateName.Run))
                    {
                        CalDirToTarget();
                        ChangeState(eAnimationStateName.Run);
                    }
                }
                else
                {
                    CalDirToTarget();
                    switch (curState)
                    {
                    case eAnimationStateName.Run:
                        if (HasState(eAnimationStateName.Attack))
                        {
                            ChangeState(eAnimationStateName.Attack);
                            _currentAI = eAiState.Attack;
                        }
                        else
                        {
                            ChangeState(eAnimationStateName.Idle);
                            _currentAI = eAiState.Idle;
                        }
                        break;
                    }
                }

                break;

            case eAiState.Attack:
                if (CalDistance() > _unit.Stat.AttackRange)
                {
                    ChangeState(eAnimationStateName.Idle);
                    _currentAI = eAiState.Idle;
                }
                else
                {
                    switch (curState)
                    {
                    case eAnimationStateName.Idle:
                        if (HasState(eAnimationStateName.Attack) && CurrentStateName() != eAnimationStateName.Attack)
                        {
                            CalDirToTarget();
                            ChangeState(eAnimationStateName.Attack);
                        }
                        break;
                    }
                }
                break;
            }
            yield return(_waitSec);
        }
    }
Exemplo n.º 26
0
 public virtual void OnAnmationPlayEnd(eAnimationStateName name)
 {
     _curState.OnAnimationPlayEnd(name);
 }
Exemplo n.º 27
0
 public override void OnAnimationEvent(eAnimationStateName name)
 {
     _char.SetAttack(true);
 }