Exemplo n.º 1
0
        public static void Place(StackBoardMenu __instance)
        {
            if (!ModUtilities.GetFieldValue <bool>(__instance, "CurrentPlacementIsValid"))
            {
                return;
            }

            var allBoards   = ModUtilities.GetFieldValue <List <GameObject> >(__instance, "AllSubBoardsInvolvedWithStacking");
            var parentBoard = ModUtilities.GetFieldValue <GameObject>(__instance, "BoardBeingStacked");
            var firstBoard  = allBoards.First(o => o != parentBoard);

            foreach (var item in firstBoard.GetComponentsInChildren <ObjectInfo>())
            {
                var netObj = item.GetComponent <NetObject>() ?? item.gameObject.AddComponent <NetObject>();
                netObj.NetID = NetObject.GetNewID();
            }

            var packet = PlaceBoardPacket.BuildFromBoard(firstBoard.GetComponent <CircuitBoard>(), parentBoard.transform);

            Network.SendPacket(packet);
        }
Exemplo n.º 2
0
 private void Awake()
 {
     Instance = this;
 }