Ejemplo n.º 1
0
    public virtual void    Update(sdGameActor _gameActor)
    {
        playAudio(_gameActor);
        playEffect(_gameActor);

        if (stateData != null)
        {
            int ms = (int)stateData["MoveSpeed"];
            if (ms != 0)
            {
                int begin = (int)stateData["MoveBeginTime"];
                int end   = (int)stateData["MoveEndTime"];

                float speed = _gameActor.GetMoveSpeed() * (float)ms * 0.0001f;
                if (!bPassive)
                {
                    speed *= 1.0f + _gameActor["AttSpeedModPer"] * 0.0001f;
                }
                fatalStrikeMove(_gameActor, begin, end, speed);
            }
            int rotbegin = (int)stateData["RotateBeginTime"];
            int rotend   = (int)stateData["RotateEndTime"];
            if (rotbegin != rotend)
            {
                _InternalRotate(_gameActor, rotbegin, rotend);
            }
        }
        if (bMoveState)
        {
            _gameActor.motionFunction_todo();
        }
        if (_gameActor.actorType == ActorType.AT_Monster)
        {
            checkDeathHitPoint(_gameActor);
        }
        checkHitPoint(_gameActor);
        CheckZoomIn(_gameActor);
    }