示例#1
0
        public virtual void setCollisionComponent()
        {
            GameObjectTree columnTemp = activeColumns;

            //columnTemp.setCollisionComponent();
            while (columnTemp != null && columnTemp.getStatus() != Status.Active)
            {
                columnTemp = columnTemp.nextNode;
            }
            if (columnTemp != null)
            {
                float smallX = columnTemp.getCollisionComponent().getPosX();
                float largeX = smallX;
                float width  = columnTemp.getCollisionComponent().getWidth();
                float height = columnTemp.getCollisionComponent().getHeight();
                float y      = columnTemp.getCollisionComponent().getPosY();
                columnTemp = columnTemp.nextNode;
                while (columnTemp != null)
                {
                    if (columnTemp.getStatus() == Status.Active)
                    {
                        if (height < columnTemp.getCollisionComponent().getHeight())
                        {
                            height = columnTemp.getCollisionComponent().getHeight();
                            y      = columnTemp.getCollisionComponent().getPosY();
                        }
                        if (largeX < columnTemp.getCollisionComponent().getPosX())
                        {
                            largeX = columnTemp.getCollisionComponent().getPosX();
                        }
                        else if (smallX > columnTemp.getCollisionComponent().getPosX())
                        {
                            smallX = columnTemp.getCollisionComponent().getPosX();
                        }
                        columnTemp.getCollisionComponent();
                    }
                    else
                    {
                        Console.WriteLine("hi Tree");
                    }
                    columnTemp = columnTemp.nextNode;
                }

                collisionComponent.setTransformation(((largeX - smallX) / 2) + smallX, y, (largeX - smallX) + width, height);
            }
            else
            {
                currentStatus = Status.Inactive;
                collisionComponent.setStatus(Status.Inactive);
            }
        }
示例#2
0
 public void setStatus(Status status)
 {
     this.objectStatus = status;
     sprite.setStatus(status);
     collisionSprite.setStatus(status);
 }