add FindEntityByName function

This commit is contained in:
2025-10-26 13:12:04 +08:00
parent 9c45444354
commit e8dec2e2d3
13 changed files with 129 additions and 37 deletions

View File

@ -8,19 +8,25 @@ namespace Sandbox {
// private TransformComponent m_Transform;
// private RigidBody2DComponent m_Rigidbody;
public float MoveSpeed;
/*
public float MoveSpeed;
public float DistanceFromPlayer = 5;
private Entity m_Player;
void OnCreate()
{
Console.WriteLine($"Player.OnCreate - {ID}");
Console.WriteLine($"Camera.OnCreate - {ID}");
m_Transform = GetComponent<TransformComponent>();
m_Rigidbody = GetComponent<RigidBody2DComponent>();
m_Player = FindEntityByName("Player");
}
*/
void OnUpdate(float ts)
{
if(m_Player != null)
{
Translation = new Vector3(m_Player.Translation.XY, DistanceFromPlayer);
}
// Console.WriteLine($"Player.OnUpdate: {ts}");
float speed = MoveSpeed;

View File

@ -36,6 +36,17 @@ namespace Sandbox {
else if(Input.IsKeyDown(KeyCode.D))
velocity.X = 1.0f;
Entity cameraEntity = FindEntityByName("Camera");
if(cameraEntity != null)
{
Camera camera = cameraEntity.As<Camera>();
if(Input.IsKeyDown(KeyCode.Q))
camera.DistanceFromPlayer -= speed * 2.0f * ts;
else if(Input.IsKeyDown(KeyCode.E))
camera.DistanceFromPlayer += speed * 2.0f * ts;
}
m_Rigidbody.ApplyLinearImpulseToCenter(velocity.XY * speed, true);
}
}