Пример #1
0
    protected override void Start()
    {
        base.Start();

        // Start Looking To Player
        spriteDirection.FaceDirection(LookAtPlayer.LookToPlayerDirection(transform.position));

        // notify
        GameEvents.Enemies.ZombieSpawned.SafeCall();
    }
        private IEnumerator CHeal()
        {
            LookAtPlayer.StartLooking(Player.transform, FollowType.Lerp, 3f);
            _healFX.StartHeal(AttachedEntity, PrematureKill);
            yield return(new WaitForSeconds(Random.Range(4.0f, 8.0f)));

            _healFX.EndHeal();
            Complete();
            enabled = false;
        }
Пример #3
0
    protected override void Start()
    {
        // Start Looking To Player
        spriteDirection.FaceDirection(LookAtPlayer.LookToPlayerDirection(transform.position));

        // wait for cooldown before starts shooting
        canShoot = false;
        MyExtensions.WaitAndAct(this, shootingCooldown, () => canShoot = true);

        //notify spawn
        GameEvents.Enemies.WoodyPigSpawned.SafeCall();
    }
Пример #4
0
        private IEnumerator CWhirlind()
        {
            Follow.StartFollowing(Player.transform, FollowType.Lerp, AttachedEntity.CurrentRoom.RoomGrid, 1.3f);
            LookAtPlayer.StartLooking(Player.transform, FollowType.Lerp, 3f);
            _whirlwindFX.StartSpin();
            yield return(new WaitForSeconds(Random.Range(4.0f, 8.0f)));

            _whirlwindFX.EndSpin();
            Follow.StopFollowing();
            yield return(_delayAfterSpin);

            Complete();
        }
Пример #5
0
        private IEnumerator CShootBeam()
        {
            LookAtPlayer.StartLooking(Player.transform, FollowType.Lerp, 2f);
            Follow.StartFollowing(Player.transform, FollowType.Linear, AttachedEntity.CurrentRoom.RoomGrid, 2);
            yield return(_chargeUp);

            LookAtPlayer.StartLooking(Player.transform, FollowType.Linear, 0.25f);
            Follow.Speed /= 2;
            _ray.StartEmitting();

            yield return(new WaitForSeconds(Random.Range(3.0f, 5.0f)));

            _ray.StopEmitting();
            yield return(_delayAfterCompletion);

            Complete();
        }
    private IEnumerator Despawn()
    {
        despawning = true;
        float startAltitude            = transform.position.y;
        float calculatedTargetAltitude = transform.position.y + targetAltitude;


        LookAtPlayer lookat = transform.root.GetComponent <LookAtPlayer>();

        if (lookat)
        {
            lookat.enabled = false;
        }



        while (transform.position.y < calculatedTargetAltitude)
        {
            float   percentageToTargetAltitude = 1f / targetAltitude * (transform.position.y - startAltitude);
            Vector3 vectorToAdd = Vector3.up * hoverSpeed * Time.deltaTime * 10f * flyAwaySpeedCurve.Evaluate(percentageToTargetAltitude);
            if (wheels.Length > 0)
            {
                foreach (var item in wheels)
                {
                    item.GetChild(0).Rotate(Vector3.forward, (spinSpeed + (spinSpeed * flyAwaySpeedCurve.Evaluate(percentageToTargetAltitude))) * Time.deltaTime * 100f);
                    item.position += vectorToAdd;
                }
            }
            transform.position += vectorToAdd;

            yield return(0);
        }
        if (wheels.Length > 0)
        {
            foreach (var item in wheels)
            {
                Destroy(item.gameObject);
            }
        }
        Destroy(gameObject);
    }
Пример #7
0
 public void CloseEye(LookAtPlayer sender)
 {
     animator.enabled = true;
     animator.SetBool("Revived", false);
     animator.SetBool("IsDead", true);
 }
Пример #8
0
 protected void Awake()
 {
     lookAtPlayer = GetComponent <LookAtPlayer>();
 }
Пример #9
0
 public void LookToPlayer()
 {
     spriteDirection.FaceDirection(LookAtPlayer.LookToPlayerDirection(transform.position));
 }
Пример #10
0
 public void TurnToPlayer()
 {
     FaceDirection(LookAtPlayer.LookToPlayerDirection(transform.position));
 }
Пример #11
0
 // Start is called before the first frame update
 void Start()
 {
     lookAt       = gameObject.AddComponent <LookAt>();
     lookAtPlayer = gameObject.AddComponent <LookAtPlayer>();
     target       = transform;
 }