// called when a collision was detected by the polygon collider 2d of the character void OnTriggerEnter2D(Collider2D col) { TriggerPointEventArgs args = new TriggerPointEventArgs(); args.Collider = col; args.TimeOfCollision = Time.time; OnCollisionDetected(args); }
void TriggerPointTriggered(object sender, TriggerPointEventArgs e) { if (_mainSpawnAreaIsFree) { return; } // wenn trigger was triggerd by last spawned object then set the spawn area to free if (_lastSpawnedObject != null && _lastSpawnedObject.GetComponent <PolygonCollider2D>().Equals(e.Collider)) { _mainSpawnAreaIsFree = true; _lastSpawnedObject = null; } }
protected virtual void OnCollisionDetected(TriggerPointEventArgs e) { TriggerPointCollisionDetected?.Invoke(this, e); }