///<summary> /// Change the material for highlightMaterial if this gameObject is highlighted. ///</summary> ///<param name="e">The event's instance</param> private void ToggleHighlight(HighlightEvent e) { if (e.obj.Equals(gameObject)) { isHighlighted = !isHighlighted; EventManager.Instance.Raise(new HighlightEvent { obj = transform.parent.gameObject }); if (isHighlighted) { SetMaterial(highlightMaterial); } else { if (e.obj.GetComponent <OObject>().category.Equals("corridor")) { SetMaterial(transparentMaterial); } else { SetMaterial(defaultMaterial); } transform.GetChild(0).GetComponent <Renderer>().material.color = e.obj.GetComponent <OObject>().color; } } }
private void HighlightTarget(Tile target) { List <Tile> targets = new List <Tile>() { target }; HighlightEvent e = new HighlightEvent(HighlightSelection.Sub, targets); EventManager.Instance.Raise <HighlightEvent>(e); }
private void HighlightPathTiles() { if (path == null || path.Current == null) { return; } List <Tile> tiles = (path.Tiles).ToList(); HighlightEvent e = new HighlightEvent(HighlightSelection.Sub, tiles); EventManager.Instance.Raise <HighlightEvent>(e); }
private void OnHighlightEvent(HighlightEvent e) { if (e.Selection == HighlightSelection.Main) { ToggleHighlight(false, HighlightSelection.Main); mainSelection = e.Tiles; if (mainSelection != null) { ToggleHighlight(true, HighlightSelection.Main); } } else { ToggleHighlight(false, HighlightSelection.Sub); ToggleHighlight(true, HighlightSelection.Main); subSelection = e.Tiles; if (subSelection != null) { ToggleHighlight(true, HighlightSelection.Sub); } } }
private void HighlightNeighbors(List <Tile> neighbors, bool isOn) { HighlightEvent e = new HighlightEvent(HighlightSelection.Main, neighbors); EventManager.Instance.Raise <HighlightEvent>(e); }