Пример #1
0
    // This receives a transform (the player transform)
    public void HandleNotified(Bytes.Data data)
    {
        if (target != null)
        {
            return;
        }

        ObjectDataBytes objData = (ObjectDataBytes)data;

        SetTarget((Transform)objData.ObjectValue);
        canReturnToInitialPos = false;

        delayChasePlayer = Animate.Delay(2f, () =>
        {
            moving      = true;
            agent.speed = 4f;
            EventManager.Dispatch("playSound", new PlaySoundData("HORROR_HelpMe002"));
            animController.SetLoopedState(CrunchyToastAnim.Walking, prefix, true);

            // Set atk on
            GetComponentInChildren <Observer>().canDealDmg = true;

            // Has 3 seconds to close gap between him and player before having to return to inital pos if hes too far from player
            delayCanReturnToInitPos = Animate.Delay(3f, () => {
                canReturnToInitialPos = true;
            });
        });
    }
Пример #2
0
    private void Start()
    {
        randomSpeed = Random.Range(speedBetween.x, speedBetween.y);
        timeOffset  = Random.Range(1f, 10f);
        rg.AddForce(new Vector2(Utils.PositiveOrNegative(Random.Range(1, 5)), Utils.PositiveOrNegative(Random.Range(1, 5))), ForceMode2D.Impulse);
        initialScale = transform.localScale;

        Animate.Delay(Random.Range(1f, 3f), GoToPlayer);
    }
Пример #3
0
    private void CreateDamageTextAt(int dmgAmount, Vector2 position, float timeToLive = 3f)
    {
        var g = InstantiatePrefab(damageTextPrefab, position, timeToLive);

        if (timeToLive != -1)
        {
            Animate.Delay(timeToLive, () => { Destroy(g); });
        }
        g.GetComponent <DamageIndicator>().SetDmg(dmgAmount);
    }
Пример #4
0
    void Start()
    {
        EventManager.AddEventListener("bossDefeated", (Bytes.Data d) => {
            cameraShouldFollowBoss = true;
            boss = GameObject.FindObjectOfType <BossAI>().transform;

            Animate.Delay(4f, () => {
                PlayEndAnim();
            });
        });
    }
Пример #5
0
    private GameObject InstantiatePrefab(GameObject prefab, Vector2 position, float timeToLive = -1)
    {
        var g = Instantiate(prefab, position, Quaternion.identity);

        if (timeToLive != -1)
        {
            Animate.Delay(timeToLive, () => { Destroy(g); });
        }

        return(g);
    }
Пример #6
0
    private void Start()
    {
        _AnimStateMachine = GetComponent <GenericAnimationStateMachine>();
        StopMovingAnimation();

        if (testAnims)
        {
            Animate.Delay(2f, StartMovingAnimation);
            Animate.Delay(4f, PlayAttackAnim);
            Animate.Delay(8f, () => { PlayDieAnim(() => { Destroy(gameObject); }); });
        }
    }
Пример #7
0
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("joueur"))
        {
            _data = new IntDataBytes(damage.getValue());
            EventManager.Dispatch("playerGlutenUpdate", _data);
            GetComponent <Collider>().enabled = false;

            Animate.Delay(delay, () =>
            {
                GetComponent <Collider>().enabled = true;
            });
        }
    }
    protected void Die()
    {
        if (!alive)
        {
            return;
        }

        EventManager.Dispatch("fadeToBlack", null);

        Animate.Delay(3f, () => {
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
        });

        alive = false;
    }