diff --git a/Assets/Materials/Testing/TestPink.mat b/Assets/Materials/Testing/TestPink.mat new file mode 100644 index 0000000..0213e18 --- /dev/null +++ b/Assets/Materials/Testing/TestPink.mat @@ -0,0 +1,75 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TestPink + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _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} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.9190476, g: 0.38830015, b: 0.9264706, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/Testing/TestPink.mat.meta b/Assets/Materials/Testing/TestPink.mat.meta new file mode 100644 index 0000000..78769ab --- /dev/null +++ b/Assets/Materials/Testing/TestPink.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ce8dfa1cfa2f741819d5c8702d8739d4 +timeCreated: 1494171362 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/TestMap.unity b/Assets/Scenes/TestMap.unity index 5cb0fc8..eb68262 100644 --- a/Assets/Scenes/TestMap.unity +++ b/Assets/Scenes/TestMap.unity @@ -139,6 +139,170 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &100803251 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 100803252} + - component: {fileID: 100803255} + - component: {fileID: 100803254} + - component: {fileID: 100803253} + m_Layer: 0 + m_Name: Door Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &100803252 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 100803251} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 1.5, z: 0} + m_LocalScale: {x: 2, y: 3, z: 0.5} + m_Children: [] + m_Father: {fileID: 1708261007} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &100803253 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 100803251} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: ce8dfa1cfa2f741819d5c8702d8739d4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &100803254 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 100803251} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &100803255 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 100803251} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &248140502 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 248140503} + - component: {fileID: 248140506} + - component: {fileID: 248140505} + - component: {fileID: 248140504} + m_Layer: 0 + m_Name: Test Roof + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &248140503 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 248140502} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.07999992, y: 3.5, z: -0.020000458} + m_LocalScale: {x: 7.163513, y: 1, z: 8.3030815} + m_Children: [] + m_Father: {fileID: 360020178} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &248140504 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 248140502} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: d7fc3e4b5927d4025acc0b692587440c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &248140505 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 248140502} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &248140506 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 248140502} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &270758321 GameObject: m_ObjectHideFlags: 0 @@ -273,6 +437,50 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 270758321} +--- !u!1 &310461191 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 310461192} + - component: {fileID: 310461193} + m_Layer: 0 + m_Name: Door + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &310461192 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 310461191} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1708261007} + m_Father: {fileID: 949094013} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &310461193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 310461191} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48f972e7413e548b3a1f4f31bb0f3422, type: 3} + m_Name: + m_EditorClassIdentifier: + ID: 0 + DoorRoot: {fileID: 1708261007} + IsOpen: 0 --- !u!1 &344272454 GameObject: m_ObjectHideFlags: 0 @@ -305,6 +513,40 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &360020177 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 360020178} + m_Layer: 0 + m_Name: Test House + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &360020178 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 360020177} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.5, y: 0, z: 9.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 963248537} + - {fileID: 1304969966} + - {fileID: 418104023} + - {fileID: 829930058} + - {fileID: 248140503} + - {fileID: 603481119} + m_Father: {fileID: 949094013} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &375619905 GameObject: m_ObjectHideFlags: 0 @@ -421,6 +663,88 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 396674780} +--- !u!1 &418104022 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 418104023} + - component: {fileID: 418104026} + - component: {fileID: 418104025} + - component: {fileID: 418104024} + m_Layer: 0 + m_Name: Test Wall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &418104023 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 418104022} + m_LocalRotation: {x: -0, y: 0.7071065, z: -0, w: 0.7071072} + m_LocalPosition: {x: 0, y: 1.5, z: 3} + m_LocalScale: {x: 1, y: 3, z: 6} + m_Children: [] + m_Father: {fileID: 360020178} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 90.00001, z: 0} +--- !u!23 &418104024 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 418104022} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: d7fc3e4b5927d4025acc0b692587440c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &418104025 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 418104022} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &418104026 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 418104022} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &566501560 GameObject: m_ObjectHideFlags: 0 @@ -491,6 +815,71 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 566501560} +--- !u!1 &603481118 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 603481119} + - component: {fileID: 603481120} + m_Layer: 0 + m_Name: Test Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &603481119 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 603481118} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.547, z: -0.082} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 360020178} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &603481120 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 603481118} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 2 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 0.5 + m_Range: 16.576748 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.02 + m_NormalBias: 0.3 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 --- !u!1 &605817613 GameObject: m_ObjectHideFlags: 0 @@ -805,6 +1194,88 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &829930057 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 829930058} + - component: {fileID: 829930061} + - component: {fileID: 829930060} + - component: {fileID: 829930059} + m_Layer: 0 + m_Name: Test Wall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &829930058 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829930057} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 1, y: 1.5, z: -3} + m_LocalScale: {x: 1, y: 3, z: 2} + m_Children: [] + m_Father: {fileID: 360020178} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!23 &829930059 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829930057} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: d7fc3e4b5927d4025acc0b692587440c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &829930060 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829930057} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &829930061 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829930057} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &949094012 GameObject: m_ObjectHideFlags: 0 @@ -834,9 +1305,93 @@ Transform: - {fileID: 1199326066} - {fileID: 1377895208} - {fileID: 1988211392} + - {fileID: 360020178} + - {fileID: 310461192} m_Father: {fileID: 19192150} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &963248536 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 963248537} + - component: {fileID: 963248540} + - component: {fileID: 963248539} + - component: {fileID: 963248538} + m_Layer: 0 + m_Name: Test Wall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &963248537 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963248536} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 1.5, z: -0.5} + m_LocalScale: {x: 1, y: 3, z: 6} + m_Children: [] + m_Father: {fileID: 360020178} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &963248538 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963248536} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: d7fc3e4b5927d4025acc0b692587440c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &963248539 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963248536} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &963248540 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963248536} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1116159554 GameObject: m_ObjectHideFlags: 0 @@ -992,7 +1547,7 @@ GameObject: - component: {fileID: 1229079793} - component: {fileID: 1229079791} m_Layer: 0 - m_Name: Blinky Mesh + m_Name: Button Mesh m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1050,6 +1605,88 @@ MeshFilter: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1229079789} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1304969965 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1304969966} + - component: {fileID: 1304969969} + - component: {fileID: 1304969968} + - component: {fileID: 1304969967} + m_Layer: 0 + m_Name: Test Wall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1304969966 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1304969965} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.5, y: 1.5, z: -0.5} + m_LocalScale: {x: 1, y: 3, z: 6} + m_Children: [] + m_Father: {fileID: 360020178} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1304969967 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1304969965} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: d7fc3e4b5927d4025acc0b692587440c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1304969968 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1304969965} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1304969969 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1304969965} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1377895204 GameObject: m_ObjectHideFlags: 0 @@ -1210,8 +1847,8 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1444061381} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalPosition: {x: 0, y: 0, z: 5} + m_LocalScale: {x: 1, y: 1, z: 2} m_Children: [] m_Father: {fileID: 949094013} m_RootOrder: 0 @@ -1293,6 +1930,35 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1708261006 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1708261007} + m_Layer: 0 + m_Name: Door Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1708261007 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1708261006} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.5, y: 0, z: 6.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 100803252} + m_Father: {fileID: 310461192} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1810916631 GameObject: m_ObjectHideFlags: 0 @@ -1489,7 +2155,7 @@ GameObject: - component: {fileID: 1988211393} - component: {fileID: 1988211394} m_Layer: 0 - m_Name: BlinkyBox + m_Name: Button m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1517,10 +2183,11 @@ MonoBehaviour: m_GameObject: {fileID: 1988211391} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0c07d843d1f7647df9d2fb28d9e51c51, type: 3} + m_Script: {fileID: 11500000, guid: 962f4855dcb8f4584839a7448e385201, type: 3} m_Name: m_EditorClassIdentifier: ID: 0 + WillTrigger: {fileID: 310461193} Mesh: {fileID: 1229079791} BlinkLength: 1 BlinkBrightness: 1.3 diff --git a/Assets/Scripts/Entities/SyncBases/BlinkyBox.cs b/Assets/Scripts/Entities/SyncBases/Button.cs similarity index 59% rename from Assets/Scripts/Entities/SyncBases/BlinkyBox.cs rename to Assets/Scripts/Entities/SyncBases/Button.cs index 1de4a1b..5e30330 100644 --- a/Assets/Scripts/Entities/SyncBases/BlinkyBox.cs +++ b/Assets/Scripts/Entities/SyncBases/Button.cs @@ -10,10 +10,15 @@ namespace Cyber.Entities.SyncBases { /// /// Object that blinks when interacted with. /// - public class BlinkyBox : Interactable { + public class Button : Interactable { /// - /// The lamp mesh that will blink. + /// The interactable which this button will trigger. + /// + public Interactable WillTrigger; + + /// + /// The button mesh that will blink. /// public MeshRenderer Mesh; @@ -32,42 +37,43 @@ namespace Cyber.Entities.SyncBases { /// public Color BlinkColor = new Color(1f, 0.6f, 0f); - private double BlinkTime = 0; + private float BlinkTime = float.MinValue; private Material Material; /// - /// When a BlinkyBox is interacted with, it blinks once, light lasting - /// for seconds. + /// When the button is interacted with, it blinks once, light lasting + /// for seconds, and calls Interact + /// on the . /// public override void Interact() { - BlinkTime = NetworkHelper.GetCurrentSystemTime(); - } - - /// - /// Update the blink time if the server has a newer blinktime - /// - /// - public override void Deserialize(NetworkReader reader) { - double ServerBlinkTime = reader.ReadDouble(); - if (ServerBlinkTime > BlinkTime) { - BlinkTime = ServerBlinkTime; + BlinkTime = Time.time; + if (WillTrigger != null) { + WillTrigger.Interact(); + } else { + Term.Println("FIXME: The button '" + gameObject.name + "' was pressed, but it doesn't have a WillTrigger."); } } /// - /// Write the blink time so others will sync if they have older blinks. + /// Buttons only act as triggers, so only interact is sent to the server. /// - /// - public override void Serialize(NetworkWriter writer) { - writer.Write(BlinkTime); + /// + public override void Deserialize(NetworkReader reader) { } /// - /// The blinky box doesn't need a hash and it should update every 5 ticks. + /// Buttons only act as triggers, so only interact is sent to the server. + /// + /// + public override void Serialize(NetworkWriter writer) { + } + + /// + /// Buttons only act as triggers, so only interact is sent to the server. /// /// Sync Handletype containing sync information. public override SyncHandletype GetSyncHandletype() { - return new SyncHandletype(false, 5); + return new SyncHandletype(false, 1000); } private void Start() { @@ -75,9 +81,9 @@ namespace Cyber.Entities.SyncBases { } private void Update() { - float Time = (float) (NetworkHelper.GetCurrentSystemTime() - BlinkTime); - if (Time < BlinkLength) { - float Brightness = (1f - Time / BlinkLength) * BlinkBrightness; + float CurrentTime = Time.time - BlinkTime; + if (CurrentTime < BlinkLength) { + float Brightness = (1f - CurrentTime / BlinkLength) * BlinkBrightness; Color NewColor = new Color(Brightness * BlinkColor.r, Brightness * BlinkColor.g, Brightness * BlinkColor.b); Material.SetColor("_EmissionColor", NewColor); diff --git a/Assets/Scripts/Entities/SyncBases/BlinkyBox.cs.meta b/Assets/Scripts/Entities/SyncBases/Button.cs.meta similarity index 76% rename from Assets/Scripts/Entities/SyncBases/BlinkyBox.cs.meta rename to Assets/Scripts/Entities/SyncBases/Button.cs.meta index 50e3da8..7e362ec 100644 --- a/Assets/Scripts/Entities/SyncBases/BlinkyBox.cs.meta +++ b/Assets/Scripts/Entities/SyncBases/Button.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 0c07d843d1f7647df9d2fb28d9e51c51 -timeCreated: 1494425788 +guid: 962f4855dcb8f4584839a7448e385201 +timeCreated: 1494461750 licenseType: Free MonoImporter: serializedVersion: 2 diff --git a/Assets/Scripts/Entities/SyncBases/Door.cs b/Assets/Scripts/Entities/SyncBases/Door.cs new file mode 100644 index 0000000..6557071 --- /dev/null +++ b/Assets/Scripts/Entities/SyncBases/Door.cs @@ -0,0 +1,63 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Networking; + +namespace Cyber.Entities.SyncBases { + public class Door : Interactable { + + /// + /// The root of the door mesh. This will be scaled to animate the door. + /// + public Transform DoorRoot; + + /// + /// The openness of the door. + /// + public bool IsOpen = false; + + /// + /// Toggles the openness of the door. + /// + public override void Interact() { + IsOpen = !IsOpen; + } + + /// + /// Reads the openness of the door from the server. + /// + /// + public override void Deserialize(NetworkReader reader) { + IsOpen = reader.ReadBoolean(); + } + + /// + /// Writes the openness of the door. + /// + /// + public override void Serialize(NetworkWriter writer) { + writer.Write(IsOpen); + } + + /// + /// Return the Sync Handletype information for . + /// + /// Sync Handletype containing sync information. + public override SyncHandletype GetSyncHandletype() { + return new SyncHandletype(false, 10); + } + + private void Update() { + float DoorScale = IsOpen ? 0.01f : 1; + if (DoorRoot.localScale.x != DoorScale) { + Vector3 Scale = DoorRoot.localScale; + if (Mathf.Abs(Scale.x - DoorScale) < 0.01) { + Scale.x = DoorScale; + } else { + Scale.x = Mathf.Lerp(Scale.x, DoorScale, 5f * Time.deltaTime); + } + DoorRoot.localScale = Scale; + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Entities/SyncBases/Door.cs.meta b/Assets/Scripts/Entities/SyncBases/Door.cs.meta new file mode 100644 index 0000000..25e3049 --- /dev/null +++ b/Assets/Scripts/Entities/SyncBases/Door.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 48f972e7413e548b3a1f4f31bb0f3422 +timeCreated: 1494455828 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: