public override void Initialize(GameObject owner, Transform directionOwner, int team,
                                        BoxShapes shape, HitInfoBase hitInfo, BoxDefinitionBase boxDefinitionBase, List <IHurtable> ignoreList = null)
        {
            this.owner          = owner;
            this.directionOwner = directionOwner;
            this.ignoreList     = ignoreList;
            this.hitInfo        = hitInfo;

            BoxDefinition boxDefinition = (BoxDefinition)boxDefinitionBase;

            switch (shape)
            {
            case BoxShapes.Rectangle:
                CreateRectangle(boxDefinition.size);
                break;

            case BoxShapes.Circle:
                CreateCircle(boxDefinition.radius);
                break;

            case BoxShapes.Capsule:
                CreateCapsule(boxDefinition.radius, boxDefinition.height);
                break;
            }
        }
 public BoxDefinitionBase(BoxDefinitionBase other)
 {
 }
 public abstract void Initialize(GameObject owner, Transform directionOwner, int team,
                                 BoxShapes shape, HitInfoBase hitInfo, BoxDefinitionBase boxDefinition, List <IHurtable> ignoreList = null);