コード例 #1
0
    void ForwardCommands(GetCommandsData data)
    {
        var manager = TimelineManager.instance;

        if (manager == null)
        {
            return;
        }

        int lastFrame = manager.GetTimelineLastFrame(m_timelineIndex);

        if (lastFrame < data.frame)
        {
            Destroy(gameObject);
            return;
        }

        var commands = manager.GetCommands(m_timelineIndex, data.frame);

        if (commands == null)
        {
            return;
        }

        data.Set(commands);

        manager.SetFrame(m_timelineIndex, data.frame, data, transform.position, transform.rotation.eulerAngles.z, m_rigidbody.velocity, m_rigidbody.angularVelocity);
    }
コード例 #2
0
ファイル: PlayerCommandsBase.cs プロジェクト: larnin/LD47
 public void Set(GetCommandsData data)
 {
     moveDir       = data.moveDir;
     jumpPressed   = data.jumpPressed;
     kickPressed   = data.kickPressed;
     actionPressed = data.actionPressed;
 }
コード例 #3
0
ファイル: PlayerCommandsHuman.cs プロジェクト: larnin/LD47
    public override void GetCommands(GetCommandsData data)
    {
        data.moveDir       = m_direction;
        data.jumpPressed   = m_jumped;
        data.kickPressed   = m_kicked;
        data.actionPressed = m_action;

        m_jumped = false;
        m_kicked = false;
        m_action = false;

        var timeline = TimelineManager.instance;

        if (timeline != null)
        {
            timeline.SetFrame(m_timelineIndex, data.frame, data, transform.position, transform.rotation.eulerAngles.z, m_rigidbody.velocity, m_rigidbody.angularVelocity);
        }
    }
コード例 #4
0
    public override void GetCommands(GetCommandsData data)
    {
        data.Reset();

        switch (data.status)
        {
        case FrameStatus.Playing:
        case FrameStatus.FastForward:
            ForwardCommands(data);
            break;

        case FrameStatus.FastBackward:
            BackwardCommands(data);
            break;

        default:
            break;
        }
    }
コード例 #5
0
    void BackwardCommands(GetCommandsData data)
    {
        var manager = TimelineManager.instance;

        if (manager == null)
        {
            return;
        }

        int firstFrame = manager.GetTimelineFirstFrame(m_timelineIndex);

        if (firstFrame > data.frame)
        {
            Destroy(gameObject);
            return;
        }

        m_rigidbody.velocity        = manager.GetVelocity(m_timelineIndex, data.frame);
        m_rigidbody.angularVelocity = manager.GetAngularVelocity(m_timelineIndex, data.frame);
        transform.position          = manager.GetPos(m_timelineIndex, data.frame);
        transform.rotation          = Quaternion.Euler(0, 0, manager.GetRot(m_timelineIndex, data.frame));
    }
コード例 #6
0
ファイル: PlayerCommandsBase.cs プロジェクト: larnin/LD47
 public abstract void GetCommands(GetCommandsData data);