Example #1
0
        public override void OnInspectorGUI()
        {
            _tdTile = (TdTile)target;

            base.OnInspectorGUI();
            DrawToggles();
        }
Example #2
0
        private void OnMouseDown()
        {
            var option = SelectedTowerOption.Option;

            var rayHit = GetRaycastHit();

            if (!rayHit.HasValue)
            {
                return;
            }
            var hit = rayHit.Value;

            if (option.SelectedTowerPrefab != null)
            {
                var tile = GetTile(hit);
                if (_lastTile != null && _lastTile != tile)
                {
                    _lastTile.StopHighlightTile();
                }

                _lastTile = tile;
                tile.ReadyToBuild();
            }
            else
            {
                if (_lastTile != null)
                {
                    _lastTile.StopHighlightTile();
                    _lastTile = null;
                }
            }

            SpellSpawner.IsReady = option.SelectedSpell != null;
        }
Example #3
0
 private void SetNextTarget(List <TdTile> targets)
 {
     _target = targets[GetRandom(0, targets.Count)];
     if (!_target.IsGoal)
     {
         _targetNoiseOffset = new Vector3(Random.Range(-RandomTargetOffset, RandomTargetOffset), Random.Range(-RandomTargetOffset, RandomTargetOffset), 0);
     }
 }
Example #4
0
        public void SetSpawnPoint(Transform sp, bool move)
        {
            _spawnpoint = sp;
            var position = sp.position;

            if (move)
            {
                var firstTargets = FindNearestTile(_tiles).NextTiles;
                transform.position = new Vector3(position.x, position.y);
                _target            = firstTargets[GetRandom(0, firstTargets.Count)];
            }
        }
Example #5
0
        private void OnMouseOver()
        {
            var option = SelectedTowerOption.Option;

            var rayHit = GetRaycastHit();

            if (!rayHit.HasValue)
            {
                return;
            }
            var hit = rayHit.Value;

            if (option.SelectedTowerPrefab != null)
            {
                var tile = GetTile(hit);

                if (_lastTile != null && _lastTile != tile)
                {
                    _lastTile.StopHighlightTile();
                }

                tile.HighlightTile();
                _lastTile = tile;
            }
            else
            {
                if (_lastTile != null)
                {
                    _lastTile.StopHighlightTile();
                }
                _lastTile = null;
            }

            if (option.SelectedSpell != null)
            {
                SpellCircle.gameObject.SetActive(true);
                SpellCircle.transform.position = new Vector3(hit.point.x, hit.point.y, -1);
                SpellCircle.UpdateCircle(SelectedTowerOption.Option.SelectedSpell.Spell.Range); // CHANGE THIS
            }
            else
            {
                SpellCircle.gameObject.SetActive(false);
            }
        }
Example #6
0
        private void OnMouseUp()
        {
            var option = SelectedTowerOption.Option;

            var rayHit = GetRaycastHit();

            if (!rayHit.HasValue)
            {
                return;
            }
            var hit = rayHit.Value;

            if (option.SelectedTowerPrefab != null)
            {
                var tile = GetTile(hit);
                if (tile == _lastTile && _lastTile != null)
                {
                    tile.Build(option.SelectedTowerPrefab.Tower);
                }
                else if (_lastTile != null)
                {
                    _lastTile.StopHighlightTile();
                }
            }

            _lastTile = null;

            if (option.SelectedSpell != null)
            {
                if (SpellSpawner.IsReady)
                {
                    SpellSpawner.IsReady = false;
                    SelectedTowerOption.Option.SelectedSpell.TryInstantiateSpell(SpellSpawner);
                }
            }
            else
            {
            }
        }
Example #7
0
 public TileWithDistance(TdTile tile, float distance)
 {
     Tile     = tile;
     Distance = distance;
 }
Example #8
0
 public TileWithCoordinates(int x, int y, TdTile tile)
 {
     Tile = tile;
     X    = x;
     Y    = y;
 }
Example #9
0
 public void BuildTower(TdTile tile)
 {
     tile.Build(Tower);
 }