Exemplo n.º 1
0
        public override void performLowest(int column)
        {
            GameObjectTree temp = activeColumns;

            while (temp != null && temp.getStatus() == Status.Inactive)
            {
                temp = temp.nextNode;
            }
            GameObjectTree check = temp;

            while (temp != null)
            {
                if (temp.getStatus() == Status.Active)
                {
                    if (temp.getPosY() < check.getPosY())
                    {
                        check = temp;
                    }
                }
                temp = temp.nextNode;
            }
            if (check != null)
            {
                check.performLowest(column);
            }
        }
Exemplo n.º 2
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);
            }
        }
Exemplo n.º 3
0
        public override void setCollisionComponent()
        {
            GameObjectTree columnTemp = activeColumns;

            while (columnTemp != null && columnTemp.getStatus() != Status.Active)
            {
                columnTemp = columnTemp.nextNode;
            }
            if (columnTemp != null)
            {
                float x      = columnTemp.getCollisionComponent().getPosX();
                float width  = columnTemp.getCollisionComponent().getWidth();
                float height = columnTemp.getCollisionComponent().getHeight();
                float lowY   = columnTemp.getCollisionComponent().getPosY();
                float highY  = columnTemp.getCollisionComponent().getPosY();
                columnTemp = columnTemp.nextNode;
                while (columnTemp != null)
                {
                    if (columnTemp.getStatus() == Status.Active)
                    {
                        if (lowY > columnTemp.getCollisionComponent().getPosY())
                        {
                            lowY = columnTemp.getCollisionComponent().getPosY();
                        }
                        else if (highY < columnTemp.getCollisionComponent().getPosY())
                        {
                            highY = columnTemp.getCollisionComponent().getPosY();
                        }
                        columnTemp.getCollisionComponent();
                    }
                    else
                    {
                        Console.WriteLine("hi");
                    }
                    columnTemp = columnTemp.nextNode;
                }
                collisionComponent.setTransformation(x, ((highY - lowY) / 2) + lowY, width, (highY - lowY) + height);
            }
            else
            {
                collisionComponent.setStatus(Status.Inactive);
                currentStatus = Status.Inactive;
            }
        }
Exemplo n.º 4
0
        public virtual void performLowest(int column)
        {
            GameObjectTree temp = activeColumns;

            while (temp.nextNode != null && temp.getNum() != column)
            {
                temp = temp.nextNode;
            }
            if (temp.getStatus() == Status.Active)
            {
                temp.performLowest(column);
            }
        }
Exemplo n.º 5
0
 public virtual void checkGameObjectTreeCollision(GameObjectTree tree)
 {
     if (tree.getCollisionComponent().checkCollision(this.collisionComponent, tree.getCollisionComponent()))
     {
         GameObjectTree columnTemp = activeColumns;
         while (columnTemp != null)
         {
             if (columnTemp.getStatus() == Status.Active)
             {
                 columnTemp.checkGameObjectTreeCollision(tree);
             }
             columnTemp = columnTemp.nextNode;
         }
     }
 }
Exemplo n.º 6
0
 public virtual bool checkProjectileCollision(Projectile projectile)
 {
     if (projectile.getCollisionComponent().checkCollision(this.collisionComponent, projectile.getCollisionComponent()))
     {
         GameObjectTree columnTemp = activeColumns;
         while (columnTemp != null)
         {
             if (columnTemp.getStatus() == Status.Active)
             {
                 if (columnTemp.checkProjectileCollision(projectile))
                 {
                     return(true);
                 }
             }
             columnTemp = columnTemp.nextNode;
         }
     }
     return(false);
 }
Exemplo n.º 7
0
 public virtual int totalActive()
 {
     if (this.currentStatus == Status.Active)
     {
         int            i          = 0;
         GameObjectTree columnTemp = activeColumns;
         while (columnTemp != null)
         {
             if (columnTemp.getStatus() == Status.Active)
             {
                 i = i + columnTemp.totalActive();
             }
             columnTemp = columnTemp.nextNode;
         }
         return(i);
     }
     else
     {
         return(0);
     }
 }
Exemplo n.º 8
0
 public Status getStatus()
 {
     return(alienTree.getStatus());
 }