コード例 #1
0
        /// <summary>
        /// 所有特效动画放入缓存池中
        /// </summary>
        public void AllEffectAnimsIntoPool()
        {
            for (int i = 0; i < effectAnimContainer.childCount; i++)
            {
                EffectAnim effectAnim = effectAnimContainer.GetChild(i).GetComponent <EffectAnim>();

                if (effectAnim.isProtectedBeforeEnd)
                {
                    continue;
                }

                exploreManager.newMapGenerator.AddEffectAnimToPool(effectAnim);

                i--;
            }

            effectAnimContainer.DetachChildren();
        }
コード例 #2
0
        /// <summary>
        /// 设置角色特效动画,trigger 型触发器
        /// </summary>
        /// <param name="animName">触发器名称</param>
        public void SetEffectAnim(string effectName, CallBack cb = null, int playTimes = 1, float duration = 0, bool isProtectedBeforeEnd = false)
        {
            if (effectName == string.Empty || exploreManager == null)
            {
                return;
            }


            EffectAnim skillEffect = exploreManager.newMapGenerator.GetEffectAnim(effectName, effectAnimContainer);

            skillEffect.isProtectedBeforeEnd = isProtectedBeforeEnd;

            if (skillEffect != null)
            {
                skillEffect.gameObject.SetActive(true);

                // 所有的特效播放名称都是default
                skillEffect.PlayAnim("default", cb, effectAnimYScaler, playTimes, duration);
            }
        }