Skip to content
Snippets Groups Projects
Commit e25e15af authored by Adam Elfawal's avatar Adam Elfawal
Browse files

Forced a wait to stop the massive combo on play

parent 8d1d7ed4
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,8 @@ public class ObjectPoints : MonoBehaviour
[HideInInspector] public bool doneMoving = false;
private bool beenMoved = false;
private bool settled = false;
public float startWait = 3f;
public float startTime = 0;
[Range(1f, 10f)]public float firstForceMultiplier = 1f;
......@@ -30,6 +32,7 @@ public class ObjectPoints : MonoBehaviour
// Start is called before the first frame update
void Start()
{
startTime = Time.time;
myBod = GetComponent<Rigidbody>();
lastPos = transform.position;
}
......@@ -37,41 +40,44 @@ void Start()
// Update is called once per frame
void Update()
{
if (transform.position != lastPos)
if (Time.time - startTime > startWait)
{
if (myBod.velocity.magnitude <= minSettleSpeed)
{
if (!settled) { settled = true; lastPos = transform.position; }
else if (currentPoints > 0)
{
if (currentTime < settleTime) { currentTime += Time.deltaTime; }
else { doneMoving = true; }
}
}
else if (settled && !doneMoving)
{
var dist = Vector3.Distance(lastPos, transform.position);
distanceTraveled += dist;
lastPos = transform.position;
if (distanceTraveled > minDistance)
if (transform.position != lastPos)
{
if (myBod.velocity.magnitude <= minSettleSpeed)
{
if (!beenMoved)
{
beenMoved = true; GM.trackPoints(this);
if (myBod.velocity.magnitude > GM.impactVelocityTrigger)
{ StartCoroutine(GM.SlowMo()); }
myBod.velocity *= firstForceMultiplier;
if (!settled) { settled = true; lastPos = transform.position; }
else if (currentPoints > 0)
{
if (currentTime < settleTime) { currentTime += Time.deltaTime; }
else { doneMoving = true; }
}
currentPoints = myBod.mass * distanceTraveled * pointMultiplier;
if (currentPoints > maxPoints) { currentPoints = maxPoints; doneMoving = true; }
}
else if (settled && !doneMoving)
{
var dist = Vector3.Distance(lastPos, transform.position);
distanceTraveled += dist;
lastPos = transform.position;
if (distanceTraveled > minDistance)
{
if (!beenMoved)
{
beenMoved = true; GM.trackPoints(this);
if (myBod.velocity.magnitude > GM.impactVelocityTrigger)
{ StartCoroutine(GM.SlowMo()); }
myBod.velocity *= firstForceMultiplier;
}
currentPoints = myBod.mass * distanceTraveled * pointMultiplier;
if (currentPoints > maxPoints) { currentPoints = maxPoints; doneMoving = true; }
}
if (dist > minDistance && currentTime > 0 && !doneMoving) { currentTime = 0; }
if (dist > minDistance && currentTime > 0 && !doneMoving) { currentTime = 0; }
}
}
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment