示例#1
0
    public void Play(float deltaTime)
    {
        var sess = BattleProcedure.CurSession;

        switch (_stage)
        {
        case 1:
            _stage = 0;
            if (_targetUid != 0)
            {
                var target = sess.Field.FindUnit(_targetUid);
                _unit.TurnToGrid(target.CurCoord, () => { _stage = 2; });
            }
            else
            {
                _stage = 2;
            }
            break;

        case 2:
            _stage = 0;
            _unit.PlayAnimation(_animName, () => { _stage = 3; });
            break;

        case 3:
            if (_targetUid != 0)
            {
                _unit.TurnToDirection(_unit.Direction, () => { bCompleted = true; });
            }
            else
            {
                bCompleted = true;
            }
            break;

        default:
            break;
        }
    }
示例#2
0
    public void Play(float deltaTime)
    {
        _time += deltaTime;
        switch (_stage)
        {
        case 1:
        {
            _stage = 0;
            _unit.TurnToDirection(_direction, () => { _stage = 2; });
        }
        break;

        case 2:
        {
            _stage = 0;
            _unit.MoveToGrid(BattleProcedure.CurSession.Map.GetAdjacentCoord(_unit.CurViewCoord, _direction), () => { bCompleted = true; });
        }
        break;

        default:
            break;
        }
    }