private void OnEnable()
 {
     _startingHealth    = health;
     zombieStateMachine = GetComponent <ZombieStateMachine>();
     deadSound          = GetComponent <AudioSource>();
     zombieStateMachine.OnDyingStart.AddListener(Die);
 }
    public ZombieAttackState(GameObject _followTarget, ZombieComponent zombie, ZombieStateMachine stateMachine) : base(zombie, stateMachine)
    {
        followTarget   = _followTarget;
        updateInterval = 2.0f;

        damageableObject = followTarget.GetComponent <IDamageable>();
    }
Exemplo n.º 3
0
    private void OnEnable()
    {
        zombieStateMachine = GetComponent <ZombieStateMachine>();
        anim = GetComponent <Animator>();

        // Add the listemers to the animation functions
        zombieStateMachine.OnDyingStart.AddListener(PlayDieAnimation);
        zombieStateMachine.OnWalkingStart.AddListener(SetWalking);
        zombieStateMachine.OnAttackStart.AddListener(SetAttacking);
        zombieStateMachine.OnDrinkingStart.AddListener(SetDrinking);
    }
    private void OnEnable()
    {
        zombieStateMachine = GetComponent <ZombieStateMachine>();
        agent = GetComponent <NavMeshAgent>();
        rb    = GetComponent <Rigidbody>();

        attack_target  = new AttackTarget();
        rb.isKinematic = false;

        // Add the events
        zombieStateMachine.OnSeekPath.AddListener(SeekNavigationTargetAfterAttacking);
        zombieStateMachine.OnWalkingStart.AddListener(ResumeNavigation);
        zombieStateMachine.OnAttackStart.AddListener(StopNavigation);
        zombieStateMachine.OnDrinkingStart.AddListener(StopNavigation);
        zombieStateMachine.OnDyingStart.AddListener(StopNavigation);
    }
Exemplo n.º 5
0
    void Update()
    {
        // TODO: do this better
        if (active)
        {
            foreach (GameObject g in neighbourObjectTracker.trackedObjects)
            {
                if (g != null)
                {
                    ZombieStateMachine z = g.GetComponent <ZombieStateMachine>();

                    if (!z.IsDying())
                    {
                        SeekTarget(g.transform);
                        break;
                    }
                }
            }
        }
    }
Exemplo n.º 6
0
 private void Awake()
 {
     ZombieNavMesh  = GetComponent <NavMeshAgent>();
     ZombieAnimator = GetComponent <Animator>();
     StateMachine   = GetComponent <ZombieStateMachine>();
 }
 public ZombieStates(ZombieComponent zombie, ZombieStateMachine stateMachine) : base(stateMachine)
 {
     ownerZombie = zombie;
 }
Exemplo n.º 8
0
 public ZombieDeadState(ZombieComponent zombie, ZombieStateMachine stateMachine) : base(zombie, stateMachine)
 {
 }
Exemplo n.º 9
0
 public Attack(ZombieStateMachine sm) : base(sm)
 {
     isZombie = true;
 }
Exemplo n.º 10
0
 public TakeDamage(ZombieStateMachine sm) : base(sm)
 {
     isZombie = true;
     zmStateMachine.health -= zmStateMachine.lastDamageAmt;
 }
Exemplo n.º 11
0
 private void Awake()
 {
     zombieStateMachine = GetComponent <ZombieStateMachine>();
 }
Exemplo n.º 12
0
 public State(ZombieStateMachine sm)
 {
     this.zmStateMachine = sm;
 }
Exemplo n.º 13
0
 public Wander(ZombieStateMachine sm) : base(sm)
 {
 }
Exemplo n.º 14
0
 void Start()
 {
     currentLife   = MaxLife;
     _rigidBody    = GetComponent <Rigidbody>();
     _stateMachine = GetComponent <ZombieStateMachine>();
 }
Exemplo n.º 15
0
 public ZombieIdleState(ZombieComponment zombie, ZombieStateMachine stateMachine) : base(zombie, stateMachine)
 {
 }
Exemplo n.º 16
0
 public ZombieFollowState(GameObject followTarget, ZombieComponent zombie, ZombieStateMachine stateMachine) : base(zombie, stateMachine)
 {
     FollowTarget   = followTarget;
     UpdateInterval = 2.0f;
 }
Exemplo n.º 17
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.transform.GetComponentInParent <PlayerStateMachine>())
        {
            if (collision.GetComponent <ProjectileScript>())
            {
            }
            else if (owner.GetComponent <PlayerStateMachine>())
            {
            }
            else
            {
                PlayerStateMachine psm = collision.transform.GetComponentInParent <PlayerStateMachine>();
                psm.lastDamageAmt = damage;
                psm.SetState(new TakeDamage(psm));

                Destroy(gameObject);
            }
        }
        else if (collision.transform.GetComponentInParent <ZombieStateMachine>())
        {
            if (owner.GetComponent <CultistStateMachine>())
            {
            }
            else
            {
                ZombieStateMachine zsm = collision.transform.GetComponentInParent <ZombieStateMachine>();
                zsm.lastDamageAmt = damage;
                zsm.SetState(new TakeDamage(zsm));

                GameObject aud = Instantiate(audio_player, transform.position, Quaternion.identity);
                aud.GetComponent <AudioSource>().volume = .5f;
                aud.GetComponent <AudioSource>().PlayOneShot(impact_flesh);

                Destroy(gameObject);
            }
        }
        else if (collision.transform.GetComponentInParent <BlemmeyStateMachine>())
        {
            if (owner.GetComponent <CultistStateMachine>())
            {
            }
            else
            {
                BlemmeyStateMachine bsm = collision.transform.GetComponentInParent <BlemmeyStateMachine>();
                bsm.lastDamageAmt = damage;
                bsm.SetState(new TakeDamage(bsm));

                GameObject aud = Instantiate(audio_player, transform.position, Quaternion.identity);
                aud.GetComponent <AudioSource>().volume = .5f;
                aud.GetComponent <AudioSource>().PlayOneShot(impact_flesh);

                Destroy(gameObject);
            }
        }
        else if (collision.transform.GetComponentInParent <CultistStateMachine>())
        {
            if (owner.GetComponent <CultistStateMachine>())
            {
            }
            else
            {
                CultistStateMachine csm = collision.transform.GetComponentInParent <CultistStateMachine>();
                csm.lastDamageAmt = damage;
                csm.SetState(new TakeDamage(csm));

                GameObject aud = Instantiate(audio_player, transform.position, Quaternion.identity);
                aud.GetComponent <AudioSource>().volume = .5f;
                aud.GetComponent <AudioSource>().PlayOneShot(impact_flesh);

                Destroy(gameObject);
            }
        }
        else if (collision.transform.GetComponentInParent <PrideStateMachine>())
        {
            if (owner.GetComponent <PrideStateMachine>())
            {
            }
            else
            {
                PrideStateMachine psm = collision.transform.GetComponentInParent <PrideStateMachine>();
                psm.lastDamageAmt = damage;
                psm.SetState(new TakeDamage(psm));

                GameObject aud = Instantiate(audio_player, transform.position, Quaternion.identity);
                aud.GetComponent <AudioSource>().volume = .5f;
                aud.GetComponent <AudioSource>().PlayOneShot(impact_flesh);

                Destroy(gameObject);
            }
        }
        else if (collision.tag == "colliders" || collision.tag == "lava")
        {
        }
        else
        {
            GameObject aud = Instantiate(audio_player, transform.position, Quaternion.identity);
            aud.GetComponent <AudioSource>().volume = .5f;
            aud.GetComponent <AudioSource>().PlayOneShot(impact);
            Destroy(gameObject);
        }
    }
Exemplo n.º 18
0
 public Zombie_Melee(ZombieStateMachine sm) : base(sm)
 {
 }