Пример #1
0
    public void SetupRunFX()
    {
        Character_MotionFX charMo = charMotionFXPool.RequestMotionFX();

        charMo.inUse = true;
        charMo.transform.position = this.transform.position;
        charMo.gameObject.SetActive(true);
        StartCoroutine(SpawnRunFX(charMo, dustTotDur, dustSprites, dustTimings));
    }
Пример #2
0
    IEnumerator SpawnRunFX(Character_MotionFX charMo, float totalDuration, Sprite[] sprites, float[] timings)
    {
        float timer = 0f;
        int   count = 0;

        while (timer < totalDuration)
        {
            timer += Time.deltaTime;
            if (timer > timings[count])
            {
                charMo.spriteR.sprite = sprites[count];
                if (count < timings.Length - 1)
                {
                    count++;
                }
            }
            yield return(null);
        }
        charMo.inUse          = false;
        charMo.spriteR.sprite = null;
        charMo.gameObject.SetActive(false);
    }