public void UseSkill(int button_number) { int use_skillnumber = number_dic[button_number]; if (skillDataNow.Count < 8) { return; } if (isSkill) { return; } for (int i = 0; i < skillDataNow.Count; i++) { if (skillDataNow[i].user_particle == null) { return; } } enemy = near_enemy(gameObject); animator.SetTrigger("Skill1"); //使用時のエフェクト GameObject user_obj = Instantiate(skillDataNow[use_skillnumber].user_particle, this.transform.position, skillDataNow[use_skillnumber].user_particle.transform.rotation); Destroy(user_obj, skillDataNow[use_skillnumber].user_particle_destroy_time); Debug.Log("No2"); //魔法弾系統 if (skillDataNow[use_skillnumber].isInstantiate) { //回復系統の玉 if (skillDataNow[use_skillnumber].isLifeRecoverSkill) { GameObject _obj = Instantiate(skillDataNow[use_skillnumber].bullet_obj, this.transform.position, this.transform.rotation); PlayerMagicControl mag = _obj.GetComponent <PlayerMagicControl>(); mag._power = skillDataNow[use_skillnumber].power; mag.isBullet = true; mag.isLifeRecoverSkill = true; mag.target = this.transform.gameObject; return; } //敵の体内に生成 if (skillDataNow[use_skillnumber].isEnemyInside) { //敵の位置に生成する攻撃魔法 if (!enemy) { return; } this.transform.LookAt(enemy.transform); GameObject obj = Instantiate(skillDataNow[use_skillnumber].bullet_obj, enemy.transform.position, Quaternion.identity); PlayerMagicControl mag = obj.GetComponent <PlayerMagicControl>(); mag._power = skillDataNow[use_skillnumber].power; } else//射出式 { if (!enemy) { return; } this.transform.LookAt(enemy.transform); GameObject obj = Instantiate(skillDataNow[use_skillnumber].bullet_obj, magic_pos.transform.position, this.transform.rotation); PlayerMagicControl mag = obj.GetComponent <PlayerMagicControl>(); mag._power = skillDataNow[use_skillnumber].power; mag.isBullet = true; mag.target = enemy; } } else { //実体のないバフ系統 if (skillDataNow[use_skillnumber].isLifeRecoverSkill) { switch (skillDataNow[use_skillnumber].buffType) { case SkillData.BuffType.None: break; case SkillData.BuffType.Attacker: playerStatus.condition = PlayerStatus.Condition.Attacker; break; case SkillData.BuffType.Defencer: playerStatus.condition = PlayerStatus.Condition.Defencer; break; } } } }
public void UseLifeSkillSelect(int r) { r = Random.Range(0, lifeSkillData.Count); //使用時のエフェクト GameObject user_obj = Instantiate(lifeSkillData[r].user_particle, this.transform.position, skilldata[r].user_particle.transform.rotation); Destroy(user_obj, skilldata[r].user_particle_destroy_time); //魔法弾系統 if (skilldata[r].isInstantiate) { //回復系統の玉 if (skilldata[r].isLifeRecoverSkill) { GameObject _obj = Instantiate(skilldata[r].bullet_obj, this.transform.position, this.transform.rotation); PlayerMagicControl mag = _obj.GetComponent <PlayerMagicControl>(); mag._power = skilldata[r].power; mag.isBullet = true; mag.isLifeRecoverSkill = true; if (!controller.player) { mag.target = this.transform.gameObject; } else { this.transform.LookAt(controller.player.transform); mag.target = controller.player; } return; } //敵の体内に生成 if (skilldata[r].isEnemyInside) { //敵の位置に生成する攻撃魔法 if (!controller.enemy) { return; } this.transform.LookAt(controller.enemy.transform); GameObject obj = Instantiate(skilldata[r].bullet_obj, controller.enemy.transform.position, Quaternion.identity); PlayerMagicControl mag = obj.GetComponent <PlayerMagicControl>(); mag._power = skilldata[r].power; } else//射出式 { if (!controller.enemy) { return; } this.transform.LookAt(controller.enemy.transform); GameObject obj = Instantiate(skilldata[r].bullet_obj, magic_pos.transform.position, this.transform.rotation); PlayerMagicControl mag = obj.GetComponent <PlayerMagicControl>(); mag._power = skilldata[r].power; mag.isBullet = true; mag.target = controller.enemy; } } else { //実体のないバフ系統 if (skilldata[r].isLifeRecoverSkill) { switch (skilldata[r].buffType) { case SkillData.BuffType.None: break; case SkillData.BuffType.Attacker: controller.conditionType = NPCController.ConditionType.Attacker; break; case SkillData.BuffType.Defencer: controller.conditionType = NPCController.ConditionType.Defence; break; } } } }