Example #1
0
        public void DestroyEffect(int effectId)
        {
            SkillEffectBase effectBase = null;

            if (mEffectDic.TryGetValue(effectId, out effectBase))
            {
                effectBase.Destroy();
                mEffectDic.Remove(effectId);
            }
        }
Example #2
0
        int CreateEffect(CampType casterCampType, IntVector2 effectPos, short effectId, int targetUnitId, short effectAngler, short param1, short param2)
        {
            UnityEngine.Debug.Log("創建技能效果 " + casterCampType.ToString() + " " + effectPos.ToString() + " " + effectAngler + " " + param1 + " " + param2);
            GDSKit.SkillEffect effectConfig = GDSKit.SkillEffect.GetInstance(effectId);

            SkillEffectBase createEffect = null;

            switch ((SkillEffectType)effectConfig.type)
            {
            case SkillEffectType.ChgAttr:
                createEffect = new SkillAttrChgEffect();
                break;

            default:
                throw new System.NotImplementedException("未实现的技能效果类型 " + effectConfig.type);
            }
            mEffectDic[createEffect.iD] = createEffect;
            createEffect.SetInfo(effectConfig, effectPos, targetUnitId, effectAngler, param1, param2, casterCampType);
            createEffect.BeginWork();
            BattleFiled.Instance.OnCreateEffect(effectId, effectPos);
            return(createEffect.iD);
        }