Playable demo build (no airship)

This commit is contained in:
2022-08-21 00:32:22 -07:00
parent aaa043470b
commit f3e9b25c48
89 changed files with 5820 additions and 5834 deletions

View File

@@ -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;
}
}

View File

@@ -6,6 +6,9 @@ namespace Scampz.GameJam
{
[SerializeField]
private float speed;
[SerializeField]
private Transform targetObject;
// Update is called once per frame
void Update()
{

View File

@@ -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)

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);
}
}
}