public void OnTrigger(GateCollider collider, int id) { if (collider.Equals(frontCollider)) { if (!passedFirst.Contains(id)) { Debug.Log("Passed 1"); passedFirst.Add(id); StartCoroutine(RemoveID(id, 1)); } } else //second collider { if (passedFirst.Contains(id)) { Debug.Log("Passed 2"); manager.OnGatePassed(this, id); passedFirst.Remove(id); } } }
public static void Create(BlobBuilder builder, HitObject src, ref BlobPtr <Collider> dest) { switch (src) { case TriggerHitCircle triggerHitCircle: CircleCollider.Create(builder, triggerHitCircle, ref dest, ColliderType.TriggerCircle); break; case TriggerHitLineSeg triggerHitLine: LineCollider.Create(builder, triggerHitLine, ref dest, ColliderType.TriggerLine); break; case BumperHit bumperHit: CircleCollider.Create(builder, bumperHit, ref dest, ColliderType.Bumper); break; case HitCircle hitCircle: CircleCollider.Create(builder, hitCircle, ref dest); break; case LineSegSlingshot lineSegSlingshot: LineSlingshotCollider.Create(builder, lineSegSlingshot, ref dest); break; case FlipperHit flipperHit: FlipperCollider.Create(builder, flipperHit, ref dest); break; case GateHit gateHit: GateCollider.Create(builder, gateHit, ref dest); break; case LineSeg lineSeg: LineCollider.Create(builder, lineSeg, ref dest); break; case HitLine3D hitLine3D: Line3DCollider.Create(builder, hitLine3D, ref dest); break; case HitLineZ hitLineZ: LineZCollider.Create(builder, hitLineZ, ref dest); break; case HitPoint hitPoint: PointCollider.Create(builder, hitPoint, ref dest); break; case Hit3DPoly hit3DPoly: Poly3DCollider.Create(builder, hit3DPoly, ref dest); break; case HitPlane hitPlane: PlaneCollider.Create(builder, hitPlane, ref dest); break; case PlungerHit plungerCollider: PlungerCollider.Create(builder, plungerCollider, ref dest); break; case SpinnerHit spinnerHit: SpinnerCollider.Create(builder, spinnerHit, ref dest); break; case HitTriangle hitTriangle: TriangleCollider.Create(builder, hitTriangle, ref dest); break; default: Logger.Warn("Unknown collider {0}, skipping.", src.GetType().Name); break; } }
void Start() { // Make sure same number of prefabs as maxNumEnemy if (monsterPrefabs.Length != maxNumEnemy.Length) { Debug.Log("Error in MonsterGenerator: size of maxNumEnemy must be the same as monsterPrefabs."); Application.Quit(); } // Set current monster counts to 0 currNumEnemy = new int[maxNumEnemy.Length]; for (int i = 0; i < currNumEnemy.Length; ++i) currNumEnemy [i] = 0; allMonsters = new List<GameObject> (); gc = gateCollider.GetComponent<GateCollider> (); }