전장의 안개 구현
This commit is contained in:
@@ -55,20 +55,25 @@
|
|||||||
<Compile Include="Assets\Scripts\CoreResourceManager.cs" />
|
<Compile Include="Assets\Scripts\CoreResourceManager.cs" />
|
||||||
<Compile Include="Assets\Scripts\Building.cs" />
|
<Compile Include="Assets\Scripts\Building.cs" />
|
||||||
<Compile Include="Assets\Scripts\GameResourceUI.cs" />
|
<Compile Include="Assets\Scripts\GameResourceUI.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\FogOfWarRenderer.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\PlayerVisionProvider.cs" />
|
||||||
<Compile Include="Assets\Scripts\PlayerController.cs" />
|
<Compile Include="Assets\Scripts\PlayerController.cs" />
|
||||||
<Compile Include="Assets\FlatKit\Demos\Common\Scripts\Motion\OrbitMotion.cs" />
|
<Compile Include="Assets\FlatKit\Demos\Common\Scripts\Motion\OrbitMotion.cs" />
|
||||||
<Compile Include="Assets\Scripts\EquipmentSocket.cs" />
|
<Compile Include="Assets\Scripts\EquipmentSocket.cs" />
|
||||||
<Compile Include="Assets\Scripts\BuildingData.cs" />
|
<Compile Include="Assets\Scripts\BuildingData.cs" />
|
||||||
<Compile Include="Assets\Scripts\Resource.cs" />
|
<Compile Include="Assets\Scripts\Resource.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\BuildingVisionProvider.cs" />
|
||||||
<Compile Include="Assets\FlatKit\[Render Pipeline] URP\Water\Scripts\Buoyancy.cs" />
|
<Compile Include="Assets\FlatKit\[Render Pipeline] URP\Water\Scripts\Buoyancy.cs" />
|
||||||
<Compile Include="Assets\Scripts\AttackAction.cs" />
|
<Compile Include="Assets\Scripts\AttackAction.cs" />
|
||||||
<Compile Include="Assets\Scripts\IInteractable.cs" />
|
<Compile Include="Assets\Scripts\IInteractable.cs" />
|
||||||
<Compile Include="Assets\FlatKit\Demos\Common\Scripts\UvScroller.cs" />
|
<Compile Include="Assets\FlatKit\Demos\Common\Scripts\UvScroller.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\GlobalTimer.cs" />
|
||||||
<Compile Include="Assets\InputSystem_Actions.cs" />
|
<Compile Include="Assets\InputSystem_Actions.cs" />
|
||||||
<Compile Include="Assets\FlatKit\Demos\[Demo] Desert\Scripts\BillboardLineRendererCircle.cs" />
|
<Compile Include="Assets\FlatKit\Demos\[Demo] Desert\Scripts\BillboardLineRendererCircle.cs" />
|
||||||
<Compile Include="Assets\Scripts\PlayerSpawnPoint.cs" />
|
<Compile Include="Assets\Scripts\PlayerSpawnPoint.cs" />
|
||||||
<Compile Include="Assets\FlatKit\Demos\Common\Scripts\AutoLoadPipelineAsset.cs" />
|
<Compile Include="Assets\FlatKit\Demos\Common\Scripts\AutoLoadPipelineAsset.cs" />
|
||||||
<Compile Include="Assets\Scripts\AutoHost.cs" />
|
<Compile Include="Assets\Scripts\AutoHost.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\IVisionProvider.cs" />
|
||||||
<Compile Include="Assets\Scripts\InteractionEquipmentData.cs" />
|
<Compile Include="Assets\Scripts\InteractionEquipmentData.cs" />
|
||||||
<Compile Include="Assets\Scripts\BuildingManager.cs" />
|
<Compile Include="Assets\Scripts\BuildingManager.cs" />
|
||||||
<Compile Include="Assets\Scripts\GhostMaterialTest.cs" />
|
<Compile Include="Assets\Scripts\GhostMaterialTest.cs" />
|
||||||
@@ -77,6 +82,7 @@
|
|||||||
<Compile Include="Assets\FlatKit\Demos\Common\Scripts\Motion\LinearMotion.cs" />
|
<Compile Include="Assets\FlatKit\Demos\Common\Scripts\Motion\LinearMotion.cs" />
|
||||||
<Compile Include="Assets\Scripts\IDamageable.cs" />
|
<Compile Include="Assets\Scripts\IDamageable.cs" />
|
||||||
<Compile Include="Assets\Scripts\NetworkSpawnManager.cs" />
|
<Compile Include="Assets\Scripts\NetworkSpawnManager.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\FogOfWarSystem.cs" />
|
||||||
<Compile Include="Assets\Scripts\IAction.cs" />
|
<Compile Include="Assets\Scripts\IAction.cs" />
|
||||||
<Compile Include="Assets\Scripts\NetworkPlayerController.cs" />
|
<Compile Include="Assets\Scripts\NetworkPlayerController.cs" />
|
||||||
<Compile Include="Assets\Scripts\PlayerInteraction.cs" />
|
<Compile Include="Assets\Scripts\PlayerInteraction.cs" />
|
||||||
@@ -110,6 +116,7 @@
|
|||||||
<None Include="Assets\FlatKit\Demos\[Demo] Desert\Shaders\DesertPillar.hlsl" />
|
<None Include="Assets\FlatKit\Demos\[Demo] Desert\Shaders\DesertPillar.hlsl" />
|
||||||
<None Include="Assets\TextMesh Pro\Shaders\TMPro_Properties.cginc" />
|
<None Include="Assets\TextMesh Pro\Shaders\TMPro_Properties.cginc" />
|
||||||
<None Include="Assets\TextMesh Pro\Shaders\TMPro_Surface.cginc" />
|
<None Include="Assets\TextMesh Pro\Shaders\TMPro_Surface.cginc" />
|
||||||
|
<None Include="Assets\Shaders\FogOfWar.shader" />
|
||||||
<None Include="Assets\TextMesh Pro\Resources\LineBreaking Following Characters.txt" />
|
<None Include="Assets\TextMesh Pro\Resources\LineBreaking Following Characters.txt" />
|
||||||
<None Include="Assets\FlatKit\Demos\[Demo] Desert\Shaders\Library\StylizedLighting.hlsl" />
|
<None Include="Assets\FlatKit\Demos\[Demo] Desert\Shaders\Library\StylizedLighting.hlsl" />
|
||||||
<None Include="Assets\TextMesh Pro\Shaders\TMP_SDF-Mobile Masking.shader" />
|
<None Include="Assets\TextMesh Pro\Shaders\TMP_SDF-Mobile Masking.shader" />
|
||||||
|
|||||||
@@ -29,3 +29,13 @@ MonoBehaviour:
|
|||||||
SourcePrefabToOverride: {fileID: 0}
|
SourcePrefabToOverride: {fileID: 0}
|
||||||
SourceHashToOverride: 0
|
SourceHashToOverride: 0
|
||||||
OverridingTargetPrefab: {fileID: 0}
|
OverridingTargetPrefab: {fileID: 0}
|
||||||
|
- Override: 0
|
||||||
|
Prefab: {fileID: 2938167817760513538, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
SourcePrefabToOverride: {fileID: 0}
|
||||||
|
SourceHashToOverride: 0
|
||||||
|
OverridingTargetPrefab: {fileID: 0}
|
||||||
|
- Override: 0
|
||||||
|
Prefab: {fileID: 8124290768227340041, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
||||||
|
SourcePrefabToOverride: {fileID: 0}
|
||||||
|
SourceHashToOverride: 0
|
||||||
|
OverridingTargetPrefab: {fileID: 0}
|
||||||
|
|||||||
138
Assets/Materials/FogOfWarMaterial.mat
Normal file
138
Assets/Materials/FogOfWarMaterial.mat
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: FogOfWarMaterial
|
||||||
|
m_Shader: {fileID: 4800000, guid: 1a32b22331996294f8eb2b7ac12d1c6b, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
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.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _XRMotionVectorsPass: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _ExploredColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||||
|
- _FogColor: {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 &638105198768402788
|
||||||
|
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: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||||
|
version: 10
|
||||||
8
Assets/Materials/FogOfWarMaterial.mat.meta
Normal file
8
Assets/Materials/FogOfWarMaterial.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: eb0604feb76547a488648224ebb23e77
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -9,6 +9,9 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 8064559726283331702}
|
- component: {fileID: 8064559726283331702}
|
||||||
|
- component: {fileID: 5173262576415873253}
|
||||||
|
- component: {fileID: 1287070985890992582}
|
||||||
|
- component: {fileID: 945062474581833766}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Core
|
m_Name: Core
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -32,6 +35,70 @@ Transform:
|
|||||||
- {fileID: 2126198199081001988}
|
- {fileID: 2126198199081001988}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &5173262576415873253
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8124290768227340041}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||||
|
GlobalObjectIdHash: 1288120633
|
||||||
|
InScenePlacedSourceGlobalObjectIdHash: 0
|
||||||
|
DeferredDespawnTick: 0
|
||||||
|
Ownership: 1
|
||||||
|
AlwaysReplicateAsRoot: 0
|
||||||
|
SynchronizeTransform: 1
|
||||||
|
ActiveSceneSynchronization: 0
|
||||||
|
SceneMigrationSynchronization: 0
|
||||||
|
SpawnWithObservers: 1
|
||||||
|
DontDestroyWithOwner: 0
|
||||||
|
AutoObjectParentSync: 1
|
||||||
|
SyncOwnerTransformWhenParented: 1
|
||||||
|
AllowOwnerToParent: 0
|
||||||
|
--- !u!114 &1287070985890992582
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8124290768227340041}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 7c94274e2af2c8d4f827fe52b26c4410, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Core
|
||||||
|
ShowTopMostFoldoutHeaderGroup: 1
|
||||||
|
maxStorageCapacity: 1000
|
||||||
|
unlimitedStorage: 0
|
||||||
|
depositAll: 1
|
||||||
|
depositAmountPerInteraction: 10
|
||||||
|
interactionAnimationTrigger: Deposit
|
||||||
|
equipmentData:
|
||||||
|
socketName: RightHand
|
||||||
|
equipmentPrefab: {fileID: 0}
|
||||||
|
attachOnStart: 1
|
||||||
|
detachOnEnd: 1
|
||||||
|
depositEffectPrefab: {fileID: 0}
|
||||||
|
effectSpawnPoint: {fileID: 0}
|
||||||
|
--- !u!114 &945062474581833766
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8124290768227340041}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: b59ae4328ce49c846b20d7a6d7ce7e47, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.BuildingVisionProvider
|
||||||
|
ShowTopMostFoldoutHeaderGroup: 1
|
||||||
|
visionRange: 15
|
||||||
--- !u!1001 &1876730568674182127
|
--- !u!1001 &1876730568674182127
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ GameObject:
|
|||||||
- component: {fileID: 9062880697264624749}
|
- component: {fileID: 9062880697264624749}
|
||||||
- component: {fileID: 6066313428661204362}
|
- component: {fileID: 6066313428661204362}
|
||||||
- component: {fileID: 2443072964133329520}
|
- component: {fileID: 2443072964133329520}
|
||||||
|
- component: {fileID: 2148255267416253297}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Player
|
m_Name: Player
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -54,7 +55,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||||
GlobalObjectIdHash: 2891269852
|
GlobalObjectIdHash: 4211758632
|
||||||
InScenePlacedSourceGlobalObjectIdHash: 4211758632
|
InScenePlacedSourceGlobalObjectIdHash: 4211758632
|
||||||
DeferredDespawnTick: 0
|
DeferredDespawnTick: 0
|
||||||
Ownership: 1
|
Ownership: 1
|
||||||
@@ -242,6 +243,20 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier: Assembly-CSharp::Northbound.PlayerResourceInventory
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.PlayerResourceInventory
|
||||||
ShowTopMostFoldoutHeaderGroup: 1
|
ShowTopMostFoldoutHeaderGroup: 1
|
||||||
maxResourceCapacity: 50
|
maxResourceCapacity: 50
|
||||||
|
--- !u!114 &2148255267416253297
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1314983689436087486}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 81d070574968f0d45be51307e2dfed64, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.PlayerVisionProvider
|
||||||
|
ShowTopMostFoldoutHeaderGroup: 1
|
||||||
|
visionRange: 10
|
||||||
--- !u!1001 &1445453803682481668
|
--- !u!1001 &1445453803682481668
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
125
Assets/Prefabs/Wall.prefab
Normal file
125
Assets/Prefabs/Wall.prefab
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1001 &2596063234185536339
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -8
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.000000021855694
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -7511558181221131132, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: 'm_Materials.Array.data[0]'
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 2100000, guid: d64c307f1b4197c44970c29f9845c245, type: 2}
|
||||||
|
- target: {fileID: 919132149155446097, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Wall
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 1591641544412467547}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 1638952835164862066}
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
--- !u!1 &2938167817760513538 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2596063234185536339}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &1591641544412467547
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2938167817760513538}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||||
|
GlobalObjectIdHash: 3026494903
|
||||||
|
InScenePlacedSourceGlobalObjectIdHash: 0
|
||||||
|
DeferredDespawnTick: 0
|
||||||
|
Ownership: 1
|
||||||
|
AlwaysReplicateAsRoot: 0
|
||||||
|
SynchronizeTransform: 1
|
||||||
|
ActiveSceneSynchronization: 0
|
||||||
|
SceneMigrationSynchronization: 0
|
||||||
|
SpawnWithObservers: 1
|
||||||
|
DontDestroyWithOwner: 0
|
||||||
|
AutoObjectParentSync: 1
|
||||||
|
SyncOwnerTransformWhenParented: 1
|
||||||
|
AllowOwnerToParent: 0
|
||||||
|
--- !u!114 &1638952835164862066
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2938167817760513538}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: b59ae4328ce49c846b20d7a6d7ce7e47, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.BuildingVisionProvider
|
||||||
|
ShowTopMostFoldoutHeaderGroup: 1
|
||||||
|
visionRange: 15
|
||||||
7
Assets/Prefabs/Wall.prefab.meta
Normal file
7
Assets/Prefabs/Wall.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 04e95700704d92248b63ce5674bd9638
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -305,7 +305,7 @@ MonoBehaviour:
|
|||||||
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
|
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||||
m_EffectDistance: {x: 1, y: -1}
|
m_EffectDistance: {x: 1, y: -1}
|
||||||
m_UseGraphicAlpha: 1
|
m_UseGraphicAlpha: 1
|
||||||
--- !u!1001 &378823424
|
--- !u!1001 &324420007
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@@ -313,144 +313,68 @@ PrefabInstance:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransformParent: {fileID: 1068750869}
|
m_TransformParent: {fileID: 1068750869}
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 1591641544412467547, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalScale.x
|
propertyPath: GlobalObjectIdHash
|
||||||
value: 2
|
value: 2015005341
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 1591641544412467547, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalScale.y
|
propertyPath: InScenePlacedSourceGlobalObjectIdHash
|
||||||
value: 2
|
value: 2718147317
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalScale.z
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 8
|
value: -18.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalPosition.z
|
propertyPath: m_LocalPosition.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalRotation.w
|
propertyPath: m_LocalRotation.w
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalRotation.x
|
propertyPath: m_LocalRotation.x
|
||||||
value: 0.000000021855694
|
value: 0.000000021855694
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalRotation.y
|
propertyPath: m_LocalRotation.y
|
||||||
value: -0
|
value: -0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalRotation.z
|
propertyPath: m_LocalRotation.z
|
||||||
value: -0
|
value: -0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -7511558181221131132, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
- target: {fileID: 2938167817760513538, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
propertyPath: 'm_Materials.Array.data[0]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 2100000, guid: d64c307f1b4197c44970c29f9845c245, type: 2}
|
|
||||||
- target: {fileID: 919132149155446097, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Wall (2)
|
value: Wall (1)
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
--- !u!1001 &383372408
|
--- !u!4 &324420008 stripped
|
||||||
PrefabInstance:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_CorrespondingSourceObject: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
serializedVersion: 2
|
m_PrefabInstance: {fileID: 324420007}
|
||||||
m_Modification:
|
m_PrefabAsset: {fileID: 0}
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 1068750869}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalScale.x
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalScale.y
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalScale.z
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 16
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0.000000021855694
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -7511558181221131132, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: 'm_Materials.Array.data[0]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 2100000, guid: d64c307f1b4197c44970c29f9845c245, type: 2}
|
|
||||||
- target: {fileID: 919132149155446097, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: Wall (3)
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
--- !u!1 &447015514
|
--- !u!1 &447015514
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -486,11 +410,6 @@ Transform:
|
|||||||
- {fileID: 2098115308}
|
- {fileID: 2098115308}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!4 &448767617 stripped
|
|
||||||
Transform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 579997178}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!1 &457600242
|
--- !u!1 &457600242
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -794,152 +713,6 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
CustomBlends: {fileID: 0}
|
CustomBlends: {fileID: 0}
|
||||||
--- !u!1001 &579997178
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 1068750869}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalScale.x
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalScale.y
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalScale.z
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: -16
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0.000000021855694
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -7511558181221131132, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: 'm_Materials.Array.data[0]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 2100000, guid: d64c307f1b4197c44970c29f9845c245, type: 2}
|
|
||||||
- target: {fileID: 919132149155446097, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: Wall (1)
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
--- !u!1001 &588824321
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 1068750869}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalScale.x
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalScale.y
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalScale.z
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0.000000021855694
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -7511558181221131132, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: 'm_Materials.Array.data[0]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 2100000, guid: d64c307f1b4197c44970c29f9845c245, type: 2}
|
|
||||||
- target: {fileID: 919132149155446097, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: Wall_Doorway
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
--- !u!1001 &629469723
|
--- !u!1001 &629469723
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1014,6 +787,76 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 922888705413710451, guid: 5662d0b0d0eb5f54290edd8dd0980b57, type: 3}
|
m_CorrespondingSourceObject: {fileID: 922888705413710451, guid: 5662d0b0d0eb5f54290edd8dd0980b57, type: 3}
|
||||||
m_PrefabInstance: {fileID: 629469723}
|
m_PrefabInstance: {fileID: 629469723}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1001 &635112512
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 1068750869}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1591641544412467547, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: GlobalObjectIdHash
|
||||||
|
value: 3733343362
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1591641544412467547, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: InScenePlacedSourceGlobalObjectIdHash
|
||||||
|
value: 2718147317
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 11
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.000000021855694
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2938167817760513538, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Wall (3)
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
--- !u!4 &635112513 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 635112512}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &782070680
|
--- !u!1 &782070680
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1141,11 +984,6 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
||||||
--- !u!4 &788941389 stripped
|
|
||||||
Transform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 383372408}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!1 &908127335
|
--- !u!1 &908127335
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1283,6 +1121,82 @@ RectTransform:
|
|||||||
m_AnchoredPosition: {x: 160, y: -70}
|
m_AnchoredPosition: {x: 160, y: -70}
|
||||||
m_SizeDelta: {x: 300, y: 40}
|
m_SizeDelta: {x: 300, y: 40}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!1 &946527916
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 946527919}
|
||||||
|
- component: {fileID: 946527917}
|
||||||
|
- component: {fileID: 946527918}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: FogOfWarSystem
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!114 &946527917
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 946527916}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||||
|
GlobalObjectIdHash: 4164509128
|
||||||
|
InScenePlacedSourceGlobalObjectIdHash: 0
|
||||||
|
DeferredDespawnTick: 0
|
||||||
|
Ownership: 1
|
||||||
|
AlwaysReplicateAsRoot: 0
|
||||||
|
SynchronizeTransform: 1
|
||||||
|
ActiveSceneSynchronization: 0
|
||||||
|
SceneMigrationSynchronization: 0
|
||||||
|
SpawnWithObservers: 1
|
||||||
|
DontDestroyWithOwner: 0
|
||||||
|
AutoObjectParentSync: 1
|
||||||
|
SyncOwnerTransformWhenParented: 1
|
||||||
|
AllowOwnerToParent: 0
|
||||||
|
--- !u!114 &946527918
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 946527916}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 9e73da29c7794e445a17b7d28a61cdb3, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.FogOfWarSystem
|
||||||
|
ShowTopMostFoldoutHeaderGroup: 1
|
||||||
|
gridWidth: 100
|
||||||
|
gridHeight: 1000
|
||||||
|
cellSize: 1
|
||||||
|
worldOrigin: {x: -50, y: 0, z: -200}
|
||||||
|
updateInterval: 0.2
|
||||||
|
--- !u!4 &946527919
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 946527916}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 5, z: -50}
|
||||||
|
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 &955933983
|
--- !u!1 &955933983
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1462,17 +1376,11 @@ Transform:
|
|||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1685319252}
|
- {fileID: 1685319252}
|
||||||
- {fileID: 1313237195}
|
- {fileID: 324420008}
|
||||||
- {fileID: 788941389}
|
- {fileID: 1457864236}
|
||||||
- {fileID: 448767617}
|
- {fileID: 635112513}
|
||||||
- {fileID: 1113397316}
|
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!4 &1113397316 stripped
|
|
||||||
Transform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: b0ec490e44836ee4387c63d21980611c, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 588824321}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!1 &1142746332
|
--- !u!1 &1142746332
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1673,11 +1581,6 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!4 &1313237195 stripped
|
|
||||||
Transform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 378823424}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!1 &1433142230
|
--- !u!1 &1433142230
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1800,6 +1703,76 @@ MonoBehaviour:
|
|||||||
spawnPoints: []
|
spawnPoints: []
|
||||||
useRandomSpawn: 0
|
useRandomSpawn: 0
|
||||||
findSpawnPointsAutomatically: 1
|
findSpawnPointsAutomatically: 1
|
||||||
|
--- !u!1001 &1457864235
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 1068750869}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1591641544412467547, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: GlobalObjectIdHash
|
||||||
|
value: 1548053960
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1591641544412467547, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: InScenePlacedSourceGlobalObjectIdHash
|
||||||
|
value: 2718147317
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -29.3
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.000000021855694
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2938167817760513538, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Wall (2)
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
--- !u!4 &1457864236 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1457864235}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &1536695129
|
--- !u!1001 &1536695129
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1971,82 +1944,118 @@ MonoBehaviour:
|
|||||||
BlendHint: 0
|
BlendHint: 0
|
||||||
--- !u!4 &1685319252 stripped
|
--- !u!4 &1685319252 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
m_CorrespondingSourceObject: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1880237668}
|
m_PrefabInstance: {fileID: 6880333684802239182}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &1880237668
|
--- !u!1 &1701756764
|
||||||
PrefabInstance:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1701756768}
|
||||||
|
- component: {fileID: 1701756767}
|
||||||
|
- component: {fileID: 1701756766}
|
||||||
|
- component: {fileID: 1701756765}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: FogOfWarOverlay
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!114 &1701756765
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1701756764}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a04555e5afcce6848ba5f06cf14a7f17, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.FogOfWarRenderer
|
||||||
|
fogMaterial: {fileID: 2100000, guid: eb0604feb76547a488648224ebb23e77, type: 2}
|
||||||
|
updateInterval: 0.1
|
||||||
|
fogHeight: 5
|
||||||
|
unexploredColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
exploredColor: {r: 0, g: 0, b: 0, a: 0.6}
|
||||||
|
visibleColor: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
--- !u!23 &1701756766
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1701756764}
|
||||||
|
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_ForceMeshLod: -1
|
||||||
|
m_MeshLodSelectionBias: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: eb0604feb76547a488648224ebb23e77, 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_GlobalIlluminationMeshLod: 0
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_MaskInteraction: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!33 &1701756767
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1701756764}
|
||||||
|
m_Mesh: {fileID: 0}
|
||||||
|
--- !u!4 &1701756768
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1701756764}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Modification:
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
serializedVersion: 3
|
m_LocalPosition: {x: -0.16227, y: 1.00001, z: -48.21116}
|
||||||
m_TransformParent: {fileID: 1068750869}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Modifications:
|
m_ConstrainProportionsScale: 0
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
m_Children: []
|
||||||
propertyPath: m_LocalScale.x
|
m_Father: {fileID: 0}
|
||||||
value: 2
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalScale.y
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalScale.z
|
|
||||||
value: 2
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: -8
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0.000000021855694
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -7511558181221131132, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: 'm_Materials.Array.data[0]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 2100000, guid: d64c307f1b4197c44970c29f9845c245, type: 2}
|
|
||||||
- target: {fileID: 919132149155446097, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: Wall
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 244a8d70d41b1a948beb2221c7c0efa9, type: 3}
|
|
||||||
--- !u!1001 &1975225896
|
--- !u!1001 &1975225896
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2270,6 +2279,18 @@ PrefabInstance:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransformParent: {fileID: 0}
|
m_TransformParent: {fileID: 0}
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
|
- target: {fileID: 945062474581833766, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
||||||
|
propertyPath: visionRange
|
||||||
|
value: 40
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5173262576415873253, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
||||||
|
propertyPath: GlobalObjectIdHash
|
||||||
|
value: 3998537868
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5173262576415873253, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
||||||
|
propertyPath: InScenePlacedSourceGlobalObjectIdHash
|
||||||
|
value: 615747208
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8064559726283331702, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
- target: {fileID: 8064559726283331702, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 0
|
value: 0
|
||||||
@@ -2317,13 +2338,7 @@ PrefabInstance:
|
|||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents:
|
m_AddedComponents: []
|
||||||
- targetCorrespondingSourceObject: {fileID: 8124290768227340041, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
|
||||||
insertIndex: -1
|
|
||||||
addedObject: {fileID: 8940572951313384065}
|
|
||||||
- targetCorrespondingSourceObject: {fileID: 8124290768227340041, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
|
||||||
insertIndex: -1
|
|
||||||
addedObject: {fileID: 8940572951313384066}
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
||||||
--- !u!1001 &4875211098963642791
|
--- !u!1001 &4875211098963642791
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
@@ -2386,61 +2401,82 @@ PrefabInstance:
|
|||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: f395fcc064a3a834ba957327f1387c19, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: f395fcc064a3a834ba957327f1387c19, type: 3}
|
||||||
--- !u!1 &8940572951313384064 stripped
|
--- !u!1001 &6880333684802239182
|
||||||
GameObject:
|
PrefabInstance:
|
||||||
m_CorrespondingSourceObject: {fileID: 8124290768227340041, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 1068750869}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1591641544412467547, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: GlobalObjectIdHash
|
||||||
|
value: 2997679665
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1591641544412467547, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: InScenePlacedSourceGlobalObjectIdHash
|
||||||
|
value: 2718147317
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -8
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.000000021855694
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2561889291515577528, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2938167817760513538, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Wall
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 04e95700704d92248b63ce5674bd9638, type: 3}
|
||||||
|
--- !u!114 &8940572951313384066 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 1287070985890992582, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3}
|
||||||
m_PrefabInstance: {fileID: 4786254629656932894}
|
m_PrefabInstance: {fileID: 4786254629656932894}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!114 &8940572951313384065
|
m_GameObject: {fileID: 0}
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8940572951313384064}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
|
||||||
GlobalObjectIdHash: 1288120633
|
|
||||||
InScenePlacedSourceGlobalObjectIdHash: 0
|
|
||||||
DeferredDespawnTick: 0
|
|
||||||
Ownership: 1
|
|
||||||
AlwaysReplicateAsRoot: 0
|
|
||||||
SynchronizeTransform: 1
|
|
||||||
ActiveSceneSynchronization: 0
|
|
||||||
SceneMigrationSynchronization: 0
|
|
||||||
SpawnWithObservers: 1
|
|
||||||
DontDestroyWithOwner: 0
|
|
||||||
AutoObjectParentSync: 1
|
|
||||||
SyncOwnerTransformWhenParented: 1
|
|
||||||
AllowOwnerToParent: 0
|
|
||||||
--- !u!114 &8940572951313384066
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8940572951313384064}
|
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 7c94274e2af2c8d4f827fe52b26c4410, type: 3}
|
m_Script: {fileID: 11500000, guid: 7c94274e2af2c8d4f827fe52b26c4410, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Core
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Core
|
||||||
ShowTopMostFoldoutHeaderGroup: 1
|
|
||||||
maxStorageCapacity: 1000
|
|
||||||
unlimitedStorage: 0
|
|
||||||
depositAll: 1
|
|
||||||
depositAmountPerInteraction: 10
|
|
||||||
interactionAnimationTrigger: Deposit
|
|
||||||
equipmentData:
|
|
||||||
socketName: RightHand
|
|
||||||
equipmentPrefab: {fileID: 0}
|
|
||||||
attachOnStart: 1
|
|
||||||
detachOnEnd: 1
|
|
||||||
depositEffectPrefab: {fileID: 0}
|
|
||||||
effectSpawnPoint: {fileID: 0}
|
|
||||||
--- !u!1660057539 &9223372036854775807
|
--- !u!1660057539 &9223372036854775807
|
||||||
SceneRoots:
|
SceneRoots:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2458,3 +2494,5 @@ SceneRoots:
|
|||||||
- {fileID: 955933985}
|
- {fileID: 955933985}
|
||||||
- {fileID: 457600247}
|
- {fileID: 457600247}
|
||||||
- {fileID: 1166878644}
|
- {fileID: 1166878644}
|
||||||
|
- {fileID: 946527919}
|
||||||
|
- {fileID: 1701756768}
|
||||||
|
|||||||
48
Assets/Scripts/BuildingVisionProvider.cs
Normal file
48
Assets/Scripts/BuildingVisionProvider.cs
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
using Unity.Netcode;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Northbound
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 건물의 시야 제공 컴포넌트
|
||||||
|
/// </summary>
|
||||||
|
public class BuildingVisionProvider : NetworkBehaviour, IVisionProvider
|
||||||
|
{
|
||||||
|
[Header("Vision Settings")]
|
||||||
|
public float visionRange = 15f;
|
||||||
|
|
||||||
|
private Building _building;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_building = GetComponent<Building>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnNetworkSpawn()
|
||||||
|
{
|
||||||
|
if (IsServer)
|
||||||
|
{
|
||||||
|
FogOfWarSystem.Instance?.RegisterVisionProvider(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnNetworkDespawn()
|
||||||
|
{
|
||||||
|
if (IsServer)
|
||||||
|
{
|
||||||
|
FogOfWarSystem.Instance?.UnregisterVisionProvider(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ulong GetOwnerId() => OwnerClientId;
|
||||||
|
public float GetVisionRange() => visionRange;
|
||||||
|
public Transform GetTransform() => transform;
|
||||||
|
public bool IsActive() => IsSpawned;
|
||||||
|
|
||||||
|
private void OnDrawGizmosSelected()
|
||||||
|
{
|
||||||
|
Gizmos.color = Color.cyan;
|
||||||
|
Gizmos.DrawWireSphere(transform.position, visionRange);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/Scripts/BuildingVisionProvider.cs.meta
Normal file
2
Assets/Scripts/BuildingVisionProvider.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b59ae4328ce49c846b20d7a6d7ce7e47
|
||||||
186
Assets/Scripts/FogOfWarRenderer.cs
Normal file
186
Assets/Scripts/FogOfWarRenderer.cs
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
using Unity.Netcode;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Northbound
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 전장의 안개 시각적 렌더링 (클라이언트)
|
||||||
|
/// </summary>
|
||||||
|
[RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))]
|
||||||
|
public class FogOfWarRenderer : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("Settings")]
|
||||||
|
public Material fogMaterial;
|
||||||
|
public float updateInterval = 0.1f;
|
||||||
|
public float fogHeight = 5f; // 안개 높이 (지형보다 약간 위)
|
||||||
|
|
||||||
|
[Header("Colors")]
|
||||||
|
public Color unexploredColor = new Color(0, 0, 0, 1f); // 완전히 어두움
|
||||||
|
public Color exploredColor = new Color(0, 0, 0, 0.6f); // 반투명
|
||||||
|
public Color visibleColor = new Color(0, 0, 0, 0f); // 투명
|
||||||
|
|
||||||
|
private Texture2D _fogTexture;
|
||||||
|
private Color[] _colors;
|
||||||
|
private MeshRenderer _meshRenderer;
|
||||||
|
private float _updateTimer;
|
||||||
|
private ulong _localClientId;
|
||||||
|
private bool _isInitialized;
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
// NetworkManager 준비 대기
|
||||||
|
if (NetworkManager.Singleton == null || !NetworkManager.Singleton.IsClient)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[FogOfWar] NetworkManager가 준비되지 않았습니다. 대기 중...");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Initialize()
|
||||||
|
{
|
||||||
|
if (_isInitialized) return;
|
||||||
|
|
||||||
|
_localClientId = NetworkManager.Singleton.LocalClientId;
|
||||||
|
|
||||||
|
var fogSystem = FogOfWarSystem.Instance;
|
||||||
|
if (fogSystem == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("[FogOfWar] FogOfWarSystem을 찾을 수 없습니다! 씬에 FogOfWarSystem GameObject가 있는지 확인하세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 텍스처 생성
|
||||||
|
_fogTexture = new Texture2D(fogSystem.gridWidth, fogSystem.gridHeight)
|
||||||
|
{
|
||||||
|
filterMode = FilterMode.Bilinear,
|
||||||
|
wrapMode = TextureWrapMode.Clamp
|
||||||
|
};
|
||||||
|
_colors = new Color[fogSystem.gridWidth * fogSystem.gridHeight];
|
||||||
|
|
||||||
|
// 초기 색상을 미탐색 상태로 설정
|
||||||
|
for (int i = 0; i < _colors.Length; i++)
|
||||||
|
{
|
||||||
|
_colors[i] = unexploredColor;
|
||||||
|
}
|
||||||
|
_fogTexture.SetPixels(_colors);
|
||||||
|
_fogTexture.Apply();
|
||||||
|
|
||||||
|
// 머티리얼 설정
|
||||||
|
_meshRenderer = GetComponent<MeshRenderer>();
|
||||||
|
if (fogMaterial != null)
|
||||||
|
{
|
||||||
|
Material instanceMaterial = new Material(fogMaterial);
|
||||||
|
instanceMaterial.mainTexture = _fogTexture;
|
||||||
|
_meshRenderer.material = instanceMaterial;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[FogOfWar] Fog Material이 설정되지 않았습니다!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 렌더링 레이어 설정
|
||||||
|
gameObject.layer = LayerMask.NameToLayer("UI"); // 또는 별도 레이어 생성
|
||||||
|
|
||||||
|
// 메쉬 생성
|
||||||
|
CreatePlaneMesh(fogSystem);
|
||||||
|
|
||||||
|
_isInitialized = true;
|
||||||
|
Debug.Log($"<color=cyan>[FogOfWar] 렌더러 초기화 완료 (Client {_localClientId})</color>");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
// NetworkManager가 준비되지 않았다면 초기화 시도
|
||||||
|
if (!_isInitialized && NetworkManager.Singleton != null && NetworkManager.Singleton.IsClient)
|
||||||
|
{
|
||||||
|
Initialize();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!_isInitialized) return;
|
||||||
|
|
||||||
|
_updateTimer += Time.deltaTime;
|
||||||
|
if (_updateTimer >= updateInterval)
|
||||||
|
{
|
||||||
|
_updateTimer = 0f;
|
||||||
|
UpdateFogTexture();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateFogTexture()
|
||||||
|
{
|
||||||
|
var fogSystem = FogOfWarSystem.Instance;
|
||||||
|
if (fogSystem == null) return;
|
||||||
|
|
||||||
|
var fogData = fogSystem.GetPlayerFogData(_localClientId);
|
||||||
|
|
||||||
|
for (int y = 0; y < fogSystem.gridHeight; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < fogSystem.gridWidth; x++)
|
||||||
|
{
|
||||||
|
FogOfWarState state = fogData.GetState(x, y);
|
||||||
|
int index = y * fogSystem.gridWidth + x;
|
||||||
|
|
||||||
|
_colors[index] = state switch
|
||||||
|
{
|
||||||
|
FogOfWarState.Visible => visibleColor,
|
||||||
|
FogOfWarState.Explored => exploredColor,
|
||||||
|
FogOfWarState.Unexplored => unexploredColor,
|
||||||
|
_ => unexploredColor
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_fogTexture.SetPixels(_colors);
|
||||||
|
_fogTexture.Apply();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CreatePlaneMesh(FogOfWarSystem fogSystem)
|
||||||
|
{
|
||||||
|
MeshFilter meshFilter = GetComponent<MeshFilter>();
|
||||||
|
|
||||||
|
float width = fogSystem.gridWidth * fogSystem.cellSize;
|
||||||
|
float height = fogSystem.gridHeight * fogSystem.cellSize;
|
||||||
|
|
||||||
|
Mesh mesh = new Mesh
|
||||||
|
{
|
||||||
|
name = "FogOfWar Plane"
|
||||||
|
};
|
||||||
|
|
||||||
|
mesh.vertices = new Vector3[]
|
||||||
|
{
|
||||||
|
new Vector3(0, fogHeight, 0),
|
||||||
|
new Vector3(width, fogHeight, 0),
|
||||||
|
new Vector3(0, fogHeight, height),
|
||||||
|
new Vector3(width, fogHeight, height)
|
||||||
|
};
|
||||||
|
|
||||||
|
mesh.triangles = new int[] { 0, 2, 1, 2, 3, 1 };
|
||||||
|
|
||||||
|
mesh.uv = new Vector2[]
|
||||||
|
{
|
||||||
|
new Vector2(0, 0),
|
||||||
|
new Vector2(1, 0),
|
||||||
|
new Vector2(0, 1),
|
||||||
|
new Vector2(1, 1)
|
||||||
|
};
|
||||||
|
|
||||||
|
mesh.RecalculateNormals();
|
||||||
|
|
||||||
|
meshFilter.mesh = mesh;
|
||||||
|
transform.position = fogSystem.worldOrigin;
|
||||||
|
|
||||||
|
Debug.Log($"<color=cyan>[FogOfWar] Plane Mesh 생성 완료: {width}x{height} at {fogSystem.worldOrigin}</color>");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
if (_fogTexture != null)
|
||||||
|
{
|
||||||
|
Destroy(_fogTexture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/Scripts/FogOfWarRenderer.cs.meta
Normal file
2
Assets/Scripts/FogOfWarRenderer.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a04555e5afcce6848ba5f06cf14a7f17
|
||||||
397
Assets/Scripts/FogOfWarSystem.cs
Normal file
397
Assets/Scripts/FogOfWarSystem.cs
Normal file
@@ -0,0 +1,397 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using Unity.Netcode;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Northbound
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 전장의 안개 시스템 - 플레이어별 시야 관리
|
||||||
|
/// </summary>
|
||||||
|
public class FogOfWarSystem : NetworkBehaviour
|
||||||
|
{
|
||||||
|
public static FogOfWarSystem Instance { get; private set; }
|
||||||
|
|
||||||
|
[Header("Grid Settings")]
|
||||||
|
public int gridWidth = 100;
|
||||||
|
public int gridHeight = 100;
|
||||||
|
public float cellSize = 1f;
|
||||||
|
public Vector3 worldOrigin = Vector3.zero;
|
||||||
|
|
||||||
|
[Header("Visibility Settings")]
|
||||||
|
public float updateInterval = 0.2f;
|
||||||
|
|
||||||
|
// 서버: 각 플레이어별 가시성 맵
|
||||||
|
private Dictionary<ulong, FogOfWarData> _serverFogData = new Dictionary<ulong, FogOfWarData>();
|
||||||
|
|
||||||
|
// 클라이언트: 로컬 플레이어의 가시성 맵
|
||||||
|
private FogOfWarData _localFogData;
|
||||||
|
|
||||||
|
private List<IVisionProvider> _visionProviders = new List<IVisionProvider>();
|
||||||
|
private float _updateTimer;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (Instance != null && Instance != this)
|
||||||
|
{
|
||||||
|
Destroy(gameObject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnNetworkSpawn()
|
||||||
|
{
|
||||||
|
base.OnNetworkSpawn();
|
||||||
|
|
||||||
|
if (IsClient && !IsServer)
|
||||||
|
{
|
||||||
|
// 클라이언트는 로컬 데이터 초기화
|
||||||
|
_localFogData = new FogOfWarData(gridWidth, gridHeight);
|
||||||
|
Debug.Log($"<color=cyan>[FogOfWar] 클라이언트 {NetworkManager.LocalClientId} 초기화</color>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (!IsServer) return;
|
||||||
|
|
||||||
|
_updateTimer += Time.deltaTime;
|
||||||
|
if (_updateTimer >= updateInterval)
|
||||||
|
{
|
||||||
|
_updateTimer = 0f;
|
||||||
|
UpdateAllVision();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 시야 제공자 등록 (플레이어, 건물 등)
|
||||||
|
/// </summary>
|
||||||
|
public void RegisterVisionProvider(IVisionProvider provider)
|
||||||
|
{
|
||||||
|
if (!_visionProviders.Contains(provider))
|
||||||
|
{
|
||||||
|
_visionProviders.Add(provider);
|
||||||
|
Debug.Log($"<color=cyan>[FogOfWar] Vision Provider 등록: {provider.GetTransform().name} (Owner: {provider.GetOwnerId()})</color>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 시야 제공자 등록 해제
|
||||||
|
/// </summary>
|
||||||
|
public void UnregisterVisionProvider(IVisionProvider provider)
|
||||||
|
{
|
||||||
|
_visionProviders.Remove(provider);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 플레이어별 FogOfWar 데이터 가져오기
|
||||||
|
/// </summary>
|
||||||
|
public FogOfWarData GetPlayerFogData(ulong clientId)
|
||||||
|
{
|
||||||
|
// 클라이언트는 자신의 로컬 데이터 반환
|
||||||
|
if (IsClient && !IsServer)
|
||||||
|
{
|
||||||
|
return _localFogData;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 서버는 해당 클라이언트의 데이터 반환
|
||||||
|
if (!_serverFogData.ContainsKey(clientId))
|
||||||
|
{
|
||||||
|
_serverFogData[clientId] = new FogOfWarData(gridWidth, gridHeight);
|
||||||
|
}
|
||||||
|
return _serverFogData[clientId];
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 모든 시야 업데이트 (서버만)
|
||||||
|
/// </summary>
|
||||||
|
private void UpdateAllVision()
|
||||||
|
{
|
||||||
|
// 각 플레이어의 현재 시야 초기화
|
||||||
|
foreach (var fogData in _serverFogData.Values)
|
||||||
|
{
|
||||||
|
fogData.ClearCurrentVision();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 모든 시야 제공자의 시야 범위 계산
|
||||||
|
foreach (var provider in _visionProviders)
|
||||||
|
{
|
||||||
|
if (provider == null || !provider.IsActive()) continue;
|
||||||
|
|
||||||
|
ulong ownerId = provider.GetOwnerId();
|
||||||
|
if (!_serverFogData.ContainsKey(ownerId))
|
||||||
|
{
|
||||||
|
_serverFogData[ownerId] = new FogOfWarData(gridWidth, gridHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 position = provider.GetTransform().position;
|
||||||
|
float visionRange = provider.GetVisionRange();
|
||||||
|
|
||||||
|
RevealArea(ownerId, position, visionRange);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 각 클라이언트에게 시야 데이터 전송
|
||||||
|
foreach (var kvp in _serverFogData)
|
||||||
|
{
|
||||||
|
ulong clientId = kvp.Key;
|
||||||
|
FogOfWarData fogData = kvp.Value;
|
||||||
|
|
||||||
|
// 압축된 데이터로 전송
|
||||||
|
byte[] visibleData = fogData.GetVisibleData();
|
||||||
|
byte[] exploredData = fogData.GetExploredData();
|
||||||
|
|
||||||
|
SendFogDataToClientRpc(visibleData, exploredData,
|
||||||
|
new ClientRpcParams
|
||||||
|
{
|
||||||
|
Send = new ClientRpcSendParams
|
||||||
|
{
|
||||||
|
TargetClientIds = new ulong[] { clientId }
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 클라이언트에게 안개 데이터 전송
|
||||||
|
/// </summary>
|
||||||
|
[ClientRpc]
|
||||||
|
private void SendFogDataToClientRpc(byte[] visibleData, byte[] exploredData, ClientRpcParams clientRpcParams = default)
|
||||||
|
{
|
||||||
|
if (_localFogData == null)
|
||||||
|
{
|
||||||
|
_localFogData = new FogOfWarData(gridWidth, gridHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
_localFogData.SetVisibleData(visibleData);
|
||||||
|
_localFogData.SetExploredData(exploredData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 특정 영역을 밝힘 (서버만)
|
||||||
|
/// </summary>
|
||||||
|
private void RevealArea(ulong clientId, Vector3 worldPosition, float radius)
|
||||||
|
{
|
||||||
|
FogOfWarData fogData = _serverFogData[clientId];
|
||||||
|
Vector2Int gridPos = WorldToGrid(worldPosition);
|
||||||
|
|
||||||
|
int cellRadius = Mathf.CeilToInt(radius / cellSize);
|
||||||
|
|
||||||
|
for (int x = -cellRadius; x <= cellRadius; x++)
|
||||||
|
{
|
||||||
|
for (int y = -cellRadius; y <= cellRadius; y++)
|
||||||
|
{
|
||||||
|
if (x * x + y * y > cellRadius * cellRadius) continue;
|
||||||
|
|
||||||
|
int gridX = gridPos.x + x;
|
||||||
|
int gridY = gridPos.y + y;
|
||||||
|
|
||||||
|
if (gridX < 0 || gridX >= gridWidth || gridY < 0 || gridY >= gridHeight)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// 현재 시야에 표시 + 방문한 적 있음으로 기록
|
||||||
|
fogData.SetVisible(gridX, gridY, true);
|
||||||
|
fogData.SetExplored(gridX, gridY, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 월드 좌표를 그리드 좌표로 변환
|
||||||
|
/// </summary>
|
||||||
|
public Vector2Int WorldToGrid(Vector3 worldPos)
|
||||||
|
{
|
||||||
|
Vector3 localPos = worldPos - worldOrigin;
|
||||||
|
int x = Mathf.FloorToInt(localPos.x / cellSize);
|
||||||
|
int z = Mathf.FloorToInt(localPos.z / cellSize);
|
||||||
|
return new Vector2Int(x, z);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 그리드 좌표를 월드 좌표로 변환
|
||||||
|
/// </summary>
|
||||||
|
public Vector3 GridToWorld(int x, int y)
|
||||||
|
{
|
||||||
|
return worldOrigin + new Vector3(x * cellSize, 0, y * cellSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 특정 위치가 플레이어에게 보이는지 확인
|
||||||
|
/// </summary>
|
||||||
|
public FogOfWarState GetVisibilityState(ulong clientId, Vector3 worldPosition)
|
||||||
|
{
|
||||||
|
FogOfWarData fogData = GetPlayerFogData(clientId);
|
||||||
|
if (fogData == null)
|
||||||
|
return FogOfWarState.Unexplored;
|
||||||
|
|
||||||
|
Vector2Int gridPos = WorldToGrid(worldPosition);
|
||||||
|
return fogData.GetState(gridPos.x, gridPos.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDrawGizmos()
|
||||||
|
{
|
||||||
|
// 그리드 시각화
|
||||||
|
Gizmos.color = Color.yellow;
|
||||||
|
Vector3 size = new Vector3(gridWidth * cellSize, 0.1f, gridHeight * cellSize);
|
||||||
|
Gizmos.DrawWireCube(worldOrigin + size / 2f, size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 플레이어별 안개 데이터
|
||||||
|
/// </summary>
|
||||||
|
public class FogOfWarData
|
||||||
|
{
|
||||||
|
private bool[,] _explored; // 한번이라도 방문한 적이 있는가
|
||||||
|
private bool[,] _currentlyVisible; // 현재 보이는가
|
||||||
|
private int _width;
|
||||||
|
private int _height;
|
||||||
|
|
||||||
|
public FogOfWarData(int width, int height)
|
||||||
|
{
|
||||||
|
_width = width;
|
||||||
|
_height = height;
|
||||||
|
_explored = new bool[width, height];
|
||||||
|
_currentlyVisible = new bool[width, height];
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetExplored(int x, int y, bool value)
|
||||||
|
{
|
||||||
|
if (IsValidCoord(x, y))
|
||||||
|
_explored[x, y] = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetVisible(int x, int y, bool value)
|
||||||
|
{
|
||||||
|
if (IsValidCoord(x, y))
|
||||||
|
_currentlyVisible[x, y] = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ClearCurrentVision()
|
||||||
|
{
|
||||||
|
System.Array.Clear(_currentlyVisible, 0, _currentlyVisible.Length);
|
||||||
|
}
|
||||||
|
|
||||||
|
public FogOfWarState GetState(int x, int y)
|
||||||
|
{
|
||||||
|
if (!IsValidCoord(x, y))
|
||||||
|
return FogOfWarState.Unexplored;
|
||||||
|
|
||||||
|
if (_currentlyVisible[x, y])
|
||||||
|
return FogOfWarState.Visible;
|
||||||
|
|
||||||
|
if (_explored[x, y])
|
||||||
|
return FogOfWarState.Explored;
|
||||||
|
|
||||||
|
return FogOfWarState.Unexplored;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool IsValidCoord(int x, int y)
|
||||||
|
{
|
||||||
|
return x >= 0 && x < _explored.GetLength(0) &&
|
||||||
|
y >= 0 && y < _explored.GetLength(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Visible 데이터를 바이트 배열로 압축
|
||||||
|
/// </summary>
|
||||||
|
public byte[] GetVisibleData()
|
||||||
|
{
|
||||||
|
int totalCells = _width * _height;
|
||||||
|
int byteCount = (totalCells + 7) / 8; // 8비트 = 1바이트
|
||||||
|
byte[] data = new byte[byteCount];
|
||||||
|
|
||||||
|
for (int i = 0; i < totalCells; i++)
|
||||||
|
{
|
||||||
|
int x = i % _width;
|
||||||
|
int y = i / _width;
|
||||||
|
|
||||||
|
if (_currentlyVisible[x, y])
|
||||||
|
{
|
||||||
|
int byteIndex = i / 8;
|
||||||
|
int bitIndex = i % 8;
|
||||||
|
data[byteIndex] |= (byte)(1 << bitIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Explored 데이터를 바이트 배열로 압축
|
||||||
|
/// </summary>
|
||||||
|
public byte[] GetExploredData()
|
||||||
|
{
|
||||||
|
int totalCells = _width * _height;
|
||||||
|
int byteCount = (totalCells + 7) / 8;
|
||||||
|
byte[] data = new byte[byteCount];
|
||||||
|
|
||||||
|
for (int i = 0; i < totalCells; i++)
|
||||||
|
{
|
||||||
|
int x = i % _width;
|
||||||
|
int y = i / _width;
|
||||||
|
|
||||||
|
if (_explored[x, y])
|
||||||
|
{
|
||||||
|
int byteIndex = i / 8;
|
||||||
|
int bitIndex = i % 8;
|
||||||
|
data[byteIndex] |= (byte)(1 << bitIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 바이트 배열에서 Visible 데이터 복원
|
||||||
|
/// </summary>
|
||||||
|
public void SetVisibleData(byte[] data)
|
||||||
|
{
|
||||||
|
System.Array.Clear(_currentlyVisible, 0, _currentlyVisible.Length);
|
||||||
|
|
||||||
|
int totalCells = _width * _height;
|
||||||
|
for (int i = 0; i < totalCells && i / 8 < data.Length; i++)
|
||||||
|
{
|
||||||
|
int byteIndex = i / 8;
|
||||||
|
int bitIndex = i % 8;
|
||||||
|
|
||||||
|
bool isVisible = (data[byteIndex] & (1 << bitIndex)) != 0;
|
||||||
|
|
||||||
|
int x = i % _width;
|
||||||
|
int y = i / _width;
|
||||||
|
_currentlyVisible[x, y] = isVisible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 바이트 배열에서 Explored 데이터 복원
|
||||||
|
/// </summary>
|
||||||
|
public void SetExploredData(byte[] data)
|
||||||
|
{
|
||||||
|
int totalCells = _width * _height;
|
||||||
|
for (int i = 0; i < totalCells && i / 8 < data.Length; i++)
|
||||||
|
{
|
||||||
|
int byteIndex = i / 8;
|
||||||
|
int bitIndex = i % 8;
|
||||||
|
|
||||||
|
bool isExplored = (data[byteIndex] & (1 << bitIndex)) != 0;
|
||||||
|
|
||||||
|
int x = i % _width;
|
||||||
|
int y = i / _width;
|
||||||
|
|
||||||
|
// Explored는 누적 (한번 탐색하면 계속 유지)
|
||||||
|
if (isExplored)
|
||||||
|
_explored[x, y] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 안개 상태
|
||||||
|
/// </summary>
|
||||||
|
public enum FogOfWarState
|
||||||
|
{
|
||||||
|
Unexplored, // 방문한 적 없음 (완전히 어두움)
|
||||||
|
Explored, // 방문했지만 현재 시야 밖 (지형/건물만 보임)
|
||||||
|
Visible // 현재 시야 안 (모두 보임)
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/Scripts/FogOfWarSystem.cs.meta
Normal file
2
Assets/Scripts/FogOfWarSystem.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9e73da29c7794e445a17b7d28a61cdb3
|
||||||
30
Assets/Scripts/IVisionProvider.cs
Normal file
30
Assets/Scripts/IVisionProvider.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Northbound
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 시야를 제공하는 객체 인터페이스 (플레이어, 건물 등)
|
||||||
|
/// </summary>
|
||||||
|
public interface IVisionProvider
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 소유자 클라이언트 ID
|
||||||
|
/// </summary>
|
||||||
|
ulong GetOwnerId();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 시야 범위
|
||||||
|
/// </summary>
|
||||||
|
float GetVisionRange();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Transform
|
||||||
|
/// </summary>
|
||||||
|
Transform GetTransform();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 현재 활성화 상태인지
|
||||||
|
/// </summary>
|
||||||
|
bool IsActive();
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/Scripts/IVisionProvider.cs.meta
Normal file
2
Assets/Scripts/IVisionProvider.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2b23d5408ff532f49a541af63882a724
|
||||||
41
Assets/Scripts/PlayerVisionProvider.cs
Normal file
41
Assets/Scripts/PlayerVisionProvider.cs
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
using Unity.Netcode;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Northbound
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 플레이어의 시야 제공 컴포넌트
|
||||||
|
/// </summary>
|
||||||
|
public class PlayerVisionProvider : NetworkBehaviour, IVisionProvider
|
||||||
|
{
|
||||||
|
[Header("Vision Settings")]
|
||||||
|
public float visionRange = 10f;
|
||||||
|
|
||||||
|
public override void OnNetworkSpawn()
|
||||||
|
{
|
||||||
|
if (IsServer)
|
||||||
|
{
|
||||||
|
FogOfWarSystem.Instance?.RegisterVisionProvider(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnNetworkDespawn()
|
||||||
|
{
|
||||||
|
if (IsServer)
|
||||||
|
{
|
||||||
|
FogOfWarSystem.Instance?.UnregisterVisionProvider(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ulong GetOwnerId() => OwnerClientId;
|
||||||
|
public float GetVisionRange() => visionRange;
|
||||||
|
public Transform GetTransform() => transform;
|
||||||
|
public bool IsActive() => IsSpawned;
|
||||||
|
|
||||||
|
private void OnDrawGizmosSelected()
|
||||||
|
{
|
||||||
|
Gizmos.color = Color.yellow;
|
||||||
|
Gizmos.DrawWireSphere(transform.position, visionRange);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/Scripts/PlayerVisionProvider.cs.meta
Normal file
2
Assets/Scripts/PlayerVisionProvider.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 81d070574968f0d45be51307e2dfed64
|
||||||
@@ -64,7 +64,7 @@ namespace Northbound
|
|||||||
int rechargeAmountToAdd = Mathf.Min(rechargeAmount, maxResources - _currentResources.Value);
|
int rechargeAmountToAdd = Mathf.Min(rechargeAmount, maxResources - _currentResources.Value);
|
||||||
_currentResources.Value += rechargeAmountToAdd;
|
_currentResources.Value += rechargeAmountToAdd;
|
||||||
|
|
||||||
Debug.Log($"{resourceName} {rechargeAmountToAdd} 충전됨. 현재: {_currentResources.Value}/{maxResources}");
|
// Debug.Log($"{resourceName} {rechargeAmountToAdd} 충전됨. 현재: {_currentResources.Value}/{maxResources}");
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastRechargeTime = Time.time;
|
_lastRechargeTime = Time.time;
|
||||||
|
|||||||
8
Assets/Shaders.meta
Normal file
8
Assets/Shaders.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c8309f1a91f45bc4394594cdecabaa0c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
64
Assets/Shaders/FogOfWar.shader
Normal file
64
Assets/Shaders/FogOfWar.shader
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
Shader "Custom/FogOfWar"
|
||||||
|
{
|
||||||
|
Properties
|
||||||
|
{
|
||||||
|
_MainTex ("Fog Texture", 2D) = "white" {}
|
||||||
|
_FogColor ("Fog Color", Color) = (0,0,0,1)
|
||||||
|
_ExploredColor ("Explored Color", Color) = (0,0,0,0.5)
|
||||||
|
}
|
||||||
|
|
||||||
|
SubShader
|
||||||
|
{
|
||||||
|
Tags
|
||||||
|
{
|
||||||
|
"Queue"="Transparent+100"
|
||||||
|
"RenderType"="Transparent"
|
||||||
|
"IgnoreProjector"="True"
|
||||||
|
}
|
||||||
|
|
||||||
|
LOD 100
|
||||||
|
Blend SrcAlpha OneMinusSrcAlpha
|
||||||
|
ZWrite Off
|
||||||
|
Cull Off
|
||||||
|
|
||||||
|
Pass
|
||||||
|
{
|
||||||
|
CGPROGRAM
|
||||||
|
#pragma vertex vert
|
||||||
|
#pragma fragment frag
|
||||||
|
#include "UnityCG.cginc"
|
||||||
|
|
||||||
|
struct appdata
|
||||||
|
{
|
||||||
|
float4 vertex : POSITION;
|
||||||
|
float2 uv : TEXCOORD0;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct v2f
|
||||||
|
{
|
||||||
|
float2 uv : TEXCOORD0;
|
||||||
|
float4 vertex : SV_POSITION;
|
||||||
|
};
|
||||||
|
|
||||||
|
sampler2D _MainTex;
|
||||||
|
float4 _MainTex_ST;
|
||||||
|
fixed4 _FogColor;
|
||||||
|
fixed4 _ExploredColor;
|
||||||
|
|
||||||
|
v2f vert (appdata v)
|
||||||
|
{
|
||||||
|
v2f o;
|
||||||
|
o.vertex = UnityObjectToClipPos(v.vertex);
|
||||||
|
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
fixed4 frag (v2f i) : SV_Target
|
||||||
|
{
|
||||||
|
fixed4 col = tex2D(_MainTex, i.uv);
|
||||||
|
return col;
|
||||||
|
}
|
||||||
|
ENDCG
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Assets/Shaders/FogOfWar.shader.meta
Normal file
9
Assets/Shaders/FogOfWar.shader.meta
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1a32b22331996294f8eb2b7ac12d1c6b
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Reference in New Issue
Block a user