public static void PlaceBoard() { if (StuffPlacer.OkayToPlace) { foreach (var item in BoardPlacer.BoardBeingPlaced.GetComponentsInChildren <ObjectInfo>()) { var netObj = item.GetComponent <NetObject>() ?? item.gameObject.AddComponent <NetObject>(); netObj.NetID = NetObject.GetNewID(); } foreach (var item in BoardPlacer.BoardBeingPlaced.GetComponentsInChildren <NetObject>()) { item.enabled = true; } var boardComp = BoardPlacer.BoardBeingPlaced.GetComponent <CircuitBoard>(); var parent = BoardPlacer.ReferenceObject.transform.parent; var packet = PlaceBoardPacket.BuildFromBoard(boardComp, parent); Network.SendPacket(packet); foreach (var item in boardComp.GetComponentsInChildren <CircuitOutput>()) { CircuitStatePacket.SetOutputState(item, item.On, true); } } }
public static void LoadCircuitState() { foreach (var item in GameObject.FindObjectsOfType <CircuitOutput>()) { CircuitStatePacket.SetOutputState(item, item.On); } }
public override void Do() { var parentBoard = NetObject.GetByNetId(Packet.ParentBoardID); var component = SavedObjectUtilities.LoadSavedObject(Packet.SavedObject, parentBoard?.transform); component.AddComponent <NetObject>().NetID = Packet.NetID; if (Network.IsServer) { foreach (var item in component.GetComponentsInChildren <CircuitOutput>()) { CircuitStatePacket.SetOutputState(item, item.On, true); } } }
public static bool set_On(CircuitOutput __instance, bool value) { if (Network.IsClient && ComponentActions.CurrentlyUpdating != __instance) { return(false); } if (Network.IsServer) { var component = ComponentPlacer.FullComponent(__instance.transform); var netObj = component.GetComponent <NetObject>(); if (netObj == null) { component.AddComponent <NetObject>(); } CircuitStatePacket.SetOutputState(__instance, value); } return(true); }