chunk 1: core gameplay scripts scenes runtime assets

This commit is contained in:
2026-04-06 11:02:34 +03:00
parent fa0388bc79
commit 0d11a097d8
703 changed files with 2292651 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovementBehaviour : MonoBehaviour
{
[Header("Component References")]
public Rigidbody playerRigidbody;
[Header("Movement Settings")]
public float movementSpeed = 3f;
public float turnSpeed = 0.1f;
//Stored Values
private Camera mainCamera;
private Vector3 movementDirection;
public void SetupBehaviour()
{
SetGameplayCamera();
}
void SetGameplayCamera()
{
mainCamera = CameraManager.Instance.GetGameplayCamera();
}
public void UpdateMovementData(Vector3 newMovementDirection)
{
movementDirection = newMovementDirection;
}
void FixedUpdate()
{
MoveThePlayer();
TurnThePlayer();
}
void MoveThePlayer()
{
Vector3 movement = CameraDirection(movementDirection) * movementSpeed * Time.deltaTime;
playerRigidbody.MovePosition(transform.position + movement);
}
void TurnThePlayer()
{
if(movementDirection.sqrMagnitude > 0.01f)
{
Quaternion rotation = Quaternion.Slerp(playerRigidbody.rotation,
Quaternion.LookRotation (CameraDirection(movementDirection)),
turnSpeed);
playerRigidbody.MoveRotation(rotation);
}
}
Vector3 CameraDirection(Vector3 movementDirection)
{
var cameraForward = mainCamera.transform.forward;
var cameraRight = mainCamera.transform.right;
cameraForward.y = 0f;
cameraRight.y = 0f;
return cameraForward * movementDirection.z + cameraRight * movementDirection.x;
}
}