Changed IDE to rider
This commit is contained in:
@@ -2,10 +2,10 @@ using UnityEngine;
|
||||
|
||||
public class EnemyController : OrbitalPositionBehaviour
|
||||
{
|
||||
public override void OnStart()
|
||||
protected override void OnStart()
|
||||
{
|
||||
transform.position = new Vector3(0, 0, -200f);
|
||||
m_OrbitalPosition.RadiusDistance = 0.2f;
|
||||
m_OrbitalPosition.m_RadiusDistance = 0.2f;
|
||||
}
|
||||
|
||||
public override void OnReachCentre()
|
||||
|
||||
@@ -4,32 +4,32 @@ using UnityEngine;
|
||||
|
||||
public class OrbitalPosition
|
||||
{
|
||||
public Int64 pRing = 0;
|
||||
public float DistanceFromCentre = 0;
|
||||
public float RadiusDistance = 0;
|
||||
public float ObjectRadius = 0.1f;
|
||||
public int m_AttachedRing;
|
||||
public float m_DistanceFromCentre;
|
||||
public float m_RadiusDistance;
|
||||
public float m_ObjectRadius = 0.1f;
|
||||
|
||||
public OrbitalPositionBehaviour Behaviour;
|
||||
public Transform Owner = null;
|
||||
public OrbitalPositionBehaviour m_Behaviour;
|
||||
public readonly Transform m_Owner;
|
||||
|
||||
public int SpinSpeed = 1;
|
||||
public int m_SpinSpeed = 1;
|
||||
|
||||
public OrbitalPosition(GameObject _owner)
|
||||
public OrbitalPosition(GameObject owner)
|
||||
{
|
||||
pRing = GlobalOrbitalPositionManager.LastRingID;
|
||||
Owner = _owner.transform;
|
||||
m_AttachedRing = GlobalOrbitalPositionManager.LastRingID;
|
||||
m_Owner = owner.transform;
|
||||
}
|
||||
|
||||
public Vector3 TranslateToVec3() => new
|
||||
(
|
||||
x: DistanceFromCentre * Mathf.Cos(RadiusDistance),
|
||||
y: DistanceFromCentre * Mathf.Sin(RadiusDistance)
|
||||
x: m_DistanceFromCentre * Mathf.Cos(m_RadiusDistance),
|
||||
y: m_DistanceFromCentre * Mathf.Sin(m_RadiusDistance)
|
||||
);
|
||||
}
|
||||
|
||||
public class Ring : MonoBehaviour
|
||||
{
|
||||
public Int64 ID;
|
||||
public int ID;
|
||||
}
|
||||
|
||||
public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
@@ -44,11 +44,11 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
|
||||
private float m_TimeOfLastRingSpawn = float.NegativeInfinity;
|
||||
|
||||
private Int64 m_LastGeneratedRing = 0;
|
||||
public static Int64 LastRingID => s_Instance.m_LastGeneratedRing;
|
||||
private int m_LastGeneratedRing = 0;
|
||||
public static int LastRingID => s_Instance.m_LastGeneratedRing;
|
||||
|
||||
public static float GetDistanceOf(Int64 rowID) => s_Instance.m_Distances[rowID];
|
||||
private const int CIRCLE_POINTS = 360;
|
||||
public static float GetDistanceOf(int rowID) => s_Instance.m_Distances[rowID];
|
||||
private const int CirclePoints = 360;
|
||||
|
||||
Vector3[] m_PrecalculatedPositions;
|
||||
|
||||
@@ -58,9 +58,9 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
DontDestroyOnLoad(manager);
|
||||
|
||||
s_Instance = manager.AddComponent<GlobalOrbitalPositionManager>();
|
||||
s_Instance.m_PrecalculatedPositions = new Vector3[CIRCLE_POINTS + 1];
|
||||
s_Instance.m_PrecalculatedPositions = new Vector3[CirclePoints + 1];
|
||||
|
||||
for (int i = 0; i < CIRCLE_POINTS; i++)
|
||||
for (int i = 0; i < CirclePoints; i++)
|
||||
{
|
||||
s_Instance.m_PrecalculatedPositions[i] = new Vector3
|
||||
(
|
||||
@@ -70,7 +70,7 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
);
|
||||
}
|
||||
|
||||
s_Instance.m_PrecalculatedPositions[CIRCLE_POINTS] = s_Instance.m_PrecalculatedPositions[0];
|
||||
s_Instance.m_PrecalculatedPositions[CirclePoints] = s_Instance.m_PrecalculatedPositions[0];
|
||||
}
|
||||
|
||||
private void Update()
|
||||
@@ -84,11 +84,11 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
ring.ID = m_LastGeneratedRing + 1;
|
||||
m_Rings.Add(ring);
|
||||
|
||||
LineRenderer renderer = newRing.GetComponentInChildren<LineRenderer>();
|
||||
renderer.positionCount = CIRCLE_POINTS + 1;
|
||||
renderer.startWidth = 0.1f;
|
||||
renderer.endWidth = 0.1f;
|
||||
renderer.material = new(Shader.Find("Sprites/Default"));
|
||||
LineRenderer lineRenderer = newRing.GetComponentInChildren<LineRenderer>();
|
||||
lineRenderer.positionCount = CirclePoints + 1;
|
||||
lineRenderer.startWidth = 0.1f;
|
||||
lineRenderer.endWidth = 0.1f;
|
||||
lineRenderer.material = new Material(Shader.Find("Sprites/Default"));
|
||||
|
||||
m_LastGeneratedRing = ring.ID;
|
||||
m_TimeOfLastRingSpawn = Time.time;
|
||||
@@ -103,10 +103,10 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
float diff = Time.deltaTime * GlobalOrbitalSettings.DistanceSpeed;
|
||||
ring.transform.localScale -= new Vector3(diff, diff, 0f);
|
||||
|
||||
LineRenderer renderer = ring.GetComponentInChildren<LineRenderer>();
|
||||
for (int vert = 0; vert < CIRCLE_POINTS + 1; vert++)
|
||||
LineRenderer lineRenderer = ring.GetComponentInChildren<LineRenderer>();
|
||||
for (int vert = 0; vert < CirclePoints + 1; vert++)
|
||||
{
|
||||
renderer.SetPosition(vert, m_PrecalculatedPositions[vert] * ring.transform.localScale.x);
|
||||
lineRenderer.SetPosition(vert, m_PrecalculatedPositions[vert] * ring.transform.localScale.x);
|
||||
}
|
||||
|
||||
float opacity = (ring.transform.localScale.x - 0.5f) / 4f;
|
||||
@@ -117,8 +117,8 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
Color c = Color.white;
|
||||
c.a = opacity;
|
||||
|
||||
renderer.startColor = c;
|
||||
renderer.endColor = c;
|
||||
lineRenderer.startColor = c;
|
||||
lineRenderer.endColor = c;
|
||||
|
||||
m_Distances[ring.ID] = ring.transform.localScale.x;
|
||||
index++;
|
||||
@@ -132,17 +132,17 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
|
||||
foreach (OrbitalPosition orbitalPosition in m_ObjectInstances)
|
||||
{
|
||||
if (!m_Distances.ContainsKey(orbitalPosition.pRing))
|
||||
if (!m_Distances.ContainsKey(orbitalPosition.m_AttachedRing))
|
||||
{
|
||||
orbitalPosition.Behaviour.OnReachCentre();
|
||||
orbitalPosition.pRing = m_LastGeneratedRing;
|
||||
orbitalPosition.m_Behaviour.OnReachCentre();
|
||||
orbitalPosition.m_AttachedRing = m_LastGeneratedRing;
|
||||
}
|
||||
|
||||
float distance = m_Distances[orbitalPosition.pRing];
|
||||
orbitalPosition.DistanceFromCentre = distance;
|
||||
orbitalPosition.RadiusDistance = (orbitalPosition.RadiusDistance + (Time.deltaTime * GlobalOrbitalSettings.RadiusSpeed)) % (Mathf.PI * 2);
|
||||
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.Owner.position = orbitalPosition.TranslateToVec3();
|
||||
orbitalPosition.m_Owner.position = orbitalPosition.TranslateToVec3();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,11 +156,11 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
|
||||
Vector2 a = orbital.TranslateToVec3();
|
||||
Vector2 b = m_PlayerOrbitalPosition.TranslateToVec3();
|
||||
float distance = (a - b).magnitude;
|
||||
float radii = orbital.ObjectRadius + m_PlayerOrbitalPosition.ObjectRadius;
|
||||
float radii = orbital.m_ObjectRadius + m_PlayerOrbitalPosition.m_ObjectRadius;
|
||||
if (distance < radii)
|
||||
{
|
||||
orbital.Behaviour.OnCollision(m_PlayerOrbitalPosition.Behaviour);
|
||||
m_PlayerOrbitalPosition.Behaviour.OnCollision(orbital.Behaviour);
|
||||
orbital.m_Behaviour.OnCollision(m_PlayerOrbitalPosition.m_Behaviour);
|
||||
m_PlayerOrbitalPosition.m_Behaviour.OnCollision(orbital.m_Behaviour);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -180,7 +180,7 @@ public abstract class OrbitalPositionBehaviour : MonoBehaviour
|
||||
{
|
||||
m_OrbitalPosition = new OrbitalPosition(gameObject)
|
||||
{
|
||||
Behaviour = this
|
||||
m_Behaviour = this
|
||||
};
|
||||
|
||||
GlobalOrbitalPositionManager.RegisterOrbitalPositionInstance(m_OrbitalPosition);
|
||||
@@ -190,7 +190,7 @@ public abstract class OrbitalPositionBehaviour : MonoBehaviour
|
||||
private void OnDestroy() =>
|
||||
GlobalOrbitalPositionManager.UnregisterOrbitalPositionInstance(m_OrbitalPosition);
|
||||
|
||||
public virtual void OnStart() { }
|
||||
protected virtual void OnStart() { }
|
||||
|
||||
public virtual void OnReachCentre() { }
|
||||
|
||||
|
||||
@@ -4,17 +4,17 @@ public class PlayerController : OrbitalPositionBehaviour
|
||||
{
|
||||
public GameObject m_EnemyPrefab;
|
||||
|
||||
public override void OnStart()
|
||||
protected override void OnStart()
|
||||
{
|
||||
GlobalOrbitalPositionManager.SetPlayer(m_OrbitalPosition);
|
||||
m_OrbitalPosition.RadiusDistance = 0.4f;
|
||||
m_OrbitalPosition.m_RadiusDistance = 0.4f;
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.Space))
|
||||
{
|
||||
m_OrbitalPosition.pRing += 1;
|
||||
m_OrbitalPosition.m_AttachedRing += 1;
|
||||
}
|
||||
|
||||
if (Input.GetKey(KeyCode.E))
|
||||
|
||||
Reference in New Issue
Block a user