public void Add(InstanceID id, int depth = 0) { if (id.Equals(InstanceID.Empty)) { return; } if (buffer.Contains(id)) { return; } MousePosition = Input.mousePosition; buffer.Add(id); if (id.Type == InstanceType.Building && buildingBuffer[id.Building].m_subBuilding > 0) { InstanceID subId = default; subId.Building = buildingBuffer[id.Building].m_subBuilding; Add(subId, depth++); } if (depth > 1000) { throw new Exception("Step-over reached depth of > 1000"); } }
public void Add(InstanceID id) { if (id.Equals(InstanceID.Empty)) { return; } if (buffer.Contains(id)) { return; } MousePosition = Input.mousePosition; buffer.Add(id); }
public void Add(InstanceID id) { if (id.Equals(InstanceID.Empty)) { return; } if (buffer.Contains(id)) { return; } MousePosition = Input.mousePosition; buffer.Add(id); //Debug.Log($"Adding ({id.Building},{id.Prop},{id.Tree},{id.NetNode},{id.NetSegment})"); //string msg = $"Id:{id.Building},{id.Prop},{id.Tree},{id.NetNode},{id.NetSegment}, Buffer ({buffer.Count} elements):\n"; //foreach (InstanceID b in buffer) //{ // msg += $"{b.Building},{b.Prop},{b.Tree},{b.NetNode},{b.NetSegment}\n"; //} //msg += $"Contains:{buffer.Contains(id)}"; //Debug.Log(msg); }