private void OnTileTriggerExit(object sender, Tile.TileEventArgs args) { // временное решение проблемы со срабатыванием коллизий при старте if (Time.realtimeSinceStartup < 10) { return; } Debug.Log(string.Format("{0} has trigger exited {1}", args.Tile.name, args.Collider.name)); var tower = args.Collider.GetComponentInParent <Tower>(); if (tower != null) // проверяем, что коллизия произошла с башней и устанавливаем ей цвет по молчанию { tower.SetDefaultColor(); } }
private void OnTileTriggerEnter(object sender, Tile.TileEventArgs args) { // временное решение проблемы со срабатыванием коллизий при старте if (Time.realtimeSinceStartup < 10) { return; } Debug.Log(string.Format("{0} has trigger enter {1}", args.Tile.name, args.Collider.name)); var tower = args.Collider.GetComponentInParent <Tower>(); if (tower != null) // проверяем, что коллизия произошла с башней, отвязываем от маркера и задаем цвет { var tile = args.Tile; if (tile.Type == Tile.TileType.Grass && !_anchoredTowers.Contains(tower)) { _markerController.SetContentAnchored(tower.gameObject, false); tower.SetErrorColor(); tower.SetPosition(tile.Anchor.position); tower.SetRotation(tile.Anchor.rotation); _anchoredTowers.Add(tower); } } }