public void AddEmitter(ObjectEmitter emitter, string name = null) { m_emitterSet = m_emitterSet ?? new HashSet <ObjectEmitter>(); if (m_emitterSet.Contains(emitter)) { return; } m_emitterSet.Add(emitter); AddToMap(emitter, name); }
public void RemoveEmitter(ObjectEmitter emitter) { if (emitter == null) { return; } if (m_emitterSet != null) { m_emitterSet.Remove(emitter); } RemoveFromMap(emitter); }
private void AddToMap(ObjectEmitter emitter, string name) { if (emitter == null) { return; } if (string.IsNullOrEmpty(name)) { return; } m_emittersMap = m_emittersMap ?? new Dictionary <string, List <ObjectEmitter> >(); List <ObjectEmitter> list = null; if (!m_emittersMap.TryGetValue(name, out list)) { list = new List <ObjectEmitter>(); m_emittersMap.Add(name, list); } list.Add(emitter); }
private void RemoveFromMap(ObjectEmitter emitter) { if (emitter == null) { return; } if (string.IsNullOrEmpty(emitter.launchName)) { return; } if (m_emittersMap == null) { return; } if (!m_emittersMap.ContainsKey(emitter.launchName)) { return; } m_emittersMap[emitter.launchName].Remove(emitter); }
public virtual void DrawGizmos(ObjectEmitter emitter) { }