Commit 18e4fc51 by alsunj

Added testscene and modified detection range for enemies

parent 3edac691
Showing with 286 additions and 145 deletions
fileFormatVersion: 2
guid: 4ad7a70046e55a89d6d1a7db04469048
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 5b31099965cfb1e03b436884865de106
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using Unity.Entities;
using UnityEngine;
public class DamageOnCollisionAuthoring : MonoBehaviour
public class DamageOnTriggerAuthoring : MonoBehaviour
{
public int DamageOnTrigger;
public class DamageOnCollisionBaker : Baker<DamageOnCollisionAuthoring>
public class DamageOnCollisionBaker : Baker<DamageOnTriggerAuthoring>
{
public override void Bake(DamageOnCollisionAuthoring authoring)
public override void Bake(DamageOnTriggerAuthoring authoring)
{
var entity = GetEntity(TransformUsageFlags.Dynamic);
AddComponent(entity, new DamageOnCollision { Value = authoring.DamageOnTrigger });
AddComponent(entity, new DamageOnTrigger { Value = authoring.DamageOnTrigger });
AddBuffer<AlreadyDamagedEntity>(entity);
}
}
......
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>
......@@ -19,14 +12,9 @@ public class SlimeTargetAuthoring : MonoBehaviour
{
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);
AddComponent<SlimeTargetDirection>(entity);
AddBuffer<NpcAttackCooldown>(entity);
}
}
}
\ No newline at end of file
......@@ -46,7 +46,7 @@ public struct AbilityMoveSpeed : IComponentData
public float Value;
}
public struct DamageOnCollision : IComponentData
public struct DamageOnTrigger : IComponentData
{
public int Value;
}
......
......@@ -6,7 +6,7 @@ using Unity.Physics.Systems;
[UpdateInGroup(typeof(PhysicsSystemGroup))]
[UpdateAfter(typeof(PhysicsSimulationGroup))]
public partial struct DamageOnCollisionSystem : ISystem
public partial struct DamageOnTriggerSystem : ISystem
{
public void OnCreate(ref SystemState state)
{
......@@ -19,43 +19,43 @@ public partial struct DamageOnCollisionSystem : ISystem
public void OnUpdate(ref SystemState state)
{
var ecbSingleton = SystemAPI.GetSingleton<EndSimulationEntityCommandBufferSystem.Singleton>();
var damageOnCollisionJob = new DamageOnCollisionJob
var damageOnCollisionJob = new DamageOnTriggerJob
{
DamageOnCollisionLookup = SystemAPI.GetComponentLookup<DamageOnCollision>(true),
TeamLookup = SystemAPI.GetComponentLookup<TeamTypes>(true),
DamageOnTriggerLookup = SystemAPI.GetComponentLookup<DamageOnTrigger>(true),
AlreadyDamagedLookup = SystemAPI.GetBufferLookup<AlreadyDamagedEntity>(true),
DamageBufferLookup = SystemAPI.GetBufferLookup<DamageBufferElement>(true),
ECB = ecbSingleton.CreateCommandBuffer(state.WorldUnmanaged)
};
var simulationSingleton = SystemAPI.GetSingleton<SimulationSingleton>();
damageOnCollisionJob.Schedule(simulationSingleton, state.Dependency).Complete();
state.Dependency = damageOnCollisionJob.Schedule(simulationSingleton, state.Dependency);
}
}
public struct DamageOnCollisionJob : ICollisionEventsJob
//team lookup is no more necessary as the enemy only collides with player now.
public struct DamageOnTriggerJob : ITriggerEventsJob
{
[ReadOnly] public ComponentLookup<DamageOnCollision> DamageOnCollisionLookup;
[ReadOnly] public ComponentLookup<TeamTypes> TeamLookup;
[ReadOnly] public ComponentLookup<DamageOnTrigger> DamageOnTriggerLookup;
public BufferLookup<AlreadyDamagedEntity> AlreadyDamagedLookup;
public BufferLookup<DamageBufferElement> DamageBufferLookup;
public EntityCommandBuffer ECB;
public void Execute(CollisionEvent collisionEvent)
public void Execute(TriggerEvent triggerEvent)
{
Entity entityA = collisionEvent.EntityA;
Entity entityB = collisionEvent.EntityB;
Entity entityA = triggerEvent.EntityA;
Entity entityB = triggerEvent.EntityB;
Entity damageDealingEntity = Entity.Null;
Entity damageReceivingEntity = Entity.Null;
if (DamageBufferLookup.HasBuffer(entityA) &&
DamageOnCollisionLookup.HasComponent(entityB))
DamageOnTriggerLookup.HasComponent(entityB))
{
damageReceivingEntity = entityA;
damageDealingEntity = entityB;
}
else if (DamageOnCollisionLookup.HasComponent(entityA) &&
else if (DamageOnTriggerLookup.HasComponent(entityA) &&
DamageBufferLookup.HasBuffer(entityB))
{
damageDealingEntity = entityA;
......@@ -79,13 +79,7 @@ public struct DamageOnCollisionJob : ICollisionEventsJob
ECB.AddBuffer<AlreadyDamagedEntity>(damageDealingEntity);
}
if (TeamLookup.TryGetComponent(damageDealingEntity, out var damageDealingTeam) &&
TeamLookup.TryGetComponent(damageReceivingEntity, out var damageReceivingTeam))
{
if (damageDealingTeam.Value == damageReceivingTeam.Value) return;
}
if (DamageOnCollisionLookup.TryGetComponent(damageDealingEntity, out var damageOnTrigger))
if (DamageOnTriggerLookup.TryGetComponent(damageDealingEntity, out var damageOnTrigger))
{
ECB.AddComponent<DestroyEntityTag>(damageDealingEntity);
ECB.AppendToBuffer(damageReceivingEntity, new DamageBufferElement { Value = damageOnTrigger.Value });
......
using Unity.Burst;
using Unity.Entities;
using Unity.NetCode;
using Unity.Physics;
using Unity.Transforms;
using Unity.NetCode;
[UpdateInGroup(typeof(PredictedSimulationSystemGroup))]
public partial struct MoveAbilitySystem : ISystem
{
public void OnCreate(ref SystemState state)
{
state.RequireForUpdate<GamePlayingTag>();
state.RequireForUpdate<AbilityMoveSpeed>();
}
public void OnUpdate(ref SystemState state)
{
var deltaTime = SystemAPI.Time.DeltaTime;
state.Dependency = new MoveAbilityJob
{
DeltaTime = deltaTime
}.ScheduleParallel(state.Dependency);
state.Dependency = new MoveAbilityJob()
.ScheduleParallel(state.Dependency);
}
}
......@@ -26,11 +24,12 @@ public partial struct MoveAbilitySystem : ISystem
[WithNone(typeof(SlimeTag))]
public partial struct MoveAbilityJob : IJobEntity
{
public float DeltaTime;
[BurstCompile]
private void Execute(ref LocalTransform transform, in AbilityMoveSpeed moveSpeed)
private void Execute(
ref PhysicsVelocity velocity,
in LocalTransform transform,
in AbilityMoveSpeed moveSpeed)
{
transform.Position += transform.Forward() * moveSpeed.Value * DeltaTime;
velocity.Linear = transform.Forward() * moveSpeed.Value;
}
}
\ No newline at end of file
using Unity.Burst;
using Unity.Entities;
using Unity.NetCode;
using Unity.Transforms;
[UpdateInGroup(typeof(PredictedSimulationSystemGroup))]
public partial struct MoveSlimeSystem : ISystem
{
public void OnCreate(ref SystemState state)
{
state.RequireForUpdate<NetworkTime>();
state.RequireForUpdate<SlimeTargetDirection>();
state.RequireForUpdate<SlimeTag>();
}
[BurstCompile]
public void OnUpdate(ref SystemState state)
{
var deltaTime = SystemAPI.Time.DeltaTime;
state.Dependency = new MoveSlimeJob
{
DeltaTime = deltaTime
}.ScheduleParallel(state.Dependency);
}
}
[BurstCompile]
[WithAll(typeof(SlimeTargetDirection))]
public partial struct MoveSlimeJob : IJobEntity
{
public float DeltaTime;
[BurstCompile]
private void Execute(ref LocalTransform transform, in AbilityMoveSpeed moveSpeed,
in SlimeTargetDirection targetDirection)
{
transform.Position += targetDirection.Value * moveSpeed.Value * DeltaTime;
}
}
\ No newline at end of file
......@@ -3,11 +3,11 @@ using Unity.Collections;
using Unity.Entities;
using Unity.Mathematics;
using Unity.NetCode;
using Unity.Physics;
using Unity.Transforms;
[UpdateInGroup(typeof(PredictedSimulationSystemGroup), OrderLast = true)]
[UpdateBefore(typeof(MoveSlimeSystem))]
public partial struct SetTargetSlimeSystem : ISystem
public partial struct MoveSlimeSystem : ISystem
{
public void OnCreate(ref SystemState state)
{
......@@ -19,37 +19,35 @@ public partial struct SetTargetSlimeSystem : ISystem
[BurstCompile]
public void OnUpdate(ref SystemState state)
{
var ecbSingleton = SystemAPI.GetSingleton<BeginSimulationEntityCommandBufferSystem.Singleton>();
var transformLookup = SystemAPI.GetComponentLookup<LocalTransform>(true);
state.Dependency = new SetSlimeTargetDirectionJob
state.Dependency = new SlimeMoveDirectJob
{
TransformLookup = transformLookup,
ECB = ecbSingleton.CreateCommandBuffer(state.WorldUnmanaged).AsParallelWriter()
TransformLookup = transformLookup
}.ScheduleParallel(state.Dependency);
}
}
[BurstCompile]
public partial struct SetSlimeTargetDirectionJob : IJobEntity
{
[ReadOnly] public ComponentLookup<LocalTransform> TransformLookup;
public EntityCommandBuffer.ParallelWriter ECB;
[BurstCompile]
private void Execute(in LocalTransform transform, in NpcTargetEntity targetEntity,
in Entity entity)
public partial struct SlimeMoveDirectJob : IJobEntity
{
if (targetEntity.Value == Entity.Null || !TransformLookup.HasComponent(targetEntity.Value))
[ReadOnly] public ComponentLookup<LocalTransform> TransformLookup;
[BurstCompile]
private void Execute(
ref PhysicsVelocity velocity,
in LocalTransform transform,
in AbilityMoveSpeed moveSpeed,
in NpcTargetEntity targetEntity)
{
ECB.RemoveComponent<SlimeTargetDirection>(entity.Index, entity);
return;
if (targetEntity.Value == Entity.Null || !TransformLookup.HasComponent(targetEntity.Value))
{
velocity.Linear = float3.zero;
return;
}
var targetPosition = TransformLookup[targetEntity.Value].Position;
var direction = math.normalize(targetPosition - transform.Position);
velocity.Linear = direction * moveSpeed.Value;
}
var targetPosition = TransformLookup[targetEntity.Value].Position;
var direction = math.normalize(targetPosition - transform.Position);
ECB.AddComponent(entity.Index, entity, new SlimeTargetDirection { Value = direction });
}
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ using Unity.Transforms;
[UpdateInGroup(typeof(PhysicsSystemGroup))]
[UpdateAfter(typeof(PhysicsSimulationGroup))]
[UpdateBefore(typeof(ExportPhysicsWorld))]
public partial struct NpcTargetingSystem : ISystem
public partial struct TargetingSystem : ISystem
{
private CollisionFilter _npcAttackFilter;
......@@ -20,7 +20,7 @@ public partial struct NpcTargetingSystem : ISystem
_npcAttackFilter = new CollisionFilter
{
BelongsTo = 1 << 6, //Target Cast
CollidesWith = 1 << 1 | 1 << 4 //Player and structures
CollidesWith = 1 << 1 //Player
};
}
......@@ -46,7 +46,7 @@ public partial struct NpcTargetingSystem : ISystem
[ReadOnly] public ComponentLookup<TeamTypes> TeamTypeLookup;
[BurstCompile]
private void Execute(Entity npcEntity, ref NpcTargetEntity targetEntity, in LocalTransform transform,
private void Execute(Entity enemyEntity, ref NpcTargetEntity targetEntity, in LocalTransform transform,
in NpcTargetRadius targetRadius)
{
var hits = new NativeList<DistanceHit>(Allocator.TempJob);
......@@ -59,7 +59,7 @@ public partial struct NpcTargetingSystem : ISystem
foreach (var hit in hits)
{
if (!TeamTypeLookup.TryGetComponent(hit.Entity, out var teamTypes)) continue;
if (teamTypes.Value == TeamTypeLookup[npcEntity].Value) continue;
if (teamTypes.Value == TeamTypeLookup[enemyEntity].Value) continue;
if (hit.Distance < closestDistance)
{
closestDistance = hit.Distance;
......
......@@ -21,17 +21,20 @@ partial struct EnemySpawnerSystem : ISystem
public void OnUpdate(ref SystemState state)
{
var deltaTime = SystemAPI.Time.DeltaTime;
Entity enemyPropertiesEntity = SystemAPI.GetSingletonEntity<EnemySpawnPoints>();
DynamicBuffer<EnemySpawnPoints> spawnPoints = SystemAPI.GetBuffer<EnemySpawnPoints>(enemyPropertiesEntity);
var ecbSingleton = SystemAPI.GetSingleton<BeginSimulationEntityCommandBufferSystem.Singleton>();
var ecb = ecbSingleton.CreateCommandBuffer(state.WorldUnmanaged);
foreach (var aspect in SystemAPI.Query<EnemySpawnerAspect>())
foreach (EnemySpawnerAspect aspect in SystemAPI.Query<EnemySpawnerAspect>())
{
aspect.DecrementTimers(deltaTime);
if (aspect.CanEnemySlimeSpawn)
{
Entity enemyPropertiesEntity = SystemAPI.GetSingletonEntity<EnemySpawnPoints>();
DynamicBuffer<EnemySpawnPoints> spawnPoints =
SystemAPI.GetBuffer<EnemySpawnPoints>(enemyPropertiesEntity);
var ecbSingleton = SystemAPI.GetSingleton<BeginSimulationEntityCommandBufferSystem.Singleton>();
var ecb = ecbSingleton.CreateCommandBuffer(state.WorldUnmanaged);
Entity enemySlimeEntity = SystemAPI.GetSingleton<EntititesReferences>().SlimeEnemyEntity;
int slimeSpawnIndex = aspect.SlimeEnemyCounter % spawnPoints.Length;
float randomValue = aspect.RandomSpawnOffset;
float3 spawnPosition =
......@@ -43,7 +46,13 @@ partial struct EnemySpawnerSystem : ISystem
if (aspect.CanEnemyRogueSpawn)
{
Entity enemyPropertiesEntity = SystemAPI.GetSingletonEntity<EnemySpawnPoints>();
DynamicBuffer<EnemySpawnPoints> spawnPoints =
SystemAPI.GetBuffer<EnemySpawnPoints>(enemyPropertiesEntity);
var ecbSingleton = SystemAPI.GetSingleton<BeginSimulationEntityCommandBufferSystem.Singleton>();
var ecb = ecbSingleton.CreateCommandBuffer(state.WorldUnmanaged);
Entity enemyRogueEntity = SystemAPI.GetSingleton<EntititesReferences>().RougeEnemyEntity;
int rogueSpawnIndex = aspect.RogueEnemyCounter % spawnPoints.Length;
float randomValue = aspect.RandomSpawnOffset;
float3 spawnPosition =
......
......@@ -89,7 +89,7 @@ MonoBehaviour:
m_Template: {fileID: 0}
m_CollisionResponse:
m_Override: 0
m_Value: 1
m_Value: 3
m_Friction:
m_Override: 0
m_Value:
......@@ -298,7 +298,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2de495c310a322143be08aa7819a1a33, type: 3}
m_Name:
m_EditorClassIdentifier:
DamageOnTrigger: 100
DamageOnTrigger: 0
--- !u!1001 &7309850180045348080
PrefabInstance:
m_ObjectHideFlags: 0
......
......@@ -17,6 +17,7 @@ GameObject:
- component: {fileID: 4127881285066043338}
- component: {fileID: -274669407858188047}
- component: {fileID: -5213069575148900343}
- component: {fileID: 6050464852212724808}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
......@@ -128,9 +129,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d8b4a5cfe7236db4dba833c5751c2665, type: 3}
m_Name:
m_EditorClassIdentifier:
NpcTargetRadius: 15
AttackCooldownTime: 2
NetCodeConfig: {fileID: 11400000, guid: edda5bd0f33a95e4a98f780e0e3ae9e8, type: 2}
NpcTargetRadius: 80
--- !u!114 &-274669407858188047
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -149,9 +148,9 @@ MonoBehaviour:
y: 0.6000001
z: 0
m_PrimitiveSize:
x: 1
y: 1
z: 1
x: 1.02
y: 1.02
z: 1.02
m_PrimitiveOrientation:
Value:
x: -0
......@@ -159,15 +158,15 @@ MonoBehaviour:
z: 0
RotationOrder: 4
m_Capsule:
Height: 1
Radius: 0.5
Axis: 0
Height: 1.02
Radius: 0.51
Axis: 1
m_Cylinder:
Height: 1
Radius: 0.5
Height: 1.02
Radius: 0.51
Axis: 2
m_CylinderSideCount: 20
m_SphereRadius: 0.5
m_SphereRadius: 0.51
m_MinimumSkinnedVertexWeight: 0.1
m_ConvexHullGenerationParameters:
m_SimplificationTolerance: 0.015
......@@ -180,7 +179,7 @@ MonoBehaviour:
m_Template: {fileID: 0}
m_CollisionResponse:
m_Override: 0
m_Value: 1
m_Value: 3
m_Friction:
m_Override: 0
m_Value:
......@@ -229,9 +228,9 @@ MonoBehaviour:
m_CollidesWithCategories:
m_Override: 0
m_Value:
Category00: 1
Category00: 0
Category01: 1
Category02: 1
Category02: 0
Category03: 0
Category04: 0
Category05: 0
......@@ -301,6 +300,149 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 0
--- !u!114 &6050464852212724808
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: b275e5f92732148048d7b77e264ac30e, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShapeType: 0
m_PrimitiveCenter:
x: 0
y: 0.6
z: 0
m_PrimitiveSize:
x: 1
y: 1
z: 1
m_PrimitiveOrientation:
Value:
x: 0
y: 0
z: 0
RotationOrder: 4
m_Capsule:
Height: 1
Radius: 0.5
Axis: 2
m_Cylinder:
Height: 1
Radius: 0.5
Axis: 2
m_CylinderSideCount: 20
m_SphereRadius: 0.5
m_MinimumSkinnedVertexWeight: 0.1
m_ConvexHullGenerationParameters:
m_SimplificationTolerance: 0.015
m_BevelRadius: 0
m_MinimumAngle: 2.5000002
m_CustomMesh: {fileID: 0}
m_ForceUnique: 0
m_Material:
m_SupportsTemplate: 1
m_Template: {fileID: 0}
m_CollisionResponse:
m_Override: 0
m_Value: 0
m_Friction:
m_Override: 0
m_Value:
Value: 0.5
CombineMode: 0
m_Restitution:
m_Override: 0
m_Value:
Value: 0
CombineMode: 2
m_BelongsToCategories:
m_Override: 0
m_Value:
Category00: 0
Category01: 0
Category02: 1
Category03: 0
Category04: 0
Category05: 0
Category06: 0
Category07: 0
Category08: 0
Category09: 0
Category10: 0
Category11: 0
Category12: 0
Category13: 0
Category14: 0
Category15: 0
Category16: 0
Category17: 0
Category18: 0
Category19: 0
Category20: 0
Category21: 0
Category22: 0
Category23: 0
Category24: 0
Category25: 0
Category26: 0
Category27: 0
Category28: 0
Category29: 0
Category30: 0
Category31: 0
m_CollidesWithCategories:
m_Override: 0
m_Value:
Category00: 1
Category01: 0
Category02: 1
Category03: 0
Category04: 0
Category05: 0
Category06: 0
Category07: 0
Category08: 0
Category09: 0
Category10: 0
Category11: 0
Category12: 0
Category13: 0
Category14: 0
Category15: 0
Category16: 0
Category17: 0
Category18: 0
Category19: 0
Category20: 0
Category21: 0
Category22: 0
Category23: 0
Category24: 0
Category25: 0
Category26: 0
Category27: 0
Category28: 0
Category29: 0
Category30: 0
Category31: 0
m_CustomMaterialTags:
m_Override: 0
m_Value:
Tag00: 0
Tag01: 0
Tag02: 0
Tag03: 0
Tag04: 0
Tag05: 0
Tag06: 0
Tag07: 0
m_SerializedVersion: 1
m_SerializedVersion: 1
--- !u!1 &7494803013719323330
GameObject:
m_ObjectHideFlags: 0
......
......@@ -100,7 +100,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8194ce63a01ea9044a8c5a6ebd0e2829, type: 3}
m_Name:
m_EditorClassIdentifier:
NpcTargetRadius: 15
NpcTargetRadius: 80
AttackCooldownTime: 2
FirePointOffset: {x: 0, y: 1.5, z: 0}
AttackPrefab: {fileID: 357967689053387235, guid: 19127a4c1ac11844db4373b9e147918b, type: 3}
......
......@@ -95,7 +95,7 @@ ModelImporter:
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
......
......@@ -95,7 +95,7 @@ ModelImporter:
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
......
fileFormatVersion: 2
guid: 58ffec62708204d419b416715e38010e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 3c867eb1a6214d046b131537cbefab76
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This source diff could not be displayed because it is too large. You can view the blob instead.
fileFormatVersion: 2
guid: a92ae2d2119c71f4ba73436b148e9ac3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a3178e3c90053df499a40c2abd214157
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This source diff could not be displayed because it is too large. You can view the blob instead.
fileFormatVersion: 2
guid: d302aad7b623b414ab456667d3984b6e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -9,6 +9,9 @@ EditorBuildSettings:
path: Assets/_Game/Scenes/ConnectionScene.unity
guid: 5652506fc72e4fa42a51d693df592812
- enabled: 1
path: Assets/_Game/Scenes/TestGameScene.unity
guid: a3178e3c90053df499a40c2abd214157
- enabled: 1
path: Assets/_Game/Scenes/GameScene.unity
guid: 99c9720ab356a0642a771bea13969a05
m_configObjects:
......
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