public static bool IsAnchor(SpringNode node, SpringSkeleton skeleton) { // necessary to store the reference somewhere SpringNodeAnchor anchor; return(SpringNode.IsAnchor(node, skeleton, out anchor)); }
public static bool IsAnchor(SpringNode node, SpringSkeleton skeleton, out SpringNodeAnchor anchor) { anchor = null; for (int i = 0; i < skeleton.Anchors.Count; i++) { if (skeleton.Anchors[i].Node == node) { anchor = skeleton.Anchors[i]; return(true); } } return(false); }
public static void CreateChain(SpringSkeleton skeleton, int parts, float partDistance, Vector3 origin, bool right) { SpringNode start = new SpringNode(origin); skeleton.Nodes.Add(start); SpringNode previous = start; for (int i = 0; i < parts; i++) { // hack Vector3 newPosition = Vector3.Zero; if (right) { newPosition = previous.Position + new Vector3(partDistance, 0, 0); } else { newPosition = previous.Position - new Vector3(partDistance, 0, 0); } SpringNode next = new SpringNode(newPosition); previous.Neighbors[next] = partDistance; next.Neighbors[previous] = partDistance; skeleton.Nodes.Add(next); previous = next; } SpringNode end = new SpringNode(previous.Position + new Vector3(partDistance, 0, 0)); previous.Neighbors[end] = partDistance; end.Neighbors[previous] = partDistance; skeleton.Nodes.Add(end); }
public static bool IsAnchor(SpringNode node, SpringSkeleton skeleton, out SpringNodeAnchor anchor) { anchor = null; for (int i = 0; i < skeleton.Anchors.Count; i++) { if (skeleton.Anchors[i].Node == node) { anchor = skeleton.Anchors[i]; return true; } } return false; }
public static bool IsAnchor(SpringNode node, SpringSkeleton skeleton) { // necessary to store the reference somewhere SpringNodeAnchor anchor; return SpringNode.IsAnchor(node, skeleton, out anchor); }