Пример #1
0
        private void Animation_Spit_AnimationEnded()
        {
            spit              = new Spit(targetComponent.Target, Position);
            spit.OnDestroyed += new GameObjectEventHandler(spit_OnDestroyed);

            Animation.ChangeAnimation("move");

            Animation.AnimationEnded -= Animation_Spit_AnimationEnded;
        }
 public Blob(Vector2 position, int block) : base(position, block)
 {
     animation.spriteArray = ContentCollection.blob;
     spriteSize            = new Vector2(50, 40);
     movementSpeed         = 10f;
     maxHealth             = 100;
     currentHealth         = maxHealth;
     healthRegen           = 1;
     primaryAttack         = new Spit(this);
     attackSpeed           = 1;
     tag = "Enemy";
 }
Пример #3
0
    void Spit()
    {
        GameObject spitObject = Instantiate(Game.instance.slimeBulletSpr);

        spitObject.name = "spit";

        Spit spit = spitObject.AddComponent <Spit>();

        spit.startPosition = mouth.transform.position;
        spit.target        = m_SpitTarget.Value;
        m_SpitTarget       = null;
        spit.onDone        = PutSlime;
    }
Пример #4
0
    private IEnumerator Attack()
    {
        enemyScript._navMeshAgent.isStopped = true;
        _animator.SetBool("chase", false);
        enemyScript._currentState = Enemy.State.Attacking;

        Spit newSpit = Instantiate(spit, spitSpawn.position, spitSpawn.rotation);

        newSpit.SetSpitSpeed(70f);

        yield return(new WaitForSeconds(1f));

        if (enemyScript._currentState != Enemy.State.Dead)
        {
            if (enemyScript._currentState != Enemy.State.Stunned)
            {
                enemyScript._navMeshAgent.isStopped = false;
            }
        }
    }
Пример #5
0
 public override void Attack(Vector3 position, bool player)
 {
     m_EnemyState   = EnemyState.Attacking;
     m_AttackTimer += Time.deltaTime;
     if (m_AttackTimer >= 1)
     {
         if (player)
         {
             GameObject go   = Instantiate(m_Spit, transform.position, Quaternion.identity);
             Spit       spit = go.GetComponent <Spit>();
             spit.SetDirection(position - transform.position);
         }
         else if (!player)
         {
             GameObject go   = Instantiate(m_Spit, transform.position, Quaternion.identity);
             Spit       spit = go.GetComponent <Spit>();
             spit.SetDirection(position - transform.position);
         }
         m_AttackTimer = 0;
     }
 }
Пример #6
0
 private void spit_OnDestroyed(object sender, GameObjectEventArgs e)
 {
     spit.OnDestroyed -= spit_OnDestroyed;
     spit = null;
 }
Пример #7
0
        private void Animation_Spit_AnimationEnded()
        {
            spit = new Spit(targetComponent.Target, Position);
            spit.OnDestroyed += new GameObjectEventHandler(spit_OnDestroyed);

            Animation.ChangeAnimation("move");

            Animation.AnimationEnded -= Animation_Spit_AnimationEnded;
        }
 // Constructor for a world block
 public WorldBlock(bool isCollidable, Spit spit)
 {
     this.isCollidable = isCollidable;
     this.spit         = spit;
 }
Пример #9
0
 private void spit_OnDestroyed(object sender, GameObjectEventArgs e)
 {
     spit.OnDestroyed -= spit_OnDestroyed;
     spit              = null;
 }