コード例 #1
0
 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;
 }
コード例 #2
0
 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;
             }
         }
     }
 }
コード例 #3
0
 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);
     }
 }