Skip to content

Commit 8040229

Browse files
Merge pull request #307 from Unity-Technologies/netcodeSamples-update-after-1-12-0-release
Updating NetcodeSamples to latest 1.12.0 package state
2 parents deb2b52 + b54d240 commit 8040229

File tree

59 files changed

+12475
-2017
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+12475
-2017
lines changed

NetcodeSamples/Assets/Samples/Asteroids/Asteroids.unity

Lines changed: 606 additions & 7 deletions
Large diffs are not rendered by default.

NetcodeSamples/Assets/Samples/Asteroids/Authoring/Server/ServerSettingsAuthoring.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Unity.Entities;
2+
using Unity.NetCode.HostMigration;
23
using UnityEngine;
34

45
[DisallowMultipleComponent]
@@ -15,6 +16,7 @@ public override void Bake(ServerSettingsAuthoring authoring)
1516
component.levelData = authoring.levelData;
1617
var entity = GetEntity(TransformUsageFlags.Dynamic);
1718
AddComponent(entity, component);
19+
AddComponent<IncludeInMigration>(entity);
1820
}
1921
}
2022
}

NetcodeSamples/Assets/Samples/Asteroids/Client/Systems/Rendering/ShipTrackingSystem.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public void Execute(ref ParticleEmitterComponentData emitter, in ShipStateCompon
3333
}
3434

3535
[UpdateInGroup(typeof(PresentationSystemGroup))]
36+
[BurstCompile]
3637
public partial class ShipTrackingSystem : SystemBase
3738
{
3839
EntityQuery m_LevelGroup;
@@ -54,7 +55,8 @@ protected override void OnDestroy()
5455
m_RenderOffset.Dispose();
5556
}
5657

57-
partial struct ShipTrackingJob : IJobEntity
58+
[BurstCompile]
59+
partial struct ShipTrackingJob : IJob
5860
{
5961
public float deltaTime;
6062
public int screenHeight;

NetcodeSamples/Assets/Samples/Asteroids/Client/Systems/StaticAsteroidSystem.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ partial struct StaticAsteroidJob : IJobChunk
4040

4141
public void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask)
4242
{
43+
// This job is not written to support queries with enableable component types.
44+
UnityEngine.Assertions.Assert.IsFalse(useEnabledMask);
45+
4346
// We update the server values infrequently, as we only need the updated
4447
// LocalTransform positions for distance importance scaling & relevancy calculations.
4548
if (isServer && (chunk.SequenceNumber + tick.TickIndexForValidTick) % roundRobinFrequency >= simulationStepBatchSize) return;
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
using System;
2+
using Unity.Entities;
3+
using Unity.NetCode;
4+
using UnityEngine;
5+
using UnityEngine.UI;
6+
7+
namespace Samples.Asteroids.Host.UI
8+
{
9+
public class GameOptions : MonoBehaviour
10+
{
11+
GameObject m_OptionsPanel;
12+
InputField m_AsteroidCountTextBox;
13+
EntityQuery m_ServerSettingsQuery;
14+
15+
void Start()
16+
{
17+
m_OptionsPanel = gameObject.transform.Find("Panel").gameObject;
18+
m_OptionsPanel.SetActive(false);
19+
m_AsteroidCountTextBox = m_OptionsPanel.transform.Find("Count").GetComponent<InputField>();
20+
}
21+
22+
void Update()
23+
{
24+
// Can only set options on the host/server
25+
if (ClientServerBootstrap.ServerWorld == null)
26+
return;
27+
28+
if ( Input.GetKeyDown("o") )
29+
{
30+
m_OptionsPanel.SetActive(!m_OptionsPanel.activeSelf);
31+
32+
if (m_OptionsPanel.activeSelf)
33+
{
34+
if (m_ServerSettingsQuery==default)
35+
m_ServerSettingsQuery = ClientServerBootstrap.ServerWorld.EntityManager.CreateEntityQuery(typeof(ServerSettings));
36+
37+
if (m_ServerSettingsQuery.IsEmpty)
38+
return;
39+
40+
var numAsteroids = m_ServerSettingsQuery.GetSingleton<ServerSettings>().levelData.numAsteroids;
41+
m_AsteroidCountTextBox.text = $"{numAsteroids}";
42+
}
43+
}
44+
}
45+
46+
public void SetAsteroidCount()
47+
{
48+
m_ServerSettingsQuery.GetSingletonRW<ServerSettings>().ValueRW.levelData.numAsteroids = Int32.Parse( m_AsteroidCountTextBox.text );
49+
}
50+
}
51+
}

NetcodeSamples/Assets/Samples/Asteroids/Server/GameOptions.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

NetcodeSamples/Assets/Samples/Asteroids/Server/Systems/AsteroidGameSpawnSystem.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,14 +352,19 @@ public void Execute()
352352

353353
ecb.SetComponent(e, trans);
354354
if (staticAsteroidOptimization == 1)
355+
{
356+
UnityEngine.Debug.Assert(tick.IsValid);
355357
ecb.SetComponent(e,
356358
new StaticAsteroid
357359
{
358360
InitialPosition = trans.Position.xy, InitialVelocity = vel.Value, InitialAngle = angle,
359-
SpawnTick = tick
361+
SpawnTick = tick,
360362
});
363+
}
361364
else
365+
{
362366
ecb.SetComponent(e, vel);
367+
}
363368
}
364369

365370
random.Value = rand;
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using Unity.Burst;
2+
using Unity.Entities;
3+
using Unity.Jobs;
4+
using Unity.Collections;
5+
using Unity.NetCode;
6+
using Unity.Mathematics;
7+
using Unity.NetCode.HostMigration;
8+
using System;
9+
10+
namespace Asteroids.Server
11+
{
12+
[BurstCompile]
13+
[WorldSystemFilter(WorldSystemFilterFlags.ServerSimulation)]
14+
[UpdateBefore(typeof(RpcSystem))]
15+
public partial struct RegisterMigrationTypesSystem : ISystem
16+
{
17+
public void OnCreate(ref SystemState state)
18+
{
19+
var migrationTypesEntity = state.EntityManager.CreateSingletonBuffer<NonGhostMigrationComponents>();
20+
var migreationTypesBuffer = state.EntityManager.GetBuffer<NonGhostMigrationComponents>(migrationTypesEntity, false);
21+
22+
migreationTypesBuffer.Add( new NonGhostMigrationComponents(){ ComponentToMigrate = ComponentType.ReadOnly<ServerSettings>() } );
23+
}
24+
25+
[BurstCompile]
26+
public void OnUpdate(ref SystemState state)
27+
{
28+
}
29+
}
30+
}

NetcodeSamples/Assets/Samples/Asteroids/Server/Systems/RegisterMigrationTypesSystem.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

NetcodeSamples/Assets/Samples/HelloNetcode/1_Basics/01_BootstrapAndFrontend/Bootstrap/FrontendBootstrap.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public override bool Initialize(string defaultWorldName)
4949
var activeScene = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name;
5050
if (!isFromCommandLine) targetScene = activeScene;
5151

52-
var isFrontend = targetScene == frontendScene;
52+
var isFrontend = targetScene.Contains(frontendScene);
5353

5454
// Handle server setup errors:
5555
if (IsServerPlatform)

0 commit comments

Comments
 (0)