private static void CreateColonist(Peer peer, Profile profile) { PeerController controller = PeerController.Get(peer.ProfileID); GameObject prefab = ObjectReferenceManifest.GetObject <GameObject>("Colonist"); GameObject instantiated = Network.Instantiate(prefab, profile.Position, Quaternion.identity); instantiated.name = $"Server {peer}"; instantiated.transform.position = profile.Position; controller.AssignColonist(instantiated.GetComponent <Colonist>()); }
private void Instantiate(Peer peer, byte[] data) { InstantiatePackage package = data.Deserialize <InstantiatePackage>(); Object prefab = ObjectReferenceManifest.GetObject(package.ObjectID); Object instantiated = Object.Instantiate(prefab); RegisterObject(package.NetworkID, instantiated); if (instantiated is GameObject) { GameObject gameObject = instantiated as GameObject; gameObject.transform.position = package.Position; gameObject.transform.rotation = package.Rotation; } }
public static void InitializeObjectReferenceManifest(IEnumerable <ModFile> mods, IDictionary <string, ushort> networkIDs) { ClientOutput.Line($"Initialize ObjectReferenceManifest with {mods.Count()} mods"); ObjectReferenceManifest.Initialize(mods, x => ObjectReferenceManifest.ObjectReferenceData.CreateAsClient(x, networkIDs[x.Key])); }
private void SendObjectManifest() { _peer.SendReliableOrdered(new NetworkPackage(PackageIdentification.ObjectIDManifest, ObjectReferenceManifest.GetAllNetworkIDs())); SwitchState(State.Finish); }
public static void InitializeObjectReferenceManifest(IEnumerable <ModFile> mods) { ServerOutput.Line($"Initialize ObjectReferenceManifest with {mods.Count()} mods"); ObjectReferenceManifest.Initialize(mods, x => ObjectReferenceManifest.ObjectReferenceData.CreateAsServer(x)); }