void Start() { powerGenerated = 0.0f; timeForSwitching = 0.0f; threadmillState = ThreadmillState.Off; InvokeRepeating("IndicatorColorChange", 0.0f, SpeedOfColorChange); machineUIColor = Color.red; buttonOn.transform.parent.GetComponent <MeshRenderer>().material.color = Color.white; }
void OnTriggerExit(Collider col) { if (col.tag == "Player") { if (MenuScript.Instance.GetNumberofPlayers() > 1) { buttonOn.GetComponent <PressedButton>().enabled = false; threadmillState = ThreadmillState.Off; } else { if ((powerGenerated < powerNeeded)) { buttonOn.GetComponent <PressedButton>().enabled = false; threadmillState = ThreadmillState.Off; } } } }
void OnTriggerStay(Collider col) { if (col.tag == "Player") { if (col.GetComponent <MovementUpdated>().GetRunning()) { RunMultiplier = 5.0f; } else { RunMultiplier = 1.0f; } if (MenuScript.Instance.GetNumberofPlayers() > 1) { if (col.GetComponent <MovementUpdated>().isMoving&& col.GetComponent <MovementUpdated>().GetGrounded()) { col.GetComponent <Rigidbody>().velocity = Vector3.zero; col.GetComponent <Rigidbody>().AddForce(Vector3.right * treadmillPoweringStrength, ForceMode.Acceleration); buttonOn.GetComponent <PressedButton>().enabled = true; //powerIndicator.GetComponent<MeshRenderer>().material.color = Color.green; threadmillState = ThreadmillState.Powered; animateThreadmill = true; buttonOn.transform.parent.GetComponent <MeshRenderer>().material.color = Color.red; } else if (!col.GetComponent <MovementUpdated>().isMoving) { buttonOn.GetComponent <PressedButton>().enabled = false; //powerIndicator.GetComponent<MeshRenderer>().material.color = Color.red; threadmillState = ThreadmillState.Off; buttonOn.transform.parent.GetComponent <MeshRenderer>().material.color = Color.white; //Invoke("DelayTreadmillStop", threadmillDelayPan); } } else { if (powerGenerated > powerNeeded) { col.GetComponent <Rigidbody>().velocity = Vector3.zero; col.GetComponent <Rigidbody>().AddForce(Vector3.right * treadmillOnStrength, ForceMode.VelocityChange); buttonOn.GetComponent <PressedButton>().enabled = true; // powerIndicator.GetComponent<MeshRenderer>().material.color = Color.green; on = true; threadmillState = ThreadmillState.Powered; animateThreadmill = true; buttonOn.transform.parent.GetComponent <MeshRenderer>().material.color = Color.red; } else if (powerGenerated < powerNeeded && col.GetComponent <MovementUpdated>().isMoving&& col.GetComponent <MovementUpdated>().GetGrounded()) { col.GetComponent <Rigidbody>().velocity = Vector3.zero; col.GetComponent <Rigidbody>().AddForce(Vector3.right * treadmillPoweringStrength, ForceMode.Acceleration); threadmillState = ThreadmillState.Charging; animateThreadmill = true; powerGenerated += Time.deltaTime * RunMultiplier; } if ((!col.GetComponent <MovementUpdated>().isMoving || !col.GetComponent <MovementUpdated>().GetGrounded()) && powerGenerated < powerNeeded) { powerGenerated = 0.0f; // powerIndicator.GetComponent<MeshRenderer>().material.color = Color.red; threadmillState = ThreadmillState.Off; //Invoke("DelayTreadmillStop", threadmillDelayPan); } //if (col.GetComponent<MovementUpdated>().isMoving && col.GetComponent<MovementUpdated>().GetGrounded()) //{ // powerGenerated += Time.deltaTime; //} } } if (on == true && col.tag == "Pickup") { col.GetComponent <Rigidbody>().AddForce(Vector3.right * pushbackOtherObjectStrength, ForceMode.VelocityChange); } }