/// <summary> /// On interaction (if not jammed) the radiator increases its power level and adjusts the optical representation (animation /// and amount of enabled lamps) as well as the temperatur reducement at spawn and the power consumption. If the /// maximum power level is running, it switches off and increases again on next interaction. /// </summary> void Activated() { if (!isJammed) { if (powerLevel == MAXPOWERLEVEL) { this.SwitchOff(); } else { ++powerLevel; switch (powerLevel) { case 1: animator.SetFloat("animSpeed", 0.5f); lamps[0].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); break; case 2: animator.SetFloat("animSpeed", 1.0f); lamps[1].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); break; case 3: animator.SetFloat("animSpeed", 1.5f); lamps[2].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); break; default: animator.SetFloat("animSpeed", 1.0f); lamps[0].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); lamps[1].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); lamps[2].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.blue); break; } powerConsume = powerLevel * 30; spawn.temperatureAmount = powerLevel * -temperatureReducementFactor; powerManager.UpdatePowerConsume('R', powerConsume); } } }
/// <summary> /// On interaction the pump increases its power level and adjusts the optical representation (animation /// and amount of enabled lamps) as well as the molecule speed and the power consumption. If the /// maximum power level is running, it switches off and increases again on next interaction. /// </summary> void Activated() { if (powerLevel == MAXPOWERLEVEL) { this.SwitchOff(); } else { ++powerLevel; switch (powerLevel) { case 1: animator.SetFloat("animSpeed", 0.3f); lamps[0].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); break; case 2: animator.SetFloat("animSpeed", 0.6f); lamps[1].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); break; case 3: animator.SetFloat("animSpeed", 1.2f); lamps[2].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); break; case 4: animator.SetFloat("animSpeed", 1.8f); lamps[3].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); break; default: animator.SetFloat("animSpeed", 1.0f); break; } powerConsume = powerLevel * 30; powerManager.UpdatePowerConsume('P', powerConsume); moleculeManager.ChangeMoleculeSpeed(powerLevel); } }
void Start() { animator = GetComponent <Animator>(); GameObject manager = GameObject.Find("CoolingGameManager"); moleculeManager = manager.GetComponent <CoolingMoleculeManager>(); powerManager = manager.GetComponent <CoolingPowerManager>(); // Initialize starting state animator.SetFloat("animSpeed", 0.6f); lamps[0].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); lamps[1].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); powerLevel = 2; powerConsume = powerLevel * 30; powerManager.UpdatePowerConsume('P', powerConsume); }
void Start() { animator = GetComponent <Animator>(); spawn = GetComponent <CoolingSpawnScript>(); powerManager = GameObject.Find("CoolingGameManager").GetComponent <CoolingPowerManager>(); radiatorPowerText = GameObject.Find("RadiatorPowerText").GetComponent <Text>(); // Initialize starting state animator.SetFloat("animSpeed", 1.0f); lamps[0].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); lamps[1].GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.green); powerLevel = 2; powerConsume = powerLevel * 30; spawn.temperatureAmount = powerLevel * -temperatureReducementFactor; powerManager.UpdatePowerConsume('R', powerConsume); }