Beispiel #1
0
        public override void Damage(int damage, CaptainEnemy captain, EnemyController enemy)
        {
            if (enemyInfo.hp <= 0)
            {
                return;
            }
            enemyInfo.hp -= damage;
            if (enemyInfo.hp <= 0)
            {
                captain.RemoveAbeSan(enemy);
                enemyInfo.hp = 0;
            }

            if (enemyInfo.pushForce_y > 0)
            {
                enemyInfo.animator.Play("Down");
            }
            else
            {
                AnimatorStateInfo nowState = enemyInfo.animator.GetCurrentAnimatorStateInfo(0);
                if (nowState.IsName("Damage"))
                {
                    enemyInfo.animator.Play("Damage_2");
                }
                else
                {
                    enemyInfo.animator.Play("Damage");
                }
            }
        }
Beispiel #2
0
        public virtual void Damage(int damage, CaptainEnemy captain, EnemyController enemy)
        {
            //if (HP <= 0) return;

            enemyInfo.hp -= damage;
            if (enemyInfo.hp <= 0)
            {
                if (captain != null)
                {
                    captain.RemoveAbeSan(enemy);
                }
                enemyInfo.hp = 0;
            }

            if (enemyInfo.pushForce_y > 0)
            {
                enemyInfo.animator.Play("Down");
            }
            else
            {
                AnimatorStateInfo nowState = enemyInfo.animator.GetCurrentAnimatorStateInfo(0);
                if (nowState.IsName("Damage"))
                {
                    enemyInfo.animator.Play("Damage_2");
                }
                else
                {
                    enemyInfo.animator.Play("Damage");
                }
            }

            nextState = new AnomalyState(enemyInfo);
            //nextState.Push (pushForce_z, pushForce_y, pushDirection);
        }
Beispiel #3
0
        public void RemoveEnemyCaptain(CaptainEnemy cab)
        {
            captainList.Remove(cab);

            if (captainList.Count <= 0)
            {
                CreateEnemy(MAX_CAPTAIN);
            }
        }
Beispiel #4
0
 public void Prepare(PlayerController p, CaptainEnemy cap, EnemyData data)
 {
     animator             = GetComponent <Animator> ();
     player               = p;
     captain              = cap;
     characterController_ = GetComponent <CharacterController> ();
     //collision = GetComponentInChildren<AbeCollision> ();
     enemyInfo               = new EnemyInformation(animator, player, transform);
     enemyInfo.hp            = data.Hp;
     enemyInfo.attack        = data.attack;
     enemyInfo.moveSpeed     = data.speed;
     enemyInfo.range         = data.range;
     nowState                = new NormalState(enemyInfo);
     nowState.targetPosition = transform.position;
 }
Beispiel #5
0
        private void CreateEnemy(int number)
        {
            for (int i = 0; i < number; i++)
            {
                GameObject captain = new GameObject("Captain");
                captain.name = "Captain00" + i.ToString();
                captain.tag  = "Captain";
                Vector3 pos = transform.TransformPoint(new Vector3(Random.Range(1f, -1f), 0f, i * -2.0f + Random.Range(-1f, 0f)));
                captain.transform.position = pos;
                captain.transform.parent   = transform;
                CaptainEnemy captainAbe = captain.AddComponent <CaptainEnemy> ();
                Rigidbody    rigid      = captain.AddComponent <Rigidbody> ();
                rigid.useGravity = false;

                int index = Random.Range(0, 2);
                captainAbe.Prepare(player, gameManager.dataManager.enemyData[index]);
                captainAbe.LookAtPlayer();
                captainList.Add(captainAbe);
            }
        }
Beispiel #6
0
 public override void Damage(int damage, CaptainEnemy captain, EnemyController enemy)
 {
 }