Пример #1
0
        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);
        }
Пример #2
0
        public void RemoveEmitter(ObjectEmitter emitter)
        {
            if (emitter == null)
            {
                return;
            }

            if (m_emitterSet != null)
            {
                m_emitterSet.Remove(emitter);
            }

            RemoveFromMap(emitter);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
 public virtual void DrawGizmos(ObjectEmitter emitter)
 {
 }