前提・実現したいこと
初めまして。どうぞ宜しくお願いします。
現在ターン制バトル物を作っています。
事前に敵役のObjectに様々なパターンの攻撃スキル(Atk_skillを継承したもの)をAddComponentして
ex.
Atk_Skill_MAHOU
Atk_Skill_NIKAI_KOUGEKI など
実際の戦闘突入時に
システム側がその敵役のobjectにgetComponents<Atk_skill>()して敵ターン時にそのスキルの中から選んでそのscriptを実行するというやり方をしています。
発生している問題・エラーメッセージ
問題では無いのですが、コードが長い、その敵Objectのinspectorの見栄えが悪い為、
出来ればその敵Objectの中に一つだけスキル統括scriptみたいなものを入れて一括管理したいのですが
下記の通りにToukatuスクリプトだけを敵ObjectにaddComponentし、inspector上から
直接Atk_skillを継承したものを入れたいのですが入りません。
何かこのような手段でscriptを入れる手段はありますでしょうか?
今考えているのはその"子攻撃script"をそれぞれ空のobjectに張り、さらにそれを統括scriptに書いたgameObject[]に乗せる方法です。。。が、これも二度手間のような気がしています。
試したこと
c#
1親--------------------------------------------- 2public abstruct class Atk_skill : mono 3{ 4 public virtual void Attack(){;} 5} 6子--------------------------------------------- 7public class Atk_skill_MAHOU : Atk_skill 8{ 9 public override void Attack(){;} 10} 11 12統括スクリプト---------------------------------- 13public class Toukatu : mono 14{ 15 public Atk_skill[] mySkills; // <-Inspector上から入れたい! 16} 17 18
補足情報(FW/ツールのバージョンなど)
初めてのゲーム作成なので勝手がわかっておりません...。
ポケモンバトルのようなイメージなのですが、
"この敵は攻撃スキルID:1,5,8 を持っている"
みたいなやり方のほうが主流なのでしょうか?
回答2件
あなたの回答
tips
プレビュー