Playable demo build (no airship)
This commit is contained in:
@@ -8,11 +8,17 @@ namespace Scampz.GameJam
|
||||
private Vector3 cameraOffset;
|
||||
[SerializeField]
|
||||
private float _cameraYPosition = 45f;
|
||||
[SerializeField]
|
||||
private float _smoothTime = 0.3f;
|
||||
|
||||
private void FixedUpdate()
|
||||
private Vector3 velocity = Vector3.zero;
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
var player = GameObject.FindGameObjectWithTag("Player");
|
||||
|
||||
var lockedInYPosition = new Vector3(player.transform.position.x - cameraOffset.x, _cameraYPosition, player.transform.position.z - cameraOffset.z);
|
||||
Vector3.SmoothDamp(transform.position, lockedInYPosition, ref velocity, _smoothTime);
|
||||
transform.position = lockedInYPosition;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,9 @@ namespace Scampz.GameJam
|
||||
{
|
||||
[SerializeField]
|
||||
private float speed;
|
||||
[SerializeField]
|
||||
private Transform targetObject;
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
@@ -18,6 +18,8 @@ namespace Scampz.GameJam.Assets.Scripts
|
||||
|
||||
void Update()
|
||||
{
|
||||
//Physics.Raycast(transform.position, -transform.up, out var hit, 10f);
|
||||
//var slope = hit.normal.y;
|
||||
var direction = new Vector3(Input.GetAxisRaw(InputOptions.Horizontal), 0, Input.GetAxisRaw(InputOptions.Vertical)).normalized;
|
||||
|
||||
if (_playerState.CanMove)
|
||||
|
||||
@@ -25,6 +25,18 @@ namespace Scampz.GameJam.Assets.Scripts
|
||||
return currentHitDistance != rayCastDistance;
|
||||
}
|
||||
|
||||
public bool IsWithinBoundsWithRay()
|
||||
{
|
||||
var offsetAngleRight = Quaternion.AngleAxis(rayCastAngle, transform.right);
|
||||
var isRayHitting = Physics.Raycast(transform.position, offsetAngleRight * transform.forward, out var rayHit, rayCastDistance);
|
||||
if (isRayHitting)
|
||||
currentHitDistance = rayHit.distance;
|
||||
else
|
||||
currentHitDistance = rayCastDistance;
|
||||
|
||||
return currentHitDistance != rayCastDistance;
|
||||
}
|
||||
|
||||
private void OnDrawGizmosSelected()
|
||||
{
|
||||
Gizmos.color = Color.red;
|
||||
|
||||
@@ -5,8 +5,6 @@ namespace Scampz.GameJam.Assets.Scripts.Player
|
||||
public class PlayerState : MonoBehaviour
|
||||
{
|
||||
private Animator _animator;
|
||||
private RayCaster _rayCaster;
|
||||
|
||||
private bool _canMove;
|
||||
private GameObject _player;
|
||||
private CharacterController _characterController;
|
||||
@@ -14,16 +12,17 @@ namespace Scampz.GameJam.Assets.Scripts.Player
|
||||
private void Start()
|
||||
{
|
||||
_animator = GetComponent<Animator>();
|
||||
_rayCaster = GetComponent<RayCaster>();
|
||||
_player = GameObject.FindGameObjectWithTag("Player");
|
||||
_characterController = _player.GetComponent<CharacterController>();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
_canMove = true;
|
||||
_animator.SetFloat("Speed", _characterController.velocity.magnitude);
|
||||
if (_rayCaster.enabled)
|
||||
_canMove = _rayCaster.IsWithinBounds();
|
||||
var rayCasterExists = TryGetComponent<RayCaster>(out var rayCaster);
|
||||
if (rayCasterExists)
|
||||
_canMove = rayCaster.IsWithinBoundsWithRay();
|
||||
}
|
||||
|
||||
public bool CanMove => _canMove;
|
||||
|
||||
@@ -23,15 +23,15 @@ namespace Scampz.GameJam.Assets.Scripts.SceneManagement
|
||||
var levelChanger = FindObjectOfType<LevelChanger>();
|
||||
levelChanger.FadeAnimation();
|
||||
yield return null;
|
||||
yield return new WaitForSeconds(3.0f);
|
||||
var player = GameObject.FindGameObjectWithTag("Player");
|
||||
player.SetActive(false);
|
||||
var cc = player.GetComponent<CharacterController>();
|
||||
cc.enabled = false;
|
||||
player.SetActive(false);
|
||||
yield return new WaitForSeconds(1.0f);
|
||||
yield return null;
|
||||
player.transform.position = _spawnPoint.position;
|
||||
player.transform.rotation = _spawnPoint.rotation;
|
||||
cc.enabled = true;
|
||||
yield return null;
|
||||
var allCamerasInCurrentScene = FindObjectsOfType<Camera>();
|
||||
foreach (var sceneCamera in allCamerasInCurrentScene)
|
||||
sceneCamera.enabled = false;
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Scampz.GameJam
|
||||
{
|
||||
if (Input.GetButtonDown(InputOptions.Submit))
|
||||
{
|
||||
GameManager.Instance.LoadScene(SceneNames.TempleA, LoadSceneMode.Single);
|
||||
GameManager.Instance.LoadScene("WorldMap", LoadSceneMode.Single);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user