public void setColor(Constants.Color color) { this.color = color; var renderer = GetComponentInChildren <Renderer>(); var materials = renderer.sharedMaterials; switch (color) { case Constants.Color.Red: materials[0] = baseRed; materials[1] = detailRed; break; case Constants.Color.Green: materials[0] = baseGreen; materials[1] = detailGreen; break; case Constants.Color.Blue: materials[0] = baseBlue; materials[1] = detailBlue; break; } renderer.sharedMaterials = materials; }
void ReadInput() { // Player 2 bool fire = Input.GetButton("Launch2"); // Player 1 if (gameObject.name == "Player") { fire = Input.GetButton("Launch1"); } if (fire) { if (!missileLaunched) { //FIRE ZHE MIZZILEZ GameObject missile = Instantiate( missilePrefab, silo.transform.position, silo.transform.rotation ); var component = missile.GetComponent <Missile>(); component.velocity = silo.transform.position.normalized; component.initialDirection = silo.transform.TransformVector( new Vector3(LaunchDirection(), 0, 0) ); component.SetOwner(this); missileLaunched = true; missile.GetComponent <Missile>().setColor(nextColor); nextColor = NewColor(); nextMissile.color = TranslateToSensibleColor(nextColor); } } }
void Start() { timeUntilNewDirection = 0.0f; rb = GetComponent <Rigidbody>(); Array values = Enum.GetValues(typeof(Constants.Color)); color = (Constants.Color)values.GetValue((int)UnityEngine.Random.Range(0, values.Length)); setColor(color); }
// Start is called before the first frame update void Start() { foreach (var joystick in Input.GetJoystickNames()) { Debug.Log(joystick); } canvas = transform.Find("Canvas").GetComponent <Canvas>(); scoreText = canvas.transform.Find("ScoreText").GetComponent <Text>(); scoreText.text = "Score: " + score; fuelBar = canvas.transform.Find("FuelBar").GetComponent <Image>(); nextMissile = canvas.transform.Find("NextMissile").GetComponent <Image>(); nextColor = NewColor(); nextMissile.color = TranslateToSensibleColor(nextColor); }
private Color TranslateToSensibleColor(Constants.Color nextColor) { if (nextColor == Constants.Color.Blue) { return(new Color(0, 115.0f / 255.0f, 202.0f / 255.0f)); } else if (nextColor == Constants.Color.Green) { return(new Color(48.0f / 255.0f, 204.0f / 255.0f, 0)); } else { return(new Color(204.0f / 255.0f, 0, 4.0f / 255.0f)); } }
void setColor(Constants.Color color) { this.color = color; var renderer = GetComponentInChildren <Renderer>(); var materials = renderer.sharedMaterials; switch (color) { case Constants.Color.Red: materials[1] = clothesRed; break; case Constants.Color.Green: materials[1] = clothesGreen; break; case Constants.Color.Blue: materials[1] = clothesBlue; break; } renderer.sharedMaterials = materials; }
// Returns whether the dimension changed or not public bool ChangeDimension(Constants.Color color, bool forcefield = false) { if (LevelManager.Instance().isLevelComplete) { return(false); } Constants.Color oldDimension = currentDimension; List <GameObject> objects = LevelManager.Instance().GetLevelObjects(); foreach (GameObject obj in objects) { if (obj.tag == "DestroyOnLoad") { obj.GetComponent <MeshRenderer>().enabled = true; } } switch (color) { case Constants.Color.None: foreach (GameObject obj in objects) { if (obj.tag == "DestroyOnLoad") { obj.GetComponent <MeshRenderer>().enabled = false; } } layers = new string[] { "Default", "Ground" }; break; case Constants.Color.White: { layers = new string[] { "Default", "Ground" }; break; } case Constants.Color.Red: case Constants.Color.Blue: case Constants.Color.Green: { layers = new string[] { "Default", "Ground", "White", color.ToString() }; break; } default: { break; } } PlayerMovement.Instance().groundMask = LayerMask.GetMask(layers); // Don't change current dimension when we are entering the forcefield if (color != Constants.Color.White) { currentDimension = color; } if (forcefield) { foreach (GameObject obj in objects) { Interactable interactable = obj.GetComponent <Interactable>(); if (interactable) { bool objectVisible = (interactable.color == Constants.Color.White || interactable.color == Constants.Color.None || interactable.color == color || color == Constants.Color.White) && color != Constants.Color.None; Physics.IgnoreCollision(obj.GetComponent <Collider>(), PlayerStateManager.Instance().gameObject.GetComponent <CharacterController>(), !objectVisible); DissolveScript dissolve = obj.GetComponent <DissolveScript>(); if (dissolve) { dissolve.SetDissolve(!objectVisible); } } } } if (color != Constants.Color.White) { foreach (ProfileContainer container in profileContainers) { if (container.dimension == currentDimension) { mainCamera.GetComponent <PostProcessVolume>().profile = container.profile; mainCamera.GetComponent <Skybox>().material = container.skybox; break; } } } return(oldDimension != color); }