//Whenever a new skill is added, have to include a skillType -> Constructor mapping for it // so that it can be added in the loadout setup phase public static Skill InstantiateNewSkill(SKILLTYPE skillType, Chr chr) { Skill skillNew = null; switch (skillType) { //TESTING case SKILLTYPE.LEECH: skillNew = new SkillLeech(chr); break; case SKILLTYPE.TRANSFUSE: skillNew = new SkillTransfuse(chr); break; case SKILLTYPE.KNOCKBACK: skillNew = new SkillKnockback(chr); break; case SKILLTYPE.ADVANCE: skillNew = new SkillAdvance(chr); break; case SKILLTYPE.BUNKER: skillNew = new SkillBunker(chr); break; case SKILLTYPE.FIREBALL: skillNew = new SkillFireball(chr); break; case SKILLTYPE.EXPLOSION: skillNew = new SkillExplosion(chr); break; case SKILLTYPE.HEAL: skillNew = new SkillHeal(chr); break; case SKILLTYPE.STRATEGIZE: skillNew = new SkillStrategize(chr); break; case SKILLTYPE.MANABLOSSOM: skillNew = new SkillManaBlossom(chr); break; //Fischer case SKILLTYPE.BUCKLERPARRY: skillNew = new SkillBucklerParry(chr); break; case SKILLTYPE.HARPOONGUN: skillNew = new SkillHarpoonGun(chr); break; case SKILLTYPE.HUNTERSQUARRY: skillNew = new SkillHuntersQuarry(chr); break; case SKILLTYPE.IMPALE: skillNew = new SkillImpale(chr); break; //Katarina case SKILLTYPE.CACOPHONY: skillNew = new SkillCacophony(chr); break; case SKILLTYPE.FORTISSIMO: skillNew = new SkillFortissimo(chr); break; case SKILLTYPE.REVERBERATE: skillNew = new SkillReverberate(chr); break; case SKILLTYPE.SERENADE: skillNew = new SkillSerenade(chr); break; //Pit Beast case SKILLTYPE.FORCEDEVOLUTION: skillNew = new SkillForcedEvolution(chr); break; case SKILLTYPE.SADISM: skillNew = new SkillSadism(chr); break; case SKILLTYPE.TANTRUM: skillNew = new SkillTantrum(chr); break; case SKILLTYPE.TENDRILSTAB: skillNew = new SkillTendrilStab(chr); break; //Rayne case SKILLTYPE.CHEERLEADER: skillNew = new SkillCheerleader(chr); break; case SKILLTYPE.CLOUDCUSHION: skillNew = new SkillCloudCushion(chr); break; case SKILLTYPE.SPIRITSLAP: skillNew = new SkillSpiritSlap(chr); break; case SKILLTYPE.THUNDERSTORM: skillNew = new SkillThunderStorm(chr); break; //Saiko case SKILLTYPE.AMBUSH: skillNew = new SkillAmbush(chr); break; case SKILLTYPE.SMOKECOVER: skillNew = new SkillSmokeCover(chr); break; case SKILLTYPE.STICKYBOMB: skillNew = new SkillStickyBomb(chr); break; case SKILLTYPE.TRANQUILIZE: skillNew = new SkillTranquilize(chr); break; //Sophidia case SKILLTYPE.HISS: skillNew = new SkillHiss(chr); break; case SKILLTYPE.HYDRASREGEN: skillNew = new SkillHydrasRegen(chr); break; case SKILLTYPE.TWINSNAKES: skillNew = new SkillTwinSnakes(chr); break; case SKILLTYPE.VENEMOUSBITE: skillNew = new SkillVenomousBite(chr); break; case SKILLTYPE.REST: skillNew = new SkillRest(chr); break; default: Debug.LogError("ERROR! No constructor for " + skillType + " exists!"); break; } return(skillNew); }
public void SkillOrderClick() { // スキルの待ち時間がある場合 if (skill_info_.CurrentWaitTurn > 0) { return; } if (skill_style_ == 1) { //instance skillAction SkillAction skill_action = this.gameObject.AddComponent <SkillAction>(); //impleachment parcticle /* GameObject skill_effect_go = Instantiate(skill_effect_prehab_, skill_effect_trans_); * skill_effect_go.transform.localPosition = Vector3.zero; * skill_effect_go.transform.localRotation = new Quaternion(); */ //スキルの効果を発動 skill_action.Setuo(skill_info_); skill_action.Setvalue(skill_damage_); skill_action.Entity = battle_main_.UserList[0]; skill_action.Target = battle_main_.UserList[0]; battle_main_.AddAction(skill_action); } else if (skill_style_ == 2) { SkillDefence skill_deffence = this.gameObject.AddComponent <SkillDefence>(); //スキルの効果を発動 skill_deffence.Setuo(skill_info_); skill_deffence.Setvalue(skill_damage_); skill_deffence.Entity = battle_main_.UserList[0]; skill_deffence.Target = battle_main_.UserList[0]; battle_main_.AddAction(skill_deffence); } else if (skill_style_ == 3) { SkillDebuff skill_debuff = this.gameObject.AddComponent <SkillDebuff>(); /*GameObject skill_effect_go = Instantiate(skill_effect_prehab_, skill_effect_trans_); * skill_effect_go.transform.localPosition = Vector3.zero; * skill_effect_go.transform.localRotation = new Quaternion(); */ //スキルの効果を発動 skill_debuff.Setuo(skill_info_); skill_debuff.Setvalue(skill_damage_); skill_debuff.Entity = battle_main_.EnemyList[0]; skill_debuff.Target = battle_main_.EnemyList[0]; battle_main_.AddAction(skill_debuff); } else if (skill_style_ == 4) { SkillHeal skill_heal = this.gameObject.AddComponent <SkillHeal>(); skill_heal.Setuo(skill_info_); skill_heal.Entity = battle_main_.UserList[0]; skill_heal.Target = battle_main_.UserList[0]; battle_main_.AddAction(skill_heal); } else if (skill_style_ == 0) { Debug.Log("null!"); } if (skill_set_callback_ != null) { skill_set_callback_(); } // スキル実行後はスキルの待機時間を設定 skill_info_.CurrentWaitTurn = skill_info_.WaitTurn; }