Beispiel #1
0
        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);
 }
Beispiel #3
0
 public void SetDisableItem(IPortParent item)
 {
     pickedUpItem = null;
     targetNode   = null;
     activeNode   = null;
 }