public void add(string p_type, float p_priority, DPriorityDelegate p_callback) { if (!m_list.ContainsKey(p_type)) { m_list.Add(p_type, new PriorityElement(p_priority, p_callback)); return; } if (m_list[p_type].Priority > p_priority) { return; } if (m_list[p_type].Priority == p_priority) { if (!BoolCalc.random()) { return; } } m_list.Remove(p_type); m_list.Add(p_type, new PriorityElement(p_priority, p_callback)); }
public PriorityElement(float p_priority, DPriorityDelegate p_callback) { m_priority = p_priority; m_callback = p_callback; }