UMD.HCIL.Piccolo.PNode.FullPick C# (CSharp) Method

FullPick() public method

Try to pick this node and all of its descendents.
Notes to Inheritors: Most subclasses should not need to override this method. Instead they should override Pick or PickAfterChildren.
public FullPick ( UMD.HCIL.Piccolo.Util.PPickPath pickPath ) : bool
pickPath UMD.HCIL.Piccolo.Util.PPickPath The pick path to add the node to if its picked.
return bool
		public virtual bool FullPick(PPickPath pickPath) {
			if ((Pickable || ChildrenPickable) && FullIntersects(pickPath.PickBounds)) {
				pickPath.PushNode(this);
				pickPath.PushMatrix(matrix);
			
				bool thisPickable = Pickable && pickPath.AcceptsNode(this);

				if (thisPickable && Pick(pickPath)) {
					return true;
				}

				if (ChildrenPickable) {
					int count = ChildrenCount;
					for (int i = count - 1; i >= 0; i--) {
						if (children[i].FullPick(pickPath)) {
							return true;
						}
					}				
				}

				if (thisPickable && PickAfterChildren(pickPath)) {
					return true;
				}

				pickPath.PopMatrix(matrix);
				pickPath.PopNode(this);
			}

			return false;
		}