51 lines
1.2 KiB
C#
51 lines
1.2 KiB
C#
using System;
|
|
using Hazel;
|
|
|
|
namespace Sandbox {
|
|
|
|
public class Player : Entity
|
|
{
|
|
private TransformComponent m_Transform;
|
|
private RigidBody2DComponent m_Rigidbody;
|
|
|
|
public float Speed = 1.0f;
|
|
|
|
void OnCreate()
|
|
{
|
|
Console.WriteLine($"Player.OnCreate - {ID}");
|
|
|
|
m_Transform = GetComponent<TransformComponent>();
|
|
m_Rigidbody = GetComponent<RigidBody2DComponent>();
|
|
}
|
|
|
|
void OnUpdate(float ts)
|
|
{
|
|
// Console.WriteLine($"Player.OnUpdate: {ts}");
|
|
|
|
float speed = Speed;
|
|
Vector3 velocity = Vector3.Zero;
|
|
|
|
if(Input.IsKeyDown(KeyCode.W))
|
|
velocity.Y = 1.0f;
|
|
else if(Input.IsKeyDown(KeyCode.S))
|
|
velocity.Y = -1.0f;
|
|
|
|
if(Input.IsKeyDown(KeyCode.A))
|
|
velocity.X = -1.0f;
|
|
else if(Input.IsKeyDown(KeyCode.D))
|
|
velocity.X = 1.0f;
|
|
|
|
m_Rigidbody.ApplyLinearImpulseToCenter(velocity.XY * speed, true);
|
|
|
|
/*
|
|
velocity *= speed;
|
|
|
|
Vector3 translation = m_Transform.Translation;
|
|
translation += velocity * ts;
|
|
m_Transform.Translation = translation;
|
|
*/
|
|
}
|
|
}
|
|
|
|
|
|
} |