Пример #1
0
Файл: Enemy.cs Проект: Tzook/lel
    public void RemoveBuff(Buff buff)
    {
        if (buff.RunningRoutine != null)
        {
            StopCoroutine(buff.RunningRoutine);
        }

        buff.EffectPrefab.transform.SetParent(null);
        buff.EffectPrefab.transform.gameObject.SetActive(false);

        CurrentBuffs.Remove(buff);

        DevBuff buffReference = Content.Instance.GetBuff(buff.Key);

        if (!string.IsNullOrEmpty(buffReference.DebuffSoundKey))
        {
            AudioControl.Instance.Play(buffReference.DebuffSoundKey);
        }

        if (!string.IsNullOrEmpty(buffReference.DebuffPrefabKey))
        {
            ResourcesLoader.Instance.GetRecycledObject(buffReference.DebuffPrefabKey).transform.position = transform.position;
        }

        if (Game.Instance.isBitch)
        {
            StopBuffEffect(buff.Key);
        }
    }
Пример #2
0
Файл: Enemy.cs Проект: Tzook/lel
    protected IEnumerator HandleBuff(Buff buff)
    {
        DevBuff buffRef = Content.Instance.GetBuff(buff.Key);

        buff.EffectPrefab = ResourcesLoader.Instance.GetRecycledObject(buffRef.EffectPrefab);

        buff.EffectPrefab.transform.SetParent(transform);
        buff.EffectPrefab.transform.position = transform.position;

        AudioControl.Instance.Play(buffRef.AudioKey);

        while (buff.Duration > 0)
        {
            yield return(new WaitForSeconds(1f));

            buff.Duration--;
        }

        buff.RunningRoutine = null;
        RemoveBuff(buff);
    }
Пример #3
0
    public void RemoveBuff(Buff buff)
    {
        if (buff.RunningRoutine != null)
        {
            StopCoroutine(buff.RunningRoutine);
        }

        if (buff.EffectPrefab != null)
        {
            buff.EffectPrefab.transform.SetParent(null);
            buff.EffectPrefab.transform.gameObject.SetActive(false);
        }

        CurrentBuffs.Remove(buff);

        DevBuff buffReference = Content.Instance.GetBuff(buff.Key);

        if (buffReference != null)
        {
            if (!string.IsNullOrEmpty(buffReference.DebuffSoundKey))
            {
                AudioControl.Instance.Play(buffReference.DebuffSoundKey);
            }

            if (!string.IsNullOrEmpty(buffReference.DebuffPrefabKey))
            {
                ResourcesLoader.Instance.GetRecycledObject(buffReference.DebuffPrefabKey).transform.position = transform.position;
            }
        }


        if (Info.ID == LocalUserInfo.Me.ClientCharacter.ID)
        {
            InputController.StopBuffEffect(buff.Key);
        }
    }