Пример #1
0
 void Awake()
 {
     base.Awake();
     nextAttack = WyvernAttack.teleport;
     cooldown   = teleportCooldown;
     inUse      = false;
     isDead     = false;
 }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        base.Update();
        if (active)
        {
            // Debug.Log(cooldown);
            cooldown -= Time.deltaTime;
            if (cooldown <= 0)
            {
                Debug.Log("Ability Used!");
                nextAttack = (WyvernAttack)Random.Range(0, 2);
                switch (nextAttack)
                {
                case WyvernAttack.teleport:
                    FarTeleport();
                    break;

                case WyvernAttack.closeteleport:
                    CloseTeleport();
                    break;

                case WyvernAttack.burst:
                    Burst();
                    break;
                }
            }

            else if (closeTeleportOn)
            {
                Vector3.MoveTowards(transform.position, lastPlayerLocation, closeTeleportSpeed * Time.deltaTime);
                closeDistanceMoved += closeTeleportSpeed * Time.deltaTime;
                if (closeDistanceMoved > closeTeleportDist)
                {
                    closeTeleportMove();
                }
            }
        }
    }