Exemplo n.º 1
0
    void OnProcess(ProcessFrameEvent e)
    {
        if (!m_started)
        {
            return;
        }

        PlayerCommandsBase.GetCommandsData data = new PlayerCommandsBase.GetCommandsData(e.frame, e.status);
        m_playerCommands.GetCommands(data);

        CheckGrounded();

        ProcessDirection(data.moveDir);

        ProcessJump(data.jumpPressed);

        if (data.kickPressed)
        {
            Kick();
        }
        m_kickTimer -= Time.deltaTime;

        if (data.actionPressed)
        {
            Action();
        }
        m_actionTimer -= Time.deltaTime;
    }
Exemplo n.º 2
0
    public void SetFrame(int timeline, int frame, PlayerCommandsBase.GetCommandsData commands, Vector2 pos, float rot, Vector2 velocity, float angularVelocity)
    {
        while (m_timelines.Count <= timeline)
        {
            m_timelines.Add(new TimelineData());
        }

        var timelineData = m_timelines[timeline];

        FrameData f = new FrameData();

        f.commandData     = commands;
        f.pos             = pos;
        f.rot             = rot;
        f.velocity        = velocity;
        f.angularVelocity = angularVelocity;

        if (timelineData.frames.Count == 0)
        {
            timelineData.frames.Add(f);
            timelineData.firstFrame = frame;
        }
        else if (frame < timelineData.firstFrame)
        {
            for (int i = frame + 1; i < timelineData.firstFrame; i++)
            {
                timelineData.frames.Insert(0, null);
            }
            timelineData.frames.Insert(0, f);
            timelineData.firstFrame = frame;
        }
        else if (frame >= timelineData.firstFrame + timelineData.frames.Count)
        {
            for (int i = timelineData.firstFrame + timelineData.frames.Count + 1; i < frame - 1; i++)
            {
                timelineData.frames.Add(null);
            }
            timelineData.frames.Add(f);
        }
        else
        {
            timelineData.frames[frame - timelineData.firstFrame] = f;
        }
    }