private void OnValidate()
 {
     if (!Application.isPlaying)
     {
         if (Box2DBounds == null)
         {
             Box2DBounds    = (CollisionFactory.Box2DBounds)CollisionFactory.GetNewBoundsInstance(CollisionFactory.ECollisionShape.BOX);
             PreviousBounds = CollisionFactory.GetNewBoundsInstance(Box2DBounds.CollisionShape);
         }
     }
 }
 protected override void Awake()
 {
     Box2DBounds = (CollisionFactory.Box2DBounds)CollisionFactory.GetNewBoundsInstance(CollisionFactory.ECollisionShape.BOX);
     if (AssignedCollisionType == ECollisionType.PHYSICS)
     {
         Box2DBounds.BufferBounds = BufferSizePhysicsCollision;
         PhysicsBoxBounds         = (CollisionFactory.Box2DBounds)CollisionFactory.GetNewBoundsInstance(CollisionFactory.ECollisionShape.BOX);
     }
     AssignBoundsToCollider(Box2DBounds);
     base.Awake();
 }
 private void OnDrawGizmos()
 {
     #if UNITY_EDITOR
     if (Box2DBounds == null)
     {
         Box2DBounds = (CollisionFactory.Box2DBounds)CollisionFactory.GetNewBoundsInstance(CollisionFactory.ECollisionShape.BOX);
     }
     if (!Application.isPlaying)
     {
         UpdateHitboxBounds();
     }
     Color ColorWithTransparency = DebugDrawColor;
     ColorWithTransparency.a = .2f;
     UnityEditor.Handles.DrawSolidRectangleWithOutline(Box2DBounds.GetVerticies(), ColorWithTransparency, DebugDrawColor);
     #endif
 }
 protected virtual void Awake()
 {
     GameOverseer.Instance.PhysicsManager.AddCollider2DToPhysicsManager(this);
     AssociatedPhysicsComponent = GetComponent <CustomPhysics2D>();
     if (AssociatedPhysicsComponent && AssignedCollisionType != ECollisionType.PHYSICS)
     {
         Debug.LogWarning("Your collider contains a physics component, but is not set to CollisionType - 'Physics'. Are you sure this is correct?");
     }
     else if (!AssociatedPhysicsComponent && AssignedCollisionType == ECollisionType.PHYSICS)
     {
         Debug.LogWarning("You collider does not contain a Physics component, but is assigned to CollisionType - 'Physics'. This can not work");
     }
     PreviousBounds = CollisionFactory.GetNewBoundsInstance(AssociatedBounds.CollisionShape);
     UpdateColliderBounds();                          //We want to update the collider bounds on awake
     PreviousBounds.CopyBoundsFrom(AssociatedBounds); //Make an exact copy for the first iteration
 }
    private void OnDrawGizmos()
    {
        if (!Application.isPlaying)
        {
            if (Box2DBounds == null)
            {
                Box2DBounds = (CollisionFactory.Box2DBounds)CollisionFactory.GetNewBoundsInstance(CollisionFactory.ECollisionShape.BOX);
            }
            UpdateColliderBounds();
        }

        DrawBoxColliderBounds(Box2DBounds, DebugColliderColor);
        if (PhysicsBoxBounds != null)
        {
            DrawBoxColliderBounds(PhysicsBoxBounds, Color.red);
        }
    }
 protected override void Awake()
 {
     base.Awake();
     Box2DBounds = (CollisionFactory.Box2DBounds)CollisionFactory.GetNewBoundsInstance(CollisionFactory.ECollisionShape.BOX);
     AssignHitboxBounds(Box2DBounds);
 }