Reduced nausea
This commit is contained in:
@@ -5,7 +5,10 @@ public class EnemyController : OrbitalPositionBehaviour
|
||||
protected override void OnStart()
|
||||
{
|
||||
transform.position = new Vector3(0, 0, -200f);
|
||||
m_OrbitalPosition.m_RadiusDistance = 0.2f;
|
||||
|
||||
m_OrbitalPosition.m_DistanceAlongRadius = Random.Range(0f, Mathf.PI * 2f);
|
||||
m_OrbitalPosition.m_ObjectRadius = 0.2f;
|
||||
m_OrbitalPosition.m_SpinSpeed = 0.7f;
|
||||
}
|
||||
|
||||
public override void OnReachCentre()
|
||||
|
||||
@@ -15,6 +15,9 @@ public class GlobalOrbitalSettings : MonoBehaviour
|
||||
|
||||
[SerializeField] GameObject m_RingPrefab;
|
||||
public static GameObject RingPrefab => Instance.m_RingPrefab;
|
||||
|
||||
[SerializeField] GameObject m_EnemyPrefab;
|
||||
public static GameObject EnemyPrefab => Instance.m_EnemyPrefab;
|
||||
|
||||
void Start() => Instance = this;
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class OrbitalPosition
|
||||
[System.Serializable] public class OrbitalPosition
|
||||
{
|
||||
public int m_AttachedRing;
|
||||
public float m_DistanceFromCentre;
|
||||
public float m_RadiusDistance;
|
||||
public float m_DistanceAlongRadius;
|
||||
public float m_ObjectRadius = 0.1f;
|
||||
|
||||
public OrbitalPositionBehaviour m_Behaviour;
|
||||
public readonly Transform m_Owner;
|
||||
|
||||
public int m_SpinSpeed = 1;
|
||||
public float m_SpinSpeed = 1f;
|
||||
|
||||
public OrbitalPosition(GameObject owner)
|
||||
{
|
||||
@@ -21,8 +21,8 @@ public class OrbitalPosition
|
||||
|
||||
public Vector3 TranslateToVec3() => new
|
||||
(
|
||||
x: m_DistanceFromCentre * Mathf.Cos(m_RadiusDistance),
|
||||
y: m_DistanceFromCentre * Mathf.Sin(m_RadiusDistance)
|
||||
x: m_DistanceFromCentre * Mathf.Cos(m_DistanceAlongRadius),
|
||||
y: m_DistanceFromCentre * Mathf.Sin(m_DistanceAlongRadius)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
|
||||
float distance = m_Distances[orbitalPosition.m_AttachedRing];
|
||||
orbitalPosition.m_DistanceFromCentre = distance;
|
||||
orbitalPosition.m_RadiusDistance = (orbitalPosition.m_RadiusDistance + Time.deltaTime * GlobalOrbitalSettings.RadiusSpeed) % (Mathf.PI * 2);
|
||||
orbitalPosition.m_DistanceAlongRadius = (orbitalPosition.m_DistanceAlongRadius + Time.deltaTime * GlobalOrbitalSettings.RadiusSpeed * orbitalPosition.m_SpinSpeed) % (Mathf.PI * 2);
|
||||
|
||||
orbitalPosition.m_Owner.position = orbitalPosition.TranslateToVec3();
|
||||
}
|
||||
@@ -155,6 +155,9 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
m_PlayerOrbitalPosition.m_Behaviour.OnCollision(orbital.m_Behaviour);
|
||||
}
|
||||
}
|
||||
|
||||
if (Random.Range(0, 20) == 0)
|
||||
Instantiate(GlobalOrbitalSettings.EnemyPrefab);
|
||||
}
|
||||
|
||||
public static void RegisterOrbitalPositionInstance(OrbitalPosition newInstance) =>
|
||||
@@ -166,7 +169,7 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
|
||||
public abstract class OrbitalPositionBehaviour : MonoBehaviour
|
||||
{
|
||||
protected OrbitalPosition m_OrbitalPosition;
|
||||
[SerializeField] protected OrbitalPosition m_OrbitalPosition;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
|
||||
@@ -2,12 +2,12 @@ using UnityEngine;
|
||||
|
||||
public class PlayerController : OrbitalPositionBehaviour
|
||||
{
|
||||
public GameObject m_EnemyPrefab;
|
||||
|
||||
protected override void OnStart()
|
||||
{
|
||||
GlobalOrbitalPositionManager.SetPlayer(m_OrbitalPosition);
|
||||
m_OrbitalPosition.m_RadiusDistance = 0.4f;
|
||||
|
||||
m_OrbitalPosition.m_ObjectRadius = 0.4f;
|
||||
m_OrbitalPosition.m_SpinSpeed = 0.05f;
|
||||
}
|
||||
|
||||
public void Update()
|
||||
@@ -16,11 +16,6 @@ public class PlayerController : OrbitalPositionBehaviour
|
||||
{
|
||||
m_OrbitalPosition.m_AttachedRing += 1;
|
||||
}
|
||||
|
||||
if (Input.GetKey(KeyCode.E))
|
||||
{
|
||||
Instantiate(m_EnemyPrefab);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnCollision(OrbitalPositionBehaviour other)
|
||||
|
||||
Reference in New Issue
Block a user