예제 #1
0
    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));
    }
예제 #2
0
    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);
        }
    }
예제 #3
0
 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);
 }
예제 #4
0
    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);
        }
    }