public Position AllocPosition(int x, int y) { VariablePosition output; if (free_pool.TryDequeue(out output)) { output.X = x; output.Y = y; return(output); } output = new VariablePosition(x, y); used_pool.Enqueue(output); return(output); }
private void OnSelection(VariablePosition test) { List <TestingVariable> variableList = new List <TestingVariable>(); if (Input.GetMouseButton(0)) { variableList.Add(hit.collider.GetComponent <TestingVariable>()); } test.variables = variableList.ToArray(); if (Input.GetMouseButtonDown(1)) { test.child = new VariablePosition(); OnSelection(test.child); } }
public Position AllocPosition(int x, int y) { VariablePosition output; if (!overflow) { if (enumerator.MoveNext()) { output = enumerator.Current; output.X = x; output.Y = y; return(output); } overflow = true; enumerator.Dispose(); } output = new VariablePosition(x, y); pool.AddLast(output); return(output); }