Files
GoakeFlax/Source/Game/PlayerMovement.cs
GoaLitiuM e2d7fbd40a hmm
2021-03-13 13:43:04 +02:00

117 lines
3.3 KiB
C#

using FlaxEngine;
using Cabrito;
using System.Diagnostics;
using System.Threading.Tasks;
namespace Game
{
public class PlayerMovement : Script
{
[Limit(0, 9000), Tooltip("Base Movement speed")]
public float MoveSpeed { get; set; } = 320;
private float viewPitch;
private float viewYaw;
private float viewRoll;
private InputEvent onExit = new InputEvent("Exit");
Actor rootActor;
public override void OnAwake()
{
base.OnAwake();
/*
onExit.Triggered += () =>
{
if (Console.IsSafeToQuit)
Engine.RequestExit();
};
rootActor = Actor.GetChild(0);*/
}
public override void OnDestroy()
{
/*base.OnDestroy();
onExit.Dispose();*/
}
public override void OnStart()
{
/*var initialEulerAngles = Actor.Orientation.EulerAngles;
viewPitch = initialEulerAngles.X;
viewYaw = initialEulerAngles.Y;
viewRoll = initialEulerAngles.Z;*/
}
Vector3 wishVelocity = new Vector3(0);
public override void OnFixedUpdate()
{
/*if (Console.IsOpen)
return;
var camera = rootActor.GetChild<Camera>();
var camTrans = camera.Transform;
var rootTrans = rootActor.Transform;
float inputH = InputManager.GetAxis("Horizontal");
float inputV = InputManager.GetAxis("Vertical");
var move = new Vector3(inputH, 0.0f, inputV);
var rigidBody = Actor.As<RigidBody>();
Vector3 accel = new Vector3(0);
if (!move.IsZero)
{
move.Normalize();
move = rootTrans.TransformDirection(move) * 10;
accel = move;
var groundVelocity = rigidBody.LinearVelocity;
groundVelocity.Y = 0;
if (groundVelocity.Length > MoveSpeed)
accel = new Vector3(0);
//wishVelocity = move;
}
//else if (!wishVelocity.IsZero)
// wishVelocity = new Vector3(0);
//rigidBody.Position += wishVelocity * Time.DeltaTime;
//rigidBody.AddForce(accel, ForceMode.Acceleration);
rigidBody.LinearVelocity += accel;
//rigidBody.LinearVelocity = wishVelocity;
//rigidBody.LinearVelocity /= Time.DeltaTime;
*/
}
public override void OnUpdate()
{
/*float xAxis = InputManager.GetAxis("Mouse X");
float yAxis = InputManager.GetAxis("Mouse Y");
if (xAxis != 0.0f || yAxis != 0.0f)
{
var camera = rootActor.GetChild<Camera>();
var camTrans = camera.Transform;
var rootTrans = rootActor.Transform;
viewPitch += yAxis;
viewYaw += xAxis;
viewPitch = Mathf.Clamp(viewPitch, -90.0f, 90.0f);
camTrans.Orientation = Quaternion.Euler(viewPitch, viewYaw, viewRoll);
rootTrans.Orientation = Quaternion.Euler(0, viewYaw, 0);
camera.Transform = camTrans;
rootActor.Transform = rootTrans;
}*/
}
}
}