/* * Initializes position to spawn new spike */ public void init(Lane spawnLane, Swirlie swirlie, Spike parent = null) { _swirlie = swirlie; _parent = parent; _head = getHead(); _invulnerable = swirlie != null; if (_parent == null) { gameObject.transform.position = (spawnLane.Front - spawnLane.Back) * DEFAULT_DIST_FROM_BACK + spawnLane.Back; } else { gameObject.transform.position = (spawnLane.Front - _parent.gameObject.transform.position).normalized * spikePrefab.renderer.bounds.size.x + _parent.gameObject.transform.position; } swirlie.TailSpike = this; _startTime = Time.time; _currentLane = spawnLane; _alive = true; transform.rotation = Quaternion.LookRotation(_currentLane.Normal); }
/* * Initializes position to spawn new spike */ public void init(Lane spawnLane, Swirlie swirlie, Spike parent = null) { _swirlie = swirlie; _parent = parent; _head = getHead(); _invulnerable = swirlie != null; if (_parent == null) { gameObject.transform.position = (spawnLane.Front - spawnLane.Back) * DEFAULT_DIST_FROM_BACK + spawnLane.Back; } else { gameObject.transform.position = (spawnLane.Front - _parent.gameObject.transform.position).normalized * spikePrefab.renderer.bounds.size.x + _parent.gameObject.transform.position; } swirlie.TailSpike = this; _startTime = Time.time; _currentLane = spawnLane; _alive = true; transform.rotation = Quaternion.LookRotation(_currentLane.Normal); }
/* * Toggles invulnerability depending on whether swirlie is still alive * Checks for max spike count * Adds spikes after time duration */ void Update() { if (_swirlie == null) { _invulnerable = false; } else if (_swirlie.gameObject == null) { _swirlie = null; _invulnerable = false; } gameObject.collider.enabled = !_invulnerable; if (_head.NumOfSpikes > MAX_SPIKE_COUNT - 2 || _child != null) { return; } if (Time.time > _startTime + SPAWN_NEXT_SPIKE_DURATION) { AddSpike(); } }
/* * Toggles invulnerability depending on whether swirlie is still alive * Checks for max spike count * Adds spikes after time duration */ void Update() { if (_swirlie == null) { _invulnerable = false; } else if (_swirlie.gameObject == null) { _swirlie = null; _invulnerable = false; } gameObject.collider.enabled = !_invulnerable; if (_head.NumOfSpikes > MAX_SPIKE_COUNT - 2 || _child != null) { return; } if (Time.time > _startTime + SPAWN_NEXT_SPIKE_DURATION) { AddSpike(); } }