예제 #1
0
 /*
  * 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);
 }
예제 #2
0
 /*
  * 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);
 }
예제 #3
0
 /*
  * 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();
     }
 }
예제 #4
0
 /*
  * 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();
     }
 }