diff --git a/Assets/Prefabs/Laser Turret.prefab b/Assets/Prefabs/Laser Turret.prefab index 886202e..ade66a6 100644 --- a/Assets/Prefabs/Laser Turret.prefab +++ b/Assets/Prefabs/Laser Turret.prefab @@ -92,9 +92,9 @@ LineRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2115795504606128404} m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 0 m_MotionVectors: 0 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 @@ -102,7 +102,7 @@ LineRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 0} + - {fileID: 2100000, guid: 0244f7fe345a4904db014baf3a3d5034, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -146,9 +146,9 @@ LineRenderer: m_RotationOrder: 4 colorGradient: serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} + key0: {r: 0.16816717, g: 1, b: 0.031372547, a: 1} + key1: {r: 1, g: 0.8835529, b: 0.033018887, a: 1} + key2: {r: 1, g: 0.8835529, b: 0.033018887, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} @@ -156,7 +156,7 @@ LineRenderer: key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 - ctime2: 0 + ctime2: 65535 ctime3: 0 ctime4: 0 ctime5: 0 @@ -176,7 +176,7 @@ LineRenderer: numCornerVertices: 0 numCapVertices: 0 alignment: 0 - textureMode: 0 + textureMode: 1 shadowBias: 0.5 generateLightingData: 0 m_UseWorldSpace: 1 @@ -209,3 +209,4 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: flipDirection: 0 + power: 1 diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index e1b2a9e..947662c 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -24,7 +24,7 @@ RenderSettings: m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 - m_AmbientMode: 3 + m_AmbientMode: 0 m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} m_SkyboxMaterial: {fileID: 0} m_HaloStrength: 0.5 @@ -121,7 +121,323 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1001 &178750765 +--- !u!1 &519420028 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 519420032} + - component: {fileID: 519420031} + - component: {fileID: 519420029} + - component: {fileID: 519420030} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &519420029 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 7 + m_ObsoleteRenderingPath: 0 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + clearColorMode: 1 + backgroundColorHDR: {r: 0.047058824, g: 0.14117648, b: 0.3764706, a: 0} + clearDepth: 1 + volumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + volumeAnchorOverride: {fileID: 0} + antialiasing: 0 + SMAAQuality: 2 + dithering: 0 + stopNaNs: 0 + taaSharpenStrength: 0.6 + physicalParameters: + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + flipYMode: 0 + fullscreenPassthrough: 0 + allowDynamicResolution: 0 + customRenderingSettings: 0 + invertFaceCulling: 0 + probeLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + hasPersistentHistory: 0 + m_RenderingPathCustomFrameSettings: + bitDatas: + data1: 70297877217101 + data2: 4539628425463136256 + lodBias: 1 + lodBiasMode: 0 + lodBiasQualityLevel: 0 + maximumLODLevel: 0 + maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + materialQuality: 0 + renderingPathCustomFrameSettingsOverrideMask: + mask: + data1: 0 + data2: 0 + defaultFrameSettings: 0 +--- !u!20 &519420031 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 0 + m_HDR: 0 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &519420032 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &540283174 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 540283176} + - component: {fileID: 540283175} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!120 &540283175 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 540283174} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0244f7fe345a4904db014baf3a3d5034, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 1, y: 0, z: 0} + - {x: 7, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0.83145046, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0.9772253, g: 0, b: 1, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 65535 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!4 &540283176 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 540283174} + 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: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &922342023 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -136,12 +452,224 @@ PrefabInstance: - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, type: 3} propertyPath: m_LocalPosition.x - value: -2.3136568 + value: -10.17 objectReference: {fileID: 0} - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, type: 3} propertyPath: m_LocalPosition.y - value: 2.7764423 + value: -0.46 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, type: 3} +--- !u!1001 &1261279073 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalPosition.x + value: -7.25 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalPosition.y + value: 2.26 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6403035724002954929, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, + type: 3} + propertyPath: m_Name + value: Wall + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, type: 3} +--- !u!1001 &1563259683 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2115795504606128404, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_Name + value: Laser Turret + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalPosition.x + value: -9.006343 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalPosition.y + value: -1.8364422 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128415, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: flipDirection + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3} +--- !u!1001 &1655985534 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 6460630409594600933, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_Name + value: Charge Point + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalPosition.x + value: 3.44 + objectReference: {fileID: 0} + - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, + type: 3} + propertyPath: m_LocalPosition.y + value: 1.46 objectReference: {fileID: 0} - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, type: 3} @@ -190,159 +718,7 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, type: 3} ---- !u!1 &519420028 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 519420032} - - component: {fileID: 519420031} - - component: {fileID: 519420029} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &519420029 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} - m_Enabled: 1 ---- !u!20 &519420031 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 2 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 1 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 0 - m_HDR: 1 - m_AllowMSAA: 0 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 0 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &519420032 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1261279073 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalPosition.x - value: -5.079479 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalPosition.y - value: 1.5528967 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6403035724002954929, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, - type: 3} - propertyPath: m_Name - value: Wall - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, type: 3} ---- !u!1001 &1563259683 +--- !u!1001 &1777748290 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -352,17 +728,27 @@ PrefabInstance: - target: {fileID: 2115795504606128404, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3} propertyPath: m_Name - value: Laser Turret + value: Laser Turret (1) + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128404, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2115795504606128409, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + propertyPath: isHorizontal + value: 1 objectReference: {fileID: 0} - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3} propertyPath: m_LocalPosition.x - value: -9.87 + value: 0.14365676 objectReference: {fileID: 0} - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3} propertyPath: m_LocalPosition.y - value: -1.51 + value: 3.973558 objectReference: {fileID: 0} - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3} @@ -409,85 +795,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 2115795504606128415, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: flipDirection - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3} ---- !u!1001 &1777748290 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2115795504606128404, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_Name - value: Laser Turret (1) - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128409, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: isHorizontal - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalPosition.x - value: -0.35 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalPosition.y - value: 4.3 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - target: {fileID: 2115795504606128415, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3} propertyPath: flipDirection @@ -495,75 +802,126 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3} ---- !u!1001 &2082153622 -PrefabInstance: +--- !u!1 &1801144597 +GameObject: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6460630409594600933, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_Name - value: Charge Point - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalPosition.x - value: -7.136117 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalPosition.y - value: -0.16716063 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, type: 3} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1801144600} + - component: {fileID: 1801144599} + - component: {fileID: 1801144598} + m_Layer: 0 + m_Name: Mirror (1) + m_TagString: Mirror + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!60 &1801144598 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801144597} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 9, y: 9} + newSize: {x: 9, y: 9} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 4.46, y: 4.5} + - {x: 4.42, y: 4.46} + - {x: 1.1, y: 1.13} + - {x: -4.5, y: -4.47} + - {x: -4.5, y: -4.5} + - {x: 4.5, y: -4.5} + - {x: 4.5, y: 4.5} +--- !u!212 &1801144599 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801144597} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: ae38caacb1dc57845a4b7af1e502f24d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 9, y: 9} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1801144600 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801144597} + m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} + m_LocalPosition: {x: -1.28, y: 1.95, z: 0} + m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} +--- !u!4 &1976291388 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41, + type: 3} + m_PrefabInstance: {fileID: 1777748290} + m_PrefabAsset: {fileID: 0} --- !u!1 &2114209081 GameObject: m_ObjectHideFlags: 0 @@ -574,7 +932,6 @@ GameObject: m_Component: - component: {fileID: 2114209083} - component: {fileID: 2114209082} - - component: {fileID: 2114209084} - component: {fileID: 2114209085} m_Layer: 0 m_Name: Mirror @@ -641,24 +998,12 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114209081} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2.19, y: 0.07, z: 0} + m_LocalPosition: {x: -0.56, y: -1.49, z: 0} m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 7 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2114209084 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2114209081} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 204ecfc2ca6a5b041bf57b20c63a189c, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!60 &2114209085 PolygonCollider2D: m_ObjectHideFlags: 0 @@ -696,7 +1041,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1976291388} m_Modifications: - target: {fileID: 4683683892600594510, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} @@ -706,12 +1051,12 @@ PrefabInstance: - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} propertyPath: m_LocalPosition.x - value: -0.035214074 + value: -0.35774165 objectReference: {fileID: 0} - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} propertyPath: m_LocalPosition.y - value: 0.0026455899 + value: -7.941825 objectReference: {fileID: 0} - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} @@ -721,17 +1066,17 @@ PrefabInstance: - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} @@ -741,7 +1086,7 @@ PrefabInstance: - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} propertyPath: m_RootOrder - value: 4 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} @@ -758,5 +1103,15 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, + type: 3} + propertyPath: m_LocalScale.x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8, + type: 3} + propertyPath: m_LocalScale.y + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 85fd029068587db4d95be8b3b62285c8, type: 3} diff --git a/Assets/Scripts/Laser.cs b/Assets/Scripts/Laser.cs index a5b90d8..642ecf3 100644 --- a/Assets/Scripts/Laser.cs +++ b/Assets/Scripts/Laser.cs @@ -20,55 +20,48 @@ public class Laser : MonoBehaviour void Update() { - RaycastHit2D hit = DrawLaser(transform.position); - HandleHit(hit); + DrawLaser(transform.position, isHorizontal, flipDirection); } - RaycastHit2D DrawLaser(Vector3 startPosition) + void DrawLaser(Vector3 startPosition, bool drawOnYAxis, bool flipAxis, int laserIndex = 0) { - laserLine.SetPosition(0, startPosition); - RaycastHit2D hit; + RaycastHit2D hit = DrawRaycast(startPosition, drawOnYAxis, flipAxis); + Vector3 endPosition; - if (isHorizontal) - { - float endpointY = flipDirection ? startPosition.y - maxDistance : startPosition.y + maxDistance; - hit = Physics2D.Raycast(startPosition, flipDirection ? Vector2.down : Vector2.up); + if (hit.collider) endPosition = hit.point; + else if (drawOnYAxis) endPosition = new Vector3(startPosition.x, flipAxis ? startPosition.y - maxDistance : startPosition.y + maxDistance, 0); + else endPosition = new Vector3(flipAxis ? startPosition.x - maxDistance : startPosition.x + maxDistance, startPosition.y, 0); - if (hit.collider) laserLine.SetPosition(1, hit.point); - else laserLine.SetPosition(1, new Vector3(startPosition.x, endpointY, 0)); - } else - { - float endpointX = flipDirection ? startPosition.x - maxDistance : startPosition.x + maxDistance; - hit = Physics2D.Raycast(startPosition, flipDirection ? Vector2.left : Vector2.right); + laserLine.positionCount = laserIndex + 2; + laserLine.SetPosition(laserIndex, startPosition); + laserLine.SetPosition(laserIndex + 1, endPosition); - if (hit.collider) laserLine.SetPosition(1, hit.point); - else laserLine.SetPosition(1, new Vector3(endpointX, startPosition.y, 0)); - } - - return hit; - } - - void HandleHit(RaycastHit2D hit) - { if (hit.collider) { - if (hit.collider.tag == "Mirror") HitMirror(hit); - if (hit.collider.tag == "Charge Point") HitChargePoint(hit); + if (hit.collider.tag == "Mirror") + { + Vector2 offset = GetDrawDirection(!drawOnYAxis, flipAxis); + DrawLaser(hit.point + offset, !drawOnYAxis, flipAxis, laserLine.positionCount); + } else + { + if (hit.collider.tag == "Charge Point") HitChargePoint(hit); + else UnchargeLastPoint(); + } } - else HitNothing(); + else UnchargeLastPoint(); } - void HitMirror(RaycastHit2D hit) + RaycastHit2D DrawRaycast(Vector3 startPosition, bool drawOnYAxis, bool flipAxis) { + return Physics2D.Raycast(startPosition, GetDrawDirection(drawOnYAxis, flipAxis)); + } - if (isHorizontal) - { - // TODO - } - else - { - // TODO - } + Vector2 GetDrawDirection(bool drawOnYAxis, bool flipAxis) + { + if (drawOnYAxis && flipAxis) return Vector2.down; + else if (drawOnYAxis && !flipAxis) return Vector2.up; + else if (!drawOnYAxis && flipAxis) return Vector2.left; + return Vector2.right; } void HitChargePoint(RaycastHit2D hit) @@ -77,7 +70,7 @@ public class Laser : MonoBehaviour lastChargePoint = hit.collider.gameObject; } - void HitNothing() + void UnchargeLastPoint() { if (lastChargePoint) lastChargePoint.GetComponent().adjustCharges(power * -1); lastChargePoint = null;