public bool Contains(IQtUserData userData) { if (_ownedObjects.Contains(userData)) return true; if (_affectedObjects.Contains(userData)) return true; return false; }
public bool Contains(IQtUserData userData) { if (_affectedObjects.Contains(userData)) { return(true); } return(false); }
public void Destroy() { for (int i = 0; i < _affectedObjects.Count; i++) { IQtUserData data = _affectedObjects[i]; data.Destroy(); } _affectedObjects.Clear(); }
public static bool Intersects(Rect nodeBound, IQtUserData userData) { Rect r = new Rect( userData.GetCenter().x - userData.GetExtends().x, userData.GetCenter().z - userData.GetExtends().z, userData.GetExtends().x * 2.0f, userData.GetExtends().z * 2.0f); return(nodeBound.Overlaps(r)); }
private bool IsHoldingUserData(IQtUserData userData) { for (int i = 0; i < _holdingLeaves.Count; ++i) { if (_holdingLeaves[i].Contains(userData)) { return(true); } } return(false); }
public virtual void Receive(IQtUserData userData) { if (!QtAlgo.Intersects(Bound, userData)) { return; } for (int i = 0; i < SubNodes.Length; ++i) { SubNodes[i].Receive(userData); } }
private bool IsHoldingUserData(IQtUserData userData) { foreach (var hLeaf in _holdingLeaves) { if (hLeaf.Contains(userData)) { return(true); } } return(false); }
public virtual void Receive(IQtUserData userData) { if (!UQtAlgo.Intersects(Bound, userData)) { return; } foreach (var sub in SubNodes) { sub.Receive(userData); } }
public static bool Intersects(Rect nodeBound, IQtUserData userData) { //var center = userData.GetCenter(); //var extend = userData.GetExtends(); //Rect r = new Rect( // center.x - extend.x, // center.y - extend.y, // extend.y * 2.0f, // extend.y * 2.0f); //return nodeBound.Overlaps(r); return(userData.Intersects(nodeBound)); }
public override void Receive(IQtUserData userData) { if (!UQtAlgo.Intersects(Bound, userData)) { return; } if (Bound.Contains(new Vector2(userData.GetCenter().x, userData.GetCenter().z))) { _ownedObjects.Add(userData); } else { _affectedObjects.Add(userData); } }
public override void Receive(IQtUserData userData) { if (!QtAlgo.Intersects(Bound, userData)) { return; } //if (Bound.Contains(userData.GetCenter())) //{ // _ownedObjects.Add(userData); //} else //{ // _affectedObjects.Add(userData); //} _affectedObjects.Add(userData); }
private void SwapOut(List <QtLeaf> outLeaves) { for (int i = 0; i < outLeaves.Count; ++i) { QtLeaf leaf = outLeaves[i]; leaf.SwapOut(); _holdingLeaves.Remove(leaf); List <IQtUserData> affected = leaf.AffectedObjects; for (int j = 0; j < affected.Count; j++) { IQtUserData item = affected[j]; if (!IsHoldingUserData(item)) { item.SwapOut(); } } _swapOutQueue.Add(leaf); //if (CellSwapOut != null) // CellSwapOut(leaf); } }
public void Receive(IQtUserData qud) { _root.Receive(qud); }
public static bool Intersects(Rect nodeBound, IQtUserData userData) { Rect r = new Rect( userData.GetCenter().x - userData.GetExtends().x, userData.GetCenter().z - userData.GetExtends().z, userData.GetExtends().x * 2.0f, userData.GetExtends().z * 2.0f); return nodeBound.Overlaps(r); }
public override void Receive(IQtUserData userData) { if (!UQtAlgo.Intersects(Bound, userData)) return; if (Bound.Contains(new Vector2(userData.GetCenter().x, userData.GetCenter().z))) { _ownedObjects.Add(userData); } else { _affectedObjects.Add(userData); } }
private bool IsHoldingUserData(IQtUserData userData) { foreach (var hLeaf in _holdingLeaves) { if (hLeaf.Contains(userData)) { return true; } } return false; }