Exemplo n.º 1
0
        /// <summary>
        /// 敵AIのステートをT型に変更する
        /// </summary>
        /// <typeparam name="T"></typeparam>
        public void ChangeState <T>(EmotionEffectEmitter emitter) where T : EnemyState_AI
        {
//デバッグ用
#if UNITY_EDITOR
            string B_State = Owner.state_AI.ToString();
            int    pos     = B_State.LastIndexOf(".");
            B_State = B_State.Remove(0, pos + 1);
            B_State = B_State.TrimEnd(')');
#endif

            Destroy(Owner.state_AI);
            Owner.state_AI = Owner.gameObject.AddComponent <T>();
            Owner.state_AI.SetOwner(Owner, emitter);
            Owner.state_AI.OnStart();


//デバッグ用
#if UNITY_EDITOR
            string name    = Owner.name;
            string A_State = Owner.state_AI.ToString();
            pos     = A_State.LastIndexOf(".");
            A_State = A_State.Remove(0, pos + 1);
            A_State = A_State.TrimEnd(')');

            string str = $"ステートが変わりました : 名前 {name} : BeforeState {B_State} : AfterState {A_State}";

            Debug.Log(str);
#endif
        }
Exemplo n.º 2
0
 public void SetOwner(Character.Enemy enemy, EmotionEffectEmitter emitter)
 {
     Owner           = enemy;
     EmotionEmitter_ = emitter;
 }