Commit eb4285c5 by alsunj

Merge branch 'feat/enemies' into 'main'

Add slime and rogue enemies

See merge request alsunj/loputoo_entities!5
parents b281a3cb f4a70832
Showing with 775 additions and 430 deletions
fileFormatVersion: 2
guid: 80c661846ee2c76a5239a18ae15074f0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 825884203f73ce25bceb857a9d433e23
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -100,16 +100,16 @@ MonoBehaviour:
m_Keys: []
m_Values:
m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLightShadows: 0
m_PrefilteringModeAdditionalLight: 0
m_PrefilteringModeAdditionalLightShadows: 2
m_PrefilterXRKeywords: 1
m_PrefilteringModeForwardPlus: 1
m_PrefilteringModeForwardPlus: 2
m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 1
m_PrefilteringModeScreenSpaceOcclusion: 2
m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 0
m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 0
m_PrefilterAlphaOutput: 1
m_PrefilterSSAODepthNormals: 0
m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 1
......@@ -121,10 +121,10 @@ MonoBehaviour:
m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1
m_PrefilterDBufferMRT3: 0
m_PrefilterSoftShadowsQualityLow: 0
m_PrefilterSoftShadowsQualityMedium: 0
m_PrefilterSoftShadowsQualityHigh: 0
m_PrefilterDBufferMRT3: 1
m_PrefilterSoftShadowsQualityLow: 1
m_PrefilterSoftShadowsQualityMedium: 1
m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 1
......
......@@ -14,7 +14,7 @@ Material:
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 32
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: MinionMaterial
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.511
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.5989195, g: 1, b: 0, a: 0.019607844}
- _Color: {r: 0.5989195, g: 1, b: 0, a: 0.019607844}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8225686986967998630
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
fileFormatVersion: 2
guid: 77cf19e9a78b028409ae90af84fff786
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
using Unity.Entities;
using Unity.Mathematics;
using UnityEngine;
public class CameraFollowAuthoring : MonoBehaviour
{
public float3 Offset = new float3(0, 2, -8);
public class Baker : Baker<CameraFollowAuthoring>
{
public override void Bake(CameraFollowAuthoring authoring)
{
Entity entity = GetEntity(TransformUsageFlags.Dynamic);
AddComponent(entity, new CameraFollow
{
Offset = authoring.Offset
});
}
}
}
using Unity.Entities;
using Unity.NetCode;
using Unity.VisualScripting;
using UnityEngine;
public class SlimeTargetAuthoring : MonoBehaviour
{
public float NpcTargetRadius;
public float AttackCooldownTime;
public NetCodeConfig NetCodeConfig;
public int SimulationTickRate => NetCodeConfig.ClientServerTickRate.SimulationTickRate;
// Start is called once before the first execution of Update after the MonoBehaviour is created
public class SlimeTargetBaker : Baker<SlimeTargetAuthoring>
{
public override void Bake(SlimeTargetAuthoring authoring)
{
Entity entity = GetEntity(TransformUsageFlags.Dynamic);
AddComponent(entity, new NpcTargetRadius { Value = authoring.NpcTargetRadius });
AddComponent(entity, new NpcAttackProperties
{
CooldownTickCount = (uint)(authoring.AttackCooldownTime * authoring.SimulationTickRate)
});
AddComponent<NpcTargetEntity>(entity);
AddComponent<SlimeTag>(entity);
AddBuffer<NpcAttackCooldown>(entity);
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 9a9a9eb6cea0a1842abc3455970d2c7a
\ No newline at end of file
guid: d8b4a5cfe7236db4dba833c5751c2665
\ No newline at end of file
......@@ -77,4 +77,8 @@ public struct MaxHitPoints : IComponentData
public struct CurrentHitPoints : IComponentData
{
[GhostField] public int Value;
}
public struct SlimeTag : IComponentData
{
}
\ No newline at end of file
using TMPro;
using Unity.Entities;
using Unity.NetCode;
using Unity.Networking.Transport;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class ClientConnectionManager : MonoBehaviour
{
[SerializeField] private TMP_InputField _addressField;
[SerializeField] private TMP_InputField _portField;
[SerializeField] private TMP_Dropdown _connectionModeDropdown;
[SerializeField] private TMP_InputField _playerAmountField;
[SerializeField] private TMP_InputField _RogueEnemyAmountField;
[SerializeField] private TMP_InputField _SlimeEnemyAmountField;
[SerializeField] private Button _connectButton;
private ushort Port => ushort.Parse(_portField.text);
private int PlayerAmount => int.Parse(_playerAmountField.text);
private int RogueEnemyAmount => int.Parse(_RogueEnemyAmountField.text);
private int SlimeEnemyAmount => int.Parse(_SlimeEnemyAmountField.text);
private string Address => _addressField.text;
private void OnEnable()
{
_connectionModeDropdown.onValueChanged.AddListener(OnConnectionModeChanged);
_connectButton.onClick.AddListener(OnButtonConnect);
OnConnectionModeChanged(_connectionModeDropdown.value);
}
private void OnDisable()
{
_connectionModeDropdown.onValueChanged.RemoveAllListeners();
_connectButton.onClick.RemoveAllListeners();
}
private void OnConnectionModeChanged(int connectionMode)
{
string buttonLabel;
_connectButton.enabled = true;
switch (connectionMode)
{
case 0:
buttonLabel = "Start Host";
break;
case 1:
buttonLabel = "Start Server";
break;
case 2:
buttonLabel = "Start Client";
break;
default:
buttonLabel = "<ERROR>";
_connectButton.enabled = false;
break;
}
var buttonText = _connectButton.GetComponentInChildren<TextMeshProUGUI>();
buttonText.text = buttonLabel;
}
private void OnButtonConnect()
{
DestroyLocalSimulationWorld();
SceneManager.LoadScene(1);
switch (_connectionModeDropdown.value)
{
case 0:
StartServer();
StartClient();
break;
case 1:
StartServer();
break;
case 2:
StartClient();
break;
default:
Debug.LogError("Error: Unknown connection mode", gameObject);
break;
}
}
private static void DestroyLocalSimulationWorld()
{
foreach (var world in World.All)
{
if (world.Flags == WorldFlags.Game)
{
world.Dispose();
break;
}
}
}
private void StartServer()
{
var serverWorld = ClientServerBootstrap.CreateServerWorld("Game Server World");
var serverEndpoint = NetworkEndpoint.AnyIpv4.WithPort(Port);
{
using var networkDriverQuery =
serverWorld.EntityManager.CreateEntityQuery(ComponentType.ReadWrite<NetworkStreamDriver>());
networkDriverQuery.GetSingletonRW<NetworkStreamDriver>().ValueRW.Listen(serverEndpoint);
}
var enemyAmountEntity = serverWorld.EntityManager.CreateEntity();
serverWorld.EntityManager.AddComponentData(enemyAmountEntity, new EnemyAmountRpc
{
PlayerAmount = PlayerAmount,
RogueEnemyAmount = RogueEnemyAmount,
SlimeEnemyAmount = SlimeEnemyAmount
});
}
private void StartClient()
{
var clientWorld = ClientServerBootstrap.CreateClientWorld("Game Client World");
var connectionEndpoint = NetworkEndpoint.Parse(Address, Port);
{
using var networkDriverQuery =
clientWorld.EntityManager.CreateEntityQuery(ComponentType.ReadWrite<NetworkStreamDriver>());
networkDriverQuery.GetSingletonRW<NetworkStreamDriver>().ValueRW
.Connect(clientWorld.EntityManager, connectionEndpoint);
}
World.DefaultGameObjectInjectionWorld = clientWorld;
var ConnectionRequestEntity = clientWorld.EntityManager.CreateEntity();
clientWorld.EntityManager.AddComponentData(ConnectionRequestEntity, new ClientConnectionRpc());
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 72405cbc295497045b447fc4d7fc5639
\ No newline at end of file
guid: a7b2b2def6eb63d45ac39ab238bc026a
\ No newline at end of file
using Unity.Collections;
using Unity.Entities;
using Unity.Mathematics;
using Unity.NetCode;
using Unity.Transforms;
using UnityEngine;
[WorldSystemFilter(WorldSystemFilterFlags.ClientSimulation)]
public partial struct ClientRequestGameEntrySystem : ISystem
{
public void OnCreate(ref SystemState state)
{
EntityQueryBuilder entityQueryBuilder = new EntityQueryBuilder(Allocator.Temp)
.WithAll<NetworkId>()
.WithNone<NetworkStreamInGame>();
state.RequireForUpdate(state.GetEntityQuery(entityQueryBuilder));
entityQueryBuilder.Dispose();
state.RequireForUpdate<ClientConnectionRpc>();
}
public void OnUpdate(ref SystemState state)
{
EntityCommandBuffer entityCommandBuffer = new EntityCommandBuffer(Unity.Collections.Allocator.Temp);
foreach ((
RefRO<NetworkId> networkId,
Entity entity)
in SystemAPI.Query
<RefRO<NetworkId>>().WithNone<NetworkStreamInGame>().WithEntityAccess())
{
entityCommandBuffer.AddComponent<NetworkStreamInGame>(entity);
var requestGameConnection = entityCommandBuffer.CreateEntity();
GameObject playerCameraGO = new GameObject($"Camera{networkId.ValueRO.Value}");
playerCameraGO.AddComponent<Camera>();
FollowPlayer followScript = playerCameraGO.AddComponent<FollowPlayer>();
followScript.networkId = networkId.ValueRO.Value; // Store networkId instead of dire
entityCommandBuffer.AddComponent(requestGameConnection, new GoInGameRequestRpc());
entityCommandBuffer.AddComponent(requestGameConnection, new SendRpcCommandRequest());
}
entityCommandBuffer.Playback(state.EntityManager);
}
}
[WorldSystemFilter(WorldSystemFilterFlags.ThinClientSimulation)]
public partial struct ThinClientRequestGameEntrySystem : ISystem
{
public void OnCreate(ref SystemState state)
{
EntityQueryBuilder entityQueryBuilder = new EntityQueryBuilder(Allocator.Temp)
.WithAll<NetworkId>()
.WithNone<NetworkStreamInGame>();
state.RequireForUpdate(state.GetEntityQuery(entityQueryBuilder));
entityQueryBuilder.Dispose();
state.RequireForUpdate<ClientConnectionRpc>();
}
public void OnUpdate(ref SystemState state)
{
EntityCommandBuffer entityCommandBuffer = new EntityCommandBuffer(Unity.Collections.Allocator.Temp);
foreach ((
RefRO<NetworkId> networkId,
Entity entity)
in SystemAPI.Query
<RefRO<NetworkId>>().WithNone<NetworkStreamInGame>().WithEntityAccess())
{
entityCommandBuffer.AddComponent<NetworkStreamInGame>(entity);
var requestGameConnection = entityCommandBuffer.CreateEntity();
entityCommandBuffer.AddComponent(requestGameConnection, new GoInGameRequestRpc());
entityCommandBuffer.AddComponent(requestGameConnection, new SendRpcCommandRequest());
}
entityCommandBuffer.Playback(state.EntityManager);
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 29952291b728207469c23a6e48c25a39
\ No newline at end of file
guid: 5833dda4e2d553443bd297cc1f47a02a
\ No newline at end of file
using Unity.NetCode;
[UnityEngine.Scripting.Preserve]
public class GameBootstrap : ClientServerBootstrap
{
public override bool Initialize(string defaultWorldName)
{
AutoConnectPort = 7970;
return base.Initialize(defaultWorldName);
}
}
\ No newline at end of file
//[UnityEngine.Scripting.Preserve]
// public class GameBootstrap : ClientServerBootstrap
// {
// public override bool Initialize(string defaultWorldName)
// {
// AutoConnectPort = 7970;
// return base.Initialize(defaultWorldName);
// }
// }
\ No newline at end of file
#if UNITY_EDITOR
using Unity.Entities;
using UnityEngine.SceneManagement;
namespace Helpers
{
public partial class LoadConnectionSceneSystem : SystemBase
{
protected override void OnCreate()
{
Enabled = false;
if (SceneManager.GetActiveScene() == SceneManager.GetSceneByBuildIndex(0)) return;
SceneManager.LoadScene(0);
}
protected override void OnUpdate()
{
}
}
}
#endif
\ No newline at end of file
fileFormatVersion: 2
guid: 92ffb9f1b0a71bb49861af95132f57c3
\ No newline at end of file
using Unity.Entities;
using Unity.Mathematics;
public struct CameraFollow : IComponentData
{
public Entity PlayerEntity;
public float3 Offset;
}
\ No newline at end of file
......@@ -34,6 +34,17 @@ public struct PlayerTag : IComponentData
{
}
[GhostComponent(PrefabType = GhostPrefabType.AllPredicted, OwnerSendType = SendToOwnerType.SendToOwner)]
public struct PlayerCameraBind : IComponentData
{
public int ClientNetworkId;
}
public struct CameraFollow : IComponentData
{
public Entity PlayerEntity;
public float3 Offset;
}
public struct TeamTypes : IComponentData
{
......
using Unity.NetCode;
using UnityEngine;
public struct GoInGameRequestRpc : IRpcCommand
{
}
\ No newline at end of file
using Unity.NetCode;
using UnityEngine;
public struct GoInGameRequestRpc : IRpcCommand
{
}
public struct ClientConnectionRpc : IRpcCommand
{
}
public struct EnemyAmountRpc : IRpcCommand
{
public int PlayerAmount;
public int RogueEnemyAmount;
public int SlimeEnemyAmount;
}
public struct PlayersRemainingToStart : IRpcCommand
{
public int Value;
}
public struct GameStartTickRpc : IRpcCommand
{
public NetworkTick Value;
}
\ No newline at end of file
fileFormatVersion: 2
guid: 3d310b3da45386c4d97c1f42292c6d1a
\ No newline at end of file
......@@ -77,6 +77,7 @@ public struct DamageOnTriggerJob : ITriggerEventsJob
}
var damageOnTrigger = DamageOnTriggerLookup[damageDealingEntity];
ECB.AddComponent<DestroyEntityTag>(damageDealingEntity);
ECB.AppendToBuffer(damageReceivingEntity, new DamageBufferElement { Value = damageOnTrigger.Value });
ECB.AppendToBuffer(damageDealingEntity, new AlreadyDamagedEntity { Value = damageReceivingEntity });
}
......
......@@ -6,14 +6,26 @@ using Unity.Transforms;
[UpdateInGroup(typeof(PredictedSimulationSystemGroup))]
public partial struct MoveAbilitySystem : ISystem
{
[BurstCompile]
public void OnUpdate(ref SystemState state)
{
var deltaTime = SystemAPI.Time.DeltaTime;
foreach (var (transform, moveSpeed) in SystemAPI.Query<RefRW<LocalTransform>, AbilityMoveSpeed>()
.WithAll<Simulate>())
state.Dependency = new MoveAbilityJob
{
transform.ValueRW.Position += transform.ValueRW.Forward() * moveSpeed.Value * deltaTime;
}
DeltaTime = deltaTime
}.ScheduleParallel(state.Dependency);
}
}
[BurstCompile]
[WithNone(typeof(SlimeTag))]
public partial struct MoveAbilityJob : IJobEntity
{
public float DeltaTime;
[BurstCompile]
private void Execute(ref LocalTransform transform, in AbilityMoveSpeed moveSpeed)
{
transform.Position += transform.Forward() * moveSpeed.Value * DeltaTime;
}
}
\ No newline at end of file
using Unity.Entities;
using Unity.Mathematics;
using Unity.NetCode;
using Unity.Transforms;
[UpdateInGroup(typeof(PredictedSimulationSystemGroup))]
public partial struct MoveSlimeSystem : ISystem
{
public void OnCreate(ref SystemState state)
{
state.RequireForUpdate<AbilityMoveSpeed>();
state.RequireForUpdate<TeamTypes>();
state.RequireForUpdate<NpcTargetEntity>();
}
public void OnUpdate(ref SystemState state)
{
var deltaTime = SystemAPI.Time.DeltaTime;
var localTransformLookup = SystemAPI.GetComponentLookup<LocalTransform>(true);
foreach (var (transform, moveSpeed, teamType, targetEntity) in SystemAPI
.Query<RefRW<LocalTransform>, RefRO<AbilityMoveSpeed>, RefRO<TeamTypes>, RefRO<NpcTargetEntity>>()
.WithAny<SlimeTag>())
{
if (teamType.ValueRO.Value == TeamType.Enemy && targetEntity.ValueRO.Value != Entity.Null)
{
if (localTransformLookup.HasComponent(targetEntity.ValueRO.Value))
{
var targetPosition = localTransformLookup[targetEntity.ValueRO.Value].Position;
var direction = math.normalize(targetPosition - transform.ValueRW.Position);
transform.ValueRW.Position += direction * moveSpeed.ValueRO.Value * deltaTime;
}
}
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 3783f791f48f7b047a3354bfe6fc88c9
\ No newline at end of file
......@@ -30,6 +30,7 @@ public partial struct NpcAttackSystem : ISystem
[BurstCompile]
[WithAll(typeof(Simulate))]
[WithNone(typeof(SlimeTag))]
public partial struct NpcAttackJob : IJobEntity
{
[ReadOnly] public NetworkTick CurrentTick;
......
......@@ -57,8 +57,8 @@ public partial struct NpcTargetingSystem : ISystem
foreach (var hit in hits)
{
if (!TeamTypeLookup.TryGetComponent(hit.Entity, out var mobaTeam)) continue;
if (mobaTeam.Value == TeamTypeLookup[npcEntity].Value) continue;
if (!TeamTypeLookup.TryGetComponent(hit.Entity, out var teamTypes)) continue;
if (teamTypes.Value == TeamTypeLookup[npcEntity].Value) continue;
if (hit.Distance < closestDistance)
{
closestDistance = hit.Distance;
......
using Unity.Burst;
using Unity.Entities;
partial struct ClientStartGameSystem : ISystem
{
[BurstCompile]
public void OnCreate(ref SystemState state)
{
}
[BurstCompile]
public void OnUpdate(ref SystemState state)
{
}
[BurstCompile]
public void OnDestroy(ref SystemState state)
{
}
}
fileFormatVersion: 2
guid: 5318f86996632cc4baade29ca3064f7f
\ No newline at end of file
......@@ -13,10 +13,7 @@ partial struct GoInGameServerSystem : ISystem
{
state.RequireForUpdate<EntititesReferences>();
state.RequireForUpdate<NetworkId>();
// EntityQueryBuilder entityQueryBuilder = new EntityQueryBuilder(Unity.Collections.Allocator.Temp)
// .WithAll<GoInGameRequestRpc>().WithAll<ReceiveRpcCommandRequest>();
// state.RequireForUpdate(state.GetEntityQuery(entityQueryBuilder));
// entityQueryBuilder.Dispose();
state.RequireForUpdate<GoInGameRequestRpc>();
}
[BurstCompile]
......
using Unity.Burst;
using Unity.Entities;
partial struct ServerStartGameSystem : ISystem
{
[BurstCompile]
public void OnCreate(ref SystemState state)
{
}
[BurstCompile]
public void OnUpdate(ref SystemState state)
{
}
[BurstCompile]
public void OnDestroy(ref SystemState state)
{
}
}
fileFormatVersion: 2
guid: 4b9f0553ae9c13c4a8e2e6161fdca969
\ No newline at end of file
......@@ -10,8 +10,8 @@ using UnityEngine;
[UpdateInGroup(typeof(PredictedSimulationSystemGroup))]
public partial class RespawnPlayerSystem : SystemBase
{
public static Action<int> OnUpdateRespawnCountdown;
public static Action OnRespawn;
public Action<int> OnUpdateRespawnCountdown;
public Action OnRespawn;
protected override void OnCreate()
{
......@@ -55,21 +55,21 @@ public partial class RespawnPlayerSystem : SystemBase
var newPlayer = ecb.Instantiate(playerPrefab);
ecb.SetComponent(newPlayer, new GhostOwner { NetworkId = networkId });
// ecb.SetComponent(newPlayer, new ChampMoveTargetPosition
// {
// Value = playerSpawnInfo.SpawnPosition
// });
ecb.SetComponent(newPlayer, LocalTransform.FromPosition(new float3(
UnityEngine.Random.Range(-10, +10), 0, 0)));
ecb.SetComponent(newPlayer,
LocalTransform.FromPosition(new float3(UnityEngine.Random.Range(-10, +10), 0, 0)));
ecb.AppendToBuffer(curRespawn.NetworkEntity, new LinkedEntityGroup { Value = newPlayer });
ecb.AddComponent(newPlayer, new NetworkEntityReference { Value = curRespawn.NetworkEntity });
CreateCameraForNewPlayer(networkId); // Call the camera creation function
respawnsToCleanup.Add(i);
}
else
{
OnRespawn?.Invoke();
if (SystemAPI.TryGetSingleton<NetworkId>(out var clientNetworkId) &&
curRespawn.NetworkId == clientNetworkId.Value)
{
CreateCameraForNewPlayer(curRespawn.NetworkId);
}
}
}
else if (!isServer)
......@@ -88,7 +88,6 @@ public partial class RespawnPlayerSystem : SystemBase
}
}
foreach (var respawnIndex in respawnsToCleanup)
{
respawnBuffer.RemoveAt(respawnIndex);
......@@ -103,6 +102,6 @@ public partial class RespawnPlayerSystem : SystemBase
GameObject playerCameraGO = new GameObject($"Camera{networkId}");
playerCameraGO.AddComponent<Camera>();
FollowPlayer followScript = playerCameraGO.AddComponent<FollowPlayer>();
followScript.networkId = networkId; // Store networkId for later use (if needed)
followScript.networkId = networkId;
}
}
\ No newline at end of file
......@@ -4,7 +4,6 @@ using Unity.Mathematics;
using Unity.NetCode;
using Unity.Physics;
using Unity.Transforms;
using UnityEngine;
[UpdateInGroup(typeof(PredictedSimulationSystemGroup))]
partial struct NetcodePlayerMovementSystem : ISystem
......@@ -53,14 +52,16 @@ partial struct NetcodePlayerMovementSystem : ISystem
}
}
// Apply instant movement
physicsVelocity.ValueRW.Linear = moveVector * moveSpeed;
// Apply smooth movement
physicsVelocity.ValueRW.Linear =
math.lerp(physicsVelocity.ValueRO.Linear, moveVector * moveSpeed, deltaTime * 10);
// Optionally, update the rotation to face the movement direction
if (!math.all(moveVector == float3.zero))
{
quaternion targetRotation = quaternion.LookRotationSafe(moveVector, math.up());
localTransform.ValueRW.Rotation = math.slerp(localTransform.ValueRO.Rotation, targetRotation, 0.1f);
localTransform.ValueRW.Rotation =
math.slerp(localTransform.ValueRO.Rotation, targetRotation, deltaTime * 10);
}
}
}
......
......@@ -6,6 +6,5 @@ public enum TeamType : byte
None = 0,
Player = 1,
Enemy = 2,
AutoAssign = Byte.MaxValue,
}
\ No newline at end of file
......@@ -2,39 +2,45 @@
using Unity.Entities;
using UnityEngine;
namespace TMG.NFE_Tutorial
public class RespawnUIController : MonoBehaviour
{
public class RespawnUIController : MonoBehaviour
[SerializeField] private GameObject _respawnPanel;
[SerializeField] private TextMeshProUGUI _respawnCountdownText;
private void OnEnable()
{
[SerializeField] private GameObject _respawnPanel;
[SerializeField] private TextMeshProUGUI _respawnCountdownText;
_respawnPanel.SetActive(false);
private void OnEnable() // Use OnEnable for subscribing
if (World.DefaultGameObjectInjectionWorld == null) return;
var respawnSystem = World.DefaultGameObjectInjectionWorld.GetExistingSystemManaged<RespawnPlayerSystem>();
if (respawnSystem != null)
{
_respawnPanel.SetActive(false);
// Subscribe directly to the static events:
RespawnPlayerSystem.OnUpdateRespawnCountdown += UpdateRespawnCountdownText;
RespawnPlayerSystem.OnRespawn += CloseRespawnPanel;
respawnSystem.OnUpdateRespawnCountdown += UpdateRespawnCountdownText;
respawnSystem.OnRespawn += CloseRespawnPanel;
}
}
private void OnDisable()
private void OnDisable()
{
if (World.DefaultGameObjectInjectionWorld == null) return;
var respawnSystem = World.DefaultGameObjectInjectionWorld.GetExistingSystemManaged<RespawnPlayerSystem>();
if (respawnSystem != null)
{
// Unsubscribe directly from the static events (IMPORTANT):
RespawnPlayerSystem.OnUpdateRespawnCountdown -= UpdateRespawnCountdownText;
RespawnPlayerSystem.OnRespawn -= CloseRespawnPanel;
respawnSystem.OnUpdateRespawnCountdown -= UpdateRespawnCountdownText;
respawnSystem.OnRespawn -= CloseRespawnPanel;
}
}
private void UpdateRespawnCountdownText(int countdownTime)
{
if (!_respawnPanel.activeSelf) _respawnPanel.SetActive(true);
private void UpdateRespawnCountdownText(int countdownTime)
{
if (!_respawnPanel.activeSelf) _respawnPanel.SetActive(true);
_respawnCountdownText.text = countdownTime.ToString();
}
_respawnCountdownText.text = countdownTime.ToString();
}
private void CloseRespawnPanel()
{
_respawnPanel.SetActive(false);
}
private void CloseRespawnPanel()
{
_respawnPanel.SetActive(false);
}
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
fileFormatVersion: 2
guid: 0d7047f5c9a2aab44b422eae9fb6638b
guid: 72327351aa28fbe4fb4c16c3d17e4de5
PrefabImporter:
externalObjects: {}
userData:
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &1838675002304973312
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 544445575287296422, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: TeamType
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4119712591281040369, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_Name
value: RogueEnemy (1) Variant
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalScale.x
value: 1.99
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalScale.y
value: 1.99
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalScale.z
value: 1.99
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalPosition.x
value: -3.8
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalPosition.z
value: -6.02
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4518211183990774724, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7330549200574829686, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_SphereRadius
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7330549200574829686, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_Capsule.Radius
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7330549200574829686, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_Cylinder.Radius
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7330549200574829686, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_PrimitiveSize.x
value: 4
objectReference: {fileID: 0}
- target: {fileID: 7330549200574829686, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_PrimitiveSize.y
value: 4
objectReference: {fileID: 0}
- target: {fileID: 7330549200574829686, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_Material.m_BelongsToCategories.m_Value.Category01
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7330549200574829686, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_Material.m_BelongsToCategories.m_Value.Category02
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7330549200574829686, guid: 31ddab13d76d526499c2002833a10312, type: 3}
propertyPath: m_Material.m_CollidesWithCategories.m_Value.Category02
value: 1
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 7671856692459541817, guid: 31ddab13d76d526499c2002833a10312, type: 3}
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 31ddab13d76d526499c2002833a10312, type: 3}
......@@ -103,7 +103,6 @@ MonoBehaviour:
NpcTargetRadius: 15
AttackCooldownTime: 2
FirePointOffset: {x: 0, y: 1.5, z: 0}
EnemyRotationSpeed: 20
AttackPrefab: {fileID: 357967689053387235, guid: 19127a4c1ac11844db4373b9e147918b, type: 3}
NetCodeConfig: {fileID: 11400000, guid: cd69de227738309429193c9089949c16, type: 2}
--- !u!114 &7330549200574829686
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2899838405596494908
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 108378693547780218}
- component: {fileID: 2349629478142552956}
- component: {fileID: 3980965066747110663}
- component: {fileID: 2785597493276934987}
- component: {fileID: -1646835149202598146}
- component: {fileID: -202488746562016087}
- component: {fileID: -6588502853141303043}
- component: {fileID: 7308881765750536992}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &108378693547780218
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2899838405596494908}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2349629478142552956
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2899838405596494908}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &3980965066747110663
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2899838405596494908}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &2785597493276934987
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2899838405596494908}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &-1646835149202598146
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2899838405596494908}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c16549610bfe4458aa9389201d072bb6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &-202488746562016087
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2899838405596494908}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7c79d771cedb4794bf100ce60df5f764, type: 3}
m_Name:
m_EditorClassIdentifier:
DefaultGhostMode: 2
SupportedGhostModes: 3
OptimizationMode: 0
Importance: 1
MaxSendRate: 0
prefabId: 90328a79d7583f749a2b13d989efcaa8
HasOwner: 1
SupportAutoCommandTarget: 1
TrackInterpolationDelay: 0
GhostGroup: 0
UsePreSerialization: 0
RollbackPredictedSpawnedGhostState: 0
RollbackPredictionOnStructuralChanges: 1
--- !u!54 &-6588502853141303043
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2899838405596494908}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 84
m_CollisionDetection: 0
--- !u!114 &7308881765750536992
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2899838405596494908}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 725f443b46fd3448e9c957fb78798883, type: 3}
m_Name:
m_EditorClassIdentifier:
ServerPrefab: {fileID: 0}
ClientPrefab: {fileID: 2376445730206303677, guid: 4e5cb8aa1739e0e4e9f39ec61f344ee2, type: 3}
......@@ -320,7 +320,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8e73c985659b81d408f4e99cb152349d, type: 3}
m_Name:
m_EditorClassIdentifier:
MaxHitPoints: 1000
MaxHitPoints: 500
--- !u!1001 &6975352639711469968
PrefabInstance:
m_ObjectHideFlags: 0
......
fileFormatVersion: 2
guid: 5652506fc72e4fa42a51d693df592812
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -380,6 +380,18 @@ PrefabInstance:
propertyPath: m_Name
value: HUDCanvas
objectReference: {fileID: 0}
- target: {fileID: 1033715538230118892, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
value: 1801810542
objectReference: {fileID: 0}
- target: {fileID: 1796973617372691604, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1828345383611332528, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2274541876267278006, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: m_Pivot.x
value: 0
......@@ -460,12 +472,38 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3459062252518051838, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
value: 1801810542
objectReference: {fileID: 0}
- target: {fileID: 4313165332373534701, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
value: 1801810542
objectReference: {fileID: 0}
- target: {fileID: 4776685628420966923, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4973084550295746815, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5706297442706245628, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6766818103523215656, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8914969948828194284, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_RemovedGameObjects:
- {fileID: 4776685628420966923, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
- {fileID: 6766818103523215656, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: dc695439125c44a4190bdc008aa5a0fc, type: 3}
......@@ -518,6 +556,51 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1039235016
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1039235018}
- component: {fileID: 1039235017}
m_Layer: 0
m_Name: Bootstrapper
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1039235017
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1039235016}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6d22fe1802f646eeb96208b5b2315fd6, type: 3}
m_Name:
m_EditorClassIdentifier:
ForceAutomaticBootstrapInScene: 0
--- !u!4 &1039235018
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1039235016}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -2.0879242, y: -6.9299984, z: -4.212125}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1530776034
GameObject:
m_ObjectHideFlags: 0
......@@ -660,3 +743,4 @@ SceneRoots:
- {fileID: 1530776037}
- {fileID: 832575519}
- {fileID: 1995076955}
- {fileID: 1039235018}
......@@ -6,6 +6,9 @@ EditorBuildSettings:
serializedVersion: 2
m_Scenes:
- enabled: 1
path: Assets/_Game/Scenes/ConnectionScene.unity
guid: 5652506fc72e4fa42a51d693df592812
- enabled: 1
path: Assets/_Game/Scenes/GameScene.unity
guid: 99c9720ab356a0642a771bea13969a05
m_configObjects:
......
......@@ -36,10 +36,8 @@ GraphicsSettings:
- {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
m_PreloadedShaders: []
m_PreloadShadersBatchTimeLimit: -1
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
type: 0}
m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd,
type: 2}
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, type: 2}
m_TransparencySortMode: 0
m_TransparencySortAxis: {x: 0, y: 0, z: 1}
m_DefaultRenderingPath: 1
......@@ -60,8 +58,7 @@ GraphicsSettings:
m_FogKeepExp2: 1
m_AlbedoSwatchInfos: []
m_RenderPipelineGlobalSettingsMap:
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa,
type: 2}
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, type: 2}
m_LightsUseLinearIntensity: 1
m_LightsUseColorTemperature: 1
m_LogWhenShaderIsCompiled: 0
......
......@@ -141,7 +141,8 @@ PlayerSettings:
visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0
bundleVersion: 0.1.0
preloadedAssets: []
preloadedAssets:
- {fileID: -944628639613478452, guid: 14b037eabac02c946b6a54f5e7289a64, type: 3}
metroInputSource: 0
wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment