public static BaseBuffHandler GetHandler(this BuffHandlerComponent self, string buffIdType)
    {
        BaseBuffHandler handler;

        self.BuffHandlerDic.TryGetValue(buffIdType, out handler);
        return(handler);
    }
    public static void Load(this BuffHandlerComponent self)
    {
        foreach (Type type in typeof(BuffHandlerComponentSystem).Assembly.GetTypes())
        {
            object[] attrs = type.GetCustomAttributes(typeof(BuffTypeAttribute), false);

            foreach (object attr in attrs)
            {
                BuffTypeAttribute buffTypeAttr = (BuffTypeAttribute)attr;
                BaseBuffHandler   obj          = (BaseBuffHandler)Activator.CreateInstance(type);
                if (!self.BuffHandlerDic.ContainsKey(buffTypeAttr.BuffType))
                {
                    self.BuffHandlerDic.Add(buffTypeAttr.BuffType, obj);
                }
            }
        }
    }
 public static void Awake(this BuffHandlerComponent self)
 {
     BuffHandlerComponent.Instance = self;
     self.BuffHandlerDic           = new Dictionary <string, BaseBuffHandler>();
     self.Load();
 }
Ejemplo n.º 4
0
 public override void Dispose()
 {
     base.Dispose();
     Instance = null;
 }
Ejemplo n.º 5
0
 public void Awake()
 {
     Instance       = this;
     BuffHandlerDic = new Dictionary <string, BaseBuffHandler>();
     Load();
 }
 public override void Dispose()
 {
     base.Dispose();
     Instance = null;
     BuffHandlerDic.Clear();
 }