Ejemplo n.º 1
0
 //any changes to state as a result of clobber are added to storedStateChangeObject
 private void clobber(int row, int collumn, int animationTime)
 {
     if (hostSet != null)
     {
         BaseEnemy target = hostSet.getEnemyAt(row, collumn);
         if (target != null)
         {
             if (target.type == InteractableObject.ObjectType.ANGRY)
             {
                 storedStateChangeObject.add(((Ghost)target).explode());
             }
             else
             {
                 if (target.type != InteractableObject.ObjectType.GHOST)
                 {
                     target.removeThis();
                     Ghost newGhost = new Ghost(BaseCode.activeLibrary);
                     newGhost.setCenter(target.getCenterX(), target.getCenterY());
                     newGhost.revealType(0);
                     hostSet.addEnemy(newGhost, row, collumn);
                     newGhost.setAnimationTarget(row, collumn);
                     newGhost.revealType(animationTime);
                 }
                 else
                 {
                     target.revealType(animationTime);
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Will Bite a Random Enemy on the current Row
  * @return the Score Decrement as a result of the Bite
  */
 private void BiteTarget(BaseEnemy target)
 {
     if (hostSet != null && target != null)
     {
         EnemySoundManager.requestSound(EnemySoundManager.SoundType.DRACKULA_ATTACK);
         //Target is Ghost
         //Making Angry
         if (target.type == InteractableObject.ObjectType.GHOST)
         {
             //if not revealed
             if (!target.isTypeRevealed)
             {
                 target.revealType(0);
             }
             ((Ghost)target).MakeAngry();
         }
         //Target is already an angry Ghost
         else if (target.type == InteractableObject.ObjectType.ANGRY)
         {
             //if not revealed
             if (!target.isTypeRevealed)
             {
                 target.revealType(0);
             }
             ((Ghost)target).explode();
             removeThis();
         }
         //Target is not an Angry Ghost
         //Removing Target and Making it an angry Ghost
         else if (target != this && target.type != InteractableObject.ObjectType.CAT)
         {
             target.removeThis();
             Ghost angryGhost = new Ghost(BaseCode.activeLibrary);
             angryGhost.revealType(0);
             hostSet.addEnemy(angryGhost, currentRow, targetEnemyCollumn);
             angryGhost.setCenter(base.getCenterX(), base.getCenterY());
             angryGhost.setAnimationTarget(currentRow, targetEnemyCollumn);
         }
     }
     if (currentTarget != null)
     {
         currentTarget.removeNode();
         currentTarget = null;
     }
     targetEnemyCollumn = -1;
 }