void Start() { parent = GetComponentInParent <IGraphComponent>(); Assert.IsNotNull(parent); OnValidate(); if (attachedCollider) { switch (collisionMode) { case GraphCollisionMode.Solid: attachedCollider.enabled = true; attachedCollider.isTrigger = false; break; case GraphCollisionMode.Intangible: attachedCollider.enabled = false; break; case GraphCollisionMode.DeathZone: attachedCollider.enabled = true; attachedCollider.isTrigger = true; break; } } }
public void Add(IGraphComponent component) { switch (component) { case TVertex vertex: Add(vertex); break; case TEdge edge: Add(edge); break; default: throw new ArgumentException($"Unknown type: {component.GetType().FullName}"); } }