예제 #1
0
        protected override void OnChangeState_OldBattleaxe()
        {
            if (null == Player)
            {
                return;
            }

            OldBattleaxe enemy = Owner as OldBattleaxe;

            //enemy.ResetAttack();

            if (Player.IsStun || Player.IsInvincible || Player.IsTransparent)
            {
                //if (enemy.isHit) enemy.isHit = false;
                enemy.isAngry = false;
                return;
            }

            if (enemy.isAngry)
            {
                //enemy.isAngry = true;

                enemy.isDiscover = true;

                ChangeState <EnemyState_Close>(EmotionEmitter_);

                var ai = Owner.state_AI as EnemyState_Close;

                Player.Alart(true);

                LookEnemy?.AddEnemy(Owner.transform);

                EmotionEmitter_.OpentFire(EMOTION_INDEX.ANGRY, 0.8f);
            }
        }
예제 #2
0
        protected override void OnChangeState_Yakuza()
        {
            var enemy = Owner as Yakuza;

            if (null == Player)
            {
                return;
            }

            if (Player.IsStun || Player.IsInvincible || Player.IsTransparent || !ApplicationManager.IsGamePlay)
            {
                return;
            }

            if (SearchArea.IsFound)
            {
                //見つかった瞬間
                EmotionEmitter_.OpentFire(EMOTION_INDEX.ANGRY, 1.0f);

                enemy.isDiscover = true;

                ChangeState <EnemyState_Close>(EmotionEmitter_);

                AudioManager.Instance.Play3DSE(Owner.transform.position, SEPath.GAME_SE_VOICE_YAKUZA);

                Player.Alart(true);

                LookEnemy?.AddEnemy(Owner.transform);
            }
        }
예제 #3
0
        private void Animation()
        {
            isStoppingAnimation = true;

            if (isAngry)
            {
                EmotionEmitter_.OpentFire(EMOTION_INDEX.SAD, 0.5f);
                Animator.CrossFadeInFixedTime(EnemyAnimation.Repel, 0.5f);
            }
            else
            {
                EmotionEmitter_.OpentFire(EMOTION_INDEX.HAPPY, 1.0f);
                Animator.CrossFadeInFixedTime(EnemyAnimation.Fine, 0.5f);
            }
        }
예제 #4
0
        public override void HitBullet(Bullet bullet)
        {
            if (isDown)
            {
                return;
            }

            AddVitamins(bullet.Power);

            if (insufficiency <= 0)
            {
                SetDown();

                Animation();

                EmotionEmitter_.OpentFire(EMOTION_INDEX.SAD, 0.5f);
            }
        }
예제 #5
0
        public override void HitBullet(Bullet bullet)
        {
            if (isDown)
            {
                return;
            }

            if (lack_vitamins == bullet.BulletType || Constants.NUTRIENTS_TYPE._ALL == bullet.BulletType)
            {
                AddVitamins(bullet.Power);

                if (insufficiency <= 0)
                {
                    SetDown();

                    // バウンティの処理
                    var bounty_manager = GameObject.FindGameObjectWithTag(Constants.TagName.BOUNTY_MANAGER).GetComponent <BountyManager>();

                    bounty_manager.EnemyDeath((int)lack_vitamins);

                    Animator.CrossFadeInFixedTime(EnemyAnimation.Fine, 0.5f);

                    isStoppingAnimation = true;

                    EmotionEmitter_.OpentFire(EMOTION_INDEX.HAPPY, 1.0f);
                }
            }
            else
            {
                // コンボの終了
                ComboManager.Instance.LostCombo();

                AudioManager.Instance.Play3DSE(transform.position, SEPath.GAME_SE_VOICE_MAN);

                Animator.CrossFadeInFixedTime(EnemyAnimation.Angry, 0.5f);

                isStoppingAnimation = true;

                EmotionEmitter_.OpentFire(EMOTION_INDEX.SAD, 0.3f, 3);
            }
        }