public void Init(FContainer container, uint color, bool shouldUpdateColliders) { _container = container; _container.AddChild(_drawHolder = new FContainer()); _color = RXUtils.GetColorFromHex(color); this.shouldUpdateColliders = shouldUpdateColliders; Collider[] colliders = gameObject.GetComponents <Collider>(); int colliderCount = colliders.Length; for (int c = 0; c < colliderCount; c++) { Collider collider = colliders[c]; FNode newNode = null; if (collider is BoxCollider) { FSprite sprite = new FSprite("Debug/Square"); sprite.color = _color; newNode = sprite; } else if (collider is SphereCollider) { FSprite sprite = new FSprite("Debug/Circle"); sprite.color = _color; newNode = sprite; } if (newNode != null) { _drawHolder.AddChild(newNode); _nodes.Add(newNode); } } FPPolygonalCollider mesh2D = gameObject.GetComponent <FPPolygonalCollider>(); if (mesh2D != null) { FPDebugPolygonColliderView debugView = new FPDebugPolygonColliderView("Debug/Triangle", mesh2D); debugView.color = _color; _drawHolder.AddChild(debugView); _nodes.Add(debugView); } Update(); if (!shouldUpdateColliders) { UpdateColliders(); //always update the colliders the first time } }
public void Init(FContainer container, uint color, bool shouldUpdateColliders) { _container = container; _container.AddChild(_drawHolder = new FContainer()); _color = RXUtils.GetColorFromHex(color); this.shouldUpdateColliders = shouldUpdateColliders; Collider[] colliders = gameObject.GetComponents<Collider>(); int colliderCount = colliders.Length; for(int c = 0; c<colliderCount; c++) { Collider collider = colliders[c]; FNode newNode = null; if(collider is BoxCollider) { FSprite sprite = new FSprite("Debug/Square"); sprite.color = _color; newNode = sprite; } else if(collider is SphereCollider) { FSprite sprite = new FSprite("Debug/Circle"); sprite.color = _color; newNode = sprite; } if(newNode != null) { _drawHolder.AddChild(newNode); _nodes.Add(newNode); } } FPPolygonalCollider mesh2D = gameObject.GetComponent<FPPolygonalCollider>(); if(mesh2D != null) { FPDebugPolygonColliderView debugView = new FPDebugPolygonColliderView("Debug/Triangle", mesh2D); debugView.color = _color; _drawHolder.AddChild(debugView); _nodes.Add(debugView); } Update(); if(!shouldUpdateColliders) UpdateColliders(); //always update the colliders the first time }