コード例 #1
0
        private void ConnectFace(FaceConnector connector)
        {
            uint          index = connector.HashCode % 0x7e1;
            ConnectorList list  = this.ConnectorTable[index];

            for (FaceConnector connector2 = list.First; connector2 != null; connector2 = connector2.Next)
            {
                if (FaceConnector.AreConnectable(connector, connector2, this.Dimension))
                {
                    list.Remove(connector2);
                    FaceConnector.Connect(connector2, connector);
                    connector2.Face = null;
                    connector.Face  = null;
                    this.ObjectManager.DepositConnector(connector2);
                    this.ObjectManager.DepositConnector(connector);
                    return;
                }
            }
            list.Add(connector);
        }
コード例 #2
0
        private void ConnectFace(FaceConnector connector)
        {
            uint          num           = connector.HashCode % 2017u;
            ConnectorList connectorList = ConnectorTable[num];

            for (FaceConnector faceConnector = connectorList.First; faceConnector != null; faceConnector = faceConnector.Next)
            {
                if (FaceConnector.AreConnectable(connector, faceConnector, NumOfDimensions))
                {
                    connectorList.Remove(faceConnector);
                    FaceConnector.Connect(faceConnector, connector);
                    faceConnector.Face = null;
                    connector.Face     = null;
                    ObjectManager.DepositConnector(faceConnector);
                    ObjectManager.DepositConnector(connector);
                    return;
                }
            }
            connectorList.Add(connector);
        }