public void SetActiveItem(IPortParent item) { this.pickedUpItem = item; List <IPortItem> olditems = new List <IPortItem>(); if (connectedNodes.ContainsKey(item)) { List <IPortItem> needClear = new List <IPortItem>(); for (int i = 0; i < connectedNodes[item].Count; i++) { IPortItem nodeItem = connectedNodes[item][i]; needClear.Add(nodeItem); IPortItem target = nodeItem.ConnectedNode; connectedNodes[target.Body].Remove(target); Debug.Log(connectedNodes[item][i].Detach()); olditems.Add(nodeItem); olditems.Add(target); } for (int i = 0; i < needClear.Count; i++) { connectedNodes[item].Remove(needClear[i]); } if (onDisconnected != null) { onDisconnected.Invoke(needClear.ToArray()); } } }
public void ResetBodyTransform(IPortParent otherParent, Vector3 rPos, Vector3 rdDir) { transform.position = otherParent.Trans.TransformPoint(rPos); transform.forward = otherParent.Trans.TransformDirection(rdDir); }
public void SetDisableItem(IPortParent item) { pickedUpItem = null; targetNode = null; activeNode = null; }