/// <summary> /// called whenever a change occurs to a tile's TileType and updates SpriteRenderer /// </summary> /// <param name="tile_data">Tile Data, which holds the info needed to be applied</param> void OnTileChanged(Tile t) { if (tileGameObjMap.ContainsKey(t) == false) { Debug.Log("OnTileChanged - Doesn't contain tile_data."); return; } GameObject tile_go = tileGameObjMap[t]; if (tile_go == null) { Debug.Log("OnTileChanged - tileGameObjectMap returned GameObject is null"); return; } if (WorldController.Instance.World.tileTypeSpriteMap.ContainsKey(t.Type) == false) { Debug.LogError("Update: Missing Key in tileTypeSpriteMap!"); return; } Sprite tileSprite = WorldController.Instance.World.tileTypeSpriteMap[t.Type]; SpriteRenderer tile_sr = tile_go.GetComponent <SpriteRenderer>(); tile_sr.sprite = tileSprite; if (tile_sr.color != Color.white) { ToggleColorState active = ToggleColorState.GetActive(); if (active != null && active.GetConnectedObj() == tile_go) { active.ChangeColor(Color.white); if (t.Type != TileType.Empty && t.Type != TileType.Grid) { active.SetConnectedObj(tile_go); } else { active.SetConnectedObj(null); } } else { tile_sr.GetComponent <SpriteRenderer>().color = Color.white; } } Quaternion rot = Quaternion.identity; rot.eulerAngles = new Vector3(90f, 90f * t.RotLevel, 0f); tile_go.transform.rotation = rot; Debug.Log(t.x + "_" + t.y + "_" + t.Type.ToString() + "_" + t.world.GetRoomID(t.room)); }
void Update() { if (toggle.isOn == true) { if (isOn == false || prevCurrSelectedObj != mc.currSelectedObj || prevCurrSelectedTileGameObj != mc.currSelectedTileGameObj || activeObject.gameObject != ToggleColorState.GetActive().gameObject || ToggleColorState.GetActive().changed == true) { activeObject = ToggleColorState.GetActive(); if (activeObject != null) { Vector3 hsv = RGBToHSV(activeObject.gameObject.GetComponent <Image>().color.r, activeObject.gameObject.GetComponent <Image>().color.g, activeObject.gameObject.GetComponent <Image>().color.b); hSlide.GetComponent <Slider> ().value = (hsv.x / 360); sSlide.GetComponent <Slider> ().value = hsv.y; vSlide.GetComponent <Slider> ().value = hsv.z; } else { hSlide.GetComponent <Slider> ().value = 0f; sSlide.GetComponent <Slider> ().value = 0f; vSlide.GetComponent <Slider> ().value = 0.5f; } isOn = true; prevCurrSelectedObj = mc.currSelectedObj; prevCurrSelectedTileGameObj = mc.currSelectedTileGameObj; } toggle.transform.GetChild(2).GetComponent <Text> ().color = new Color(0.46666667f, 0.46666667f, 0.46666667f, 255); toggle.transform.GetChild(1).GetComponent <Text> ().color = new Color(0.8f, 0.8f, 0.8f, 255); rSlide.gameObject.SetActive(false); gSlide.gameObject.SetActive(false); bSlide.gameObject.SetActive(false); hSlide.gameObject.SetActive(true); sSlide.gameObject.SetActive(true); vSlide.gameObject.SetActive(true); hVal = hSlide.GetComponent <Slider> ().value * 360; sVal = sSlide.GetComponent <Slider> ().value; vVal = vSlide.GetComponent <Slider> ().value; Vector3 rgb = HSVToRGB(hVal, sVal, vVal); colorFinal = new Color((rgb.x + M), (rgb.y + M), (rgb.z + M)); sSlide.GetComponentInChildren <Image> ().color = colorFinal; vSlide.GetComponentInChildren <Image> ().color = colorFinal; } else { if (isOn == true || prevCurrSelectedObj != mc.currSelectedObj || activeObject.gameObject != ToggleColorState.GetActive().gameObject || ToggleColorState.GetActive().changed == true) { activeObject = ToggleColorState.GetActive(); if (activeObject != null) { rSlide.GetComponent <Slider> ().value = activeObject.gameObject.GetComponent <Image>().color.r; gSlide.GetComponent <Slider> ().value = activeObject.gameObject.GetComponent <Image>().color.g; bSlide.GetComponent <Slider> ().value = activeObject.gameObject.GetComponent <Image>().color.b; } else { rSlide.GetComponent <Slider> ().value = 0.5f; gSlide.GetComponent <Slider> ().value = 0.5f; bSlide.GetComponent <Slider> ().value = 0.5f; } isOn = false; prevCurrSelectedObj = mc.currSelectedObj; activeObject = ToggleColorState.GetActive(); } toggle.transform.GetChild(1).GetComponent <Text> ().color = new Color(0.46666667f, 0.46666667f, 0.46666667f, 255); toggle.transform.GetChild(2).GetComponent <Text> ().color = new Color(0.8f, 0.8f, 0.8f, 255); hSlide.gameObject.SetActive(false); sSlide.gameObject.SetActive(false); vSlide.gameObject.SetActive(false); rSlide.gameObject.SetActive(true); gSlide.gameObject.SetActive(true); bSlide.gameObject.SetActive(true); rVal = rSlide.GetComponent <Slider> ().value; gVal = gSlide.GetComponent <Slider> ().value; bVal = bSlide.GetComponent <Slider> ().value; colorFinal = new Color(rVal, gVal, bVal); } activeObject.ChangeColor(colorFinal); }