protected void BoltSetup() { BoltNetwork.SetCanReceiveEntities(false); BoltNetwork.RegisterTokenClass <CoopConnectToken>(); BoltNetwork.RegisterTokenClass <CoopConstructionExToken>(); BoltNetwork.RegisterTokenClass <CoopFloorToken>(); BoltNetwork.RegisterTokenClass <CoopRoofToken>(); BoltNetwork.RegisterTokenClass <CoopWallChunkToken>(); BoltNetwork.RegisterTokenClass <CoopBridgeToken>(); BoltNetwork.RegisterTokenClass <CoopZiplineToken>(); BoltNetwork.RegisterTokenClass <CoopZiplineTreeToken>(); BoltNetwork.RegisterTokenClass <CoopCraneToken>(); BoltNetwork.RegisterTokenClass <CoopGardenToken>(); BoltNetwork.RegisterTokenClass <CoopFoundationChunkTierToken>(); BoltNetwork.RegisterTokenClass <CoopSingleAnchorToken>(); BoltNetwork.RegisterTokenClass <CoopMutantDummyToken>(); BoltNetwork.RegisterTokenClass <CoopDestroyTagToken>(); BoltNetwork.RegisterTokenClass <CoopKickToken>(); BoltNetwork.RegisterTokenClass <CoopCreateBreakToken>(); BoltNetwork.RegisterTokenClass <CoopJoinDedicatedServerToken>(); BoltNetwork.RegisterTokenClass <CoopJoinDedicatedServerFailed>(); BoltNetwork.RegisterTokenClass <CoopWeaponUpgradesToken>(); BoltNetwork.RegisterTokenClass <CoopSyncGirlPickupToken>(); BoltNetwork.RegisterTokenClass <CoopRagdollToken>(); }
public static BoltEntity AttachLocalPlayer(string name = null) { if (LocalPlayer.GameObject.GetComponent <BoltEntity>() != null && LocalPlayer.GameObject.GetComponent <BoltEntity>().isAttached) { return(LocalPlayer.GameObject.GetComponent <BoltEntity>()); } Menu.Values.Self.Visible = true; LocalPlayer.GameObject.AddComponent <BoltPlayerSetup>(); LocalPlayer.GameObject.AddComponent <BoltEntity>(); using (var settingsModifier = LocalPlayer.GameObject.GetComponent <BoltEntity>().ModifySettings()) { settingsModifier.prefabId = BoltPrefabs.player_net; settingsModifier.serializerId = StateSerializerTypeIds.IPlayerState; settingsModifier.allowInstantiateOnClient = true; settingsModifier.persistThroughSceneLoads = true; settingsModifier.clientPredicted = false; settingsModifier.updateRate = 1; } var attachedEntity = BoltNetwork.Attach(LocalPlayer.GameObject).GetComponent <BoltEntity>(); attachedEntity.GetState <IPlayerState>().name = !string.IsNullOrEmpty(name) ? name : GriefClientPro.PlayerName; LocalPlayer.Entity = attachedEntity; BoltNetwork.SetCanReceiveEntities(true); return(attachedEntity); }
public static BoltEntity AttachLocalPlayer(GameObject go, string name, bool attachToRespawn) { if (go.GetComponent <BoltEntity>() && go.GetComponent <BoltEntity>().isAttached) { return(go.GetComponent <BoltEntity>()); } go.AddComponent <BoltPlayerSetup>(); go.AddComponent <BoltEntity>(); using (BoltEntitySettingsModifier boltEntitySettingsModifier = go.GetComponent <BoltEntity>().ModifySettings()) { boltEntitySettingsModifier.prefabId = BoltPrefabs.player_net; boltEntitySettingsModifier.serializerId = StateSerializerTypeIds.IPlayerState; boltEntitySettingsModifier.allowInstantiateOnClient = true; boltEntitySettingsModifier.persistThroughSceneLoads = true; boltEntitySettingsModifier.clientPredicted = false; boltEntitySettingsModifier.updateRate = 1; } BoltEntity component = BoltNetwork.Attach(go).GetComponent <BoltEntity>(); component.GetState <IPlayerState>().name = ((!string.IsNullOrEmpty(name)) ? name : "UNKNOWN"); LocalPlayer.Entity = component; LocalPlayer.State = component.GetState <IPlayerState>(); BoltNetwork.SetCanReceiveEntities(true); return(component); }
private IEnumerator LoadingDone() { this.OnLoadingDone(); yield return(null); if (GameSetup.Init == InitTypes.Continue) { while (LevelSerializer.IsDeserializing || PlayerSpawn.LoadSavedCharacter) { yield return(null); } } yield return(null); string name = "Unknown"; if (!CoopPeerStarter.DedicatedHost) { name = SteamFriends.GetPersonaName(); if (name == null || name.Trim().Length == 0) { yield return(null); name = SteamFriends.GetPersonaName(); if (name == null || name.Trim().Length == 0) { name = "Unknown"; } } while (!LocalPlayer.GameObject) { yield return(null); } Debug.Log("Attach local player"); CoopUtils.AttachLocalPlayer(name); } try { BoltNetwork.UpdateSceneObjectsLookup(); } catch (Exception exception) { Debug.LogError("Failed to attach scene objects, ask on slack for a CoopPeerStarter MP debug ASAP"); Debug.LogException(exception); } BoltNetwork.SetCanReceiveEntities(true); UnityEngine.Object.Destroy(base.gameObject); if (this.gui) { UnityEngine.Object.Destroy(this.gui); } yield break; }
protected void BoltSetup() { BoltNetwork.SetCanReceiveEntities(false); BoltNetwork.RegisterTokenClass <CoopConnectToken>(); BoltNetwork.RegisterTokenClass <CoopConstructionExToken>(); BoltNetwork.RegisterTokenClass <CoopFloorToken>(); BoltNetwork.RegisterTokenClass <CoopRoofToken>(); BoltNetwork.RegisterTokenClass <CoopWallChunkToken>(); BoltNetwork.RegisterTokenClass <CoopBridgeToken>(); BoltNetwork.RegisterTokenClass <CoopFoundationChunkTierToken>(); BoltNetwork.RegisterTokenClass <CoopSingleAnchorToken>(); BoltNetwork.RegisterTokenClass <CoopMutantDummyToken>(); BoltNetwork.RegisterTokenClass <CoopDestroyTagToken>(); BoltNetwork.RegisterTokenClass <CoopKickToken>(); BoltNetwork.RegisterTokenClass <CoopCreateBreakToken>(); BoltNetwork.RegisterTokenClass <CoopJoinDedicatedServerToken>(); }
public override void OnEnter() { BoltNetwork.SetCanReceiveEntities(canReceiveEntities.Value); Finish(); }