// 적을 펑하고 스폰한다(Action, 게스트용). public void create_enemy_internal_pedigree(string pedigree) { // 등록된 적 중에서 랜덤하게 선택. do { string[] tokens = pedigree.Split('.'); if (tokens.Length < 3) { break; } string enemy_name = tokens[0] + "." + tokens[1]; if (!System.Enum.IsDefined(typeof(Enemy.BEHAVE_KIND), tokens[2])) { break; } Enemy.BEHAVE_KIND behave = (Enemy.BEHAVE_KIND)System.Enum.Parse(typeof(Enemy.BEHAVE_KIND), tokens[2]); chrBehaviorEnemy enemy = LevelControl.get().createCurrentRoomEnemy <chrBehaviorEnemy>(enemy_name); if (enemy == null) { break; } enemy.name = enemy_name; enemy.setBehaveKind(behave, null); enemy.beginSpawn(this.transform.position + Vector3.up * 3.0f, this.transform.forward); } while(false); }
// AI의 종류(행동 패턴)을 설정한다. public void setBehaveKind(Enemy.BEHAVE_KIND behave_kind, Character.ActionBase.DescBase desc_base = null) { Character.ActionBase unique_action = null; switch (behave_kind) { default: case Enemy.BEHAVE_KIND.BOTTACHI: unique_action = new Character.BottachiAction(); break; case Enemy.BEHAVE_KIND.OUFUKU: unique_action = new Character.OufukuAction(); break; case Enemy.BEHAVE_KIND.UROURO: unique_action = new Character.UroUroAction(); break; case Enemy.BEHAVE_KIND.TOTUGEKI: unique_action = new Character.TotugekiAction(); break; case Enemy.BEHAVE_KIND.SONOBA_DE_FIRE: unique_action = new Character.SonobaDeFireAction(); break; case Enemy.BEHAVE_KIND.WARP_DE_FIRE: unique_action = new Character.WarpDeFireAction(); break; case Enemy.BEHAVE_KIND.JUMBO: unique_action = new Character.JumboAction(); break; case Enemy.BEHAVE_KIND.GOROGORO: unique_action = new Character.GoroGoroAction(); break; } if (unique_action != null) { if (desc_base == null) { desc_base = new Character.ActionBase.DescBase(); } this.behave_kind = behave_kind; this.unique_action = unique_action; this.unique_action.create(this, desc_base); this.basic_action.unique_action = this.unique_action; } }
// AI의 종류(행동 패턴)을 설정한다. public void setBehaveKind(Enemy.BEHAVE_KIND behave_kind, Character.ActionBase.DescBase desc_base = null) { Character.ActionBase unique_action = null; switch(behave_kind) { default: case Enemy.BEHAVE_KIND.BOTTACHI: unique_action = new Character.BottachiAction(); break; case Enemy.BEHAVE_KIND.OUFUKU: unique_action = new Character.OufukuAction(); break; case Enemy.BEHAVE_KIND.UROURO: unique_action = new Character.UroUroAction(); break; case Enemy.BEHAVE_KIND.TOTUGEKI: unique_action = new Character.TotugekiAction(); break; case Enemy.BEHAVE_KIND.SONOBA_DE_FIRE: unique_action = new Character.SonobaDeFireAction(); break; case Enemy.BEHAVE_KIND.WARP_DE_FIRE: unique_action = new Character.WarpDeFireAction(); break; case Enemy.BEHAVE_KIND.JUMBO: unique_action = new Character.JumboAction(); break; case Enemy.BEHAVE_KIND.GOROGORO: unique_action = new Character.GoroGoroAction(); break; } if(unique_action != null) { if(desc_base == null) { desc_base = new Character.ActionBase.DescBase(); } this.behave_kind = behave_kind; this.unique_action = unique_action; this.unique_action.create(this, desc_base); this.basic_action.unique_action = this.unique_action; } }