static void OnPrefabSpawned(ref SpawnPrefabMsg msg, MyNetworkClient sender) { using (MyRandom.Instance.PushSeed(msg.RngSeed)) { MyPrefabManager.Static.SpawnPrefab( msg.PrefabName, (Vector3)(Vector3D)msg.PositionAndOrientation.Position, msg.PositionAndOrientation.Forward, msg.PositionAndOrientation.Up, msg.LinearVelocity, msg.AngularVelocity, msg.BeaconName, msg.SpawningOptions, updateSync: false); } }
internal static void SendPrefabSpawned( String prefabName, MyPositionAndOrientation posAndOri, Vector3 linearV, Vector3 angularV, String beaconName, Sandbox.ModAPI.SpawningOptions options, int rngSeed) { Debug.Assert(Sync.IsServer, "Only server can spawn new prefabs"); var msg = new SpawnPrefabMsg(); msg.PrefabName = prefabName; msg.PositionAndOrientation = posAndOri; msg.LinearVelocity = linearV; msg.AngularVelocity = angularV; msg.BeaconName = beaconName; msg.SpawningOptions = options; msg.RngSeed = rngSeed; Sync.Layer.SendMessageToAll(ref msg); }