Пример #1
0
 //clickNumber: some skills need to be used more than once [for instance 'smokeTeleport']
 public void performSkill(Character character, int skill, Vector3 mousePos, Character targetCharacter)
 {
     if (skill == Constants.bomb)
     {
         GameObject newBomb = Instantiate(bombPrefab, character.transform.position, Quaternion.identity) as GameObject;
         newBomb.transform.parent = character.transform;
         BombSkill bomb = newBomb.GetComponent <BombSkill>();
         bomb.setParameters(character, mousePos);
         bomb.startSkill();
     }
     else if (skill == Constants.smokeTeleport)
     {
         SmokeTeleport smoke = character.GetComponentInChildren <SmokeTeleport>();
         if (smoke == null)
         {
             GameObject newSmoke = Instantiate(smokePrefab, character.transform.position, Quaternion.identity) as GameObject;
             newSmoke.transform.parent = character.transform;
             smoke = newSmoke.GetComponent <SmokeTeleport>();
             smoke.setParameters(character, mousePos);
             smoke.startSkill();
         }
         else
         {
             smoke.setParameters(character, mousePos);
             smoke.secondCast();
         }
     }
     else if (skill == Constants.magicMirror)
     {
         GameObject newMagicMirror = Instantiate(magicMirrorPrefab, character.transform.position, Quaternion.identity) as GameObject;
         newMagicMirror.transform.parent = character.transform;
         MagicMirror mm = newMagicMirror.GetComponent <MagicMirror>();
         mm.setParameters(character);
         mm.startSkill();
     }
     else if (skill == Constants.earthquake)
     {
         GameObject newEarthquake = Instantiate(earthquakePrefab, character.transform.position, Quaternion.identity) as GameObject;
         newEarthquake.transform.parent = character.transform;
         EarthquakeSkill earthquake = newEarthquake.GetComponent <EarthquakeSkill>();
         earthquake.setParameters(character, mousePos);
         earthquake.startSkill();
     }
     else if (skill == Constants.heal)
     {
         GameObject newHeal = Instantiate(healPrefab, character.transform.position, Quaternion.identity) as GameObject;
         newHeal.transform.parent = character.transform;
         HealSkill heal = newHeal.GetComponent <HealSkill>();
         heal.setParameters(character, targetCharacter);
         heal.startSkill();
     }
     else if (skill == Constants.fireball)
     {
         GameObject newFireball = Instantiate(fireballPrefab, character.transform.position, Quaternion.identity) as GameObject;
         newFireball.transform.parent = character.transform;
         FireballSkill fireball = newFireball.GetComponent <FireballSkill>();
         fireball.setParameters(character, mousePos);
         fireball.startSkill();
     }
 }