コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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);
                }
            }
        }