public static void UnregisterListener(IMaterialChangeListener listener)
 {
     if (Instance._listeners.ContainsKey(listener.MaterialId))
     {
         Instance._listeners[listener.MaterialId].Remove(listener);
     }
 }
 public static void RegisterListener(IMaterialChangeListener listener)
 {
     if (!Instance._listeners.ContainsKey(listener.MaterialId))
     {
         Instance._listeners.Add(listener.MaterialId, new List <IMaterialChangeListener> {
             listener
         });
     }
     else
     {
         Instance._listeners[listener.MaterialId].Add(listener);
     }
 }