diff --git a/.idea/.idea.GameOff2024/.idea/.gitignore b/.idea/.idea.GameOff2024/.idea/.gitignore new file mode 100644 index 0000000..4685f1c --- /dev/null +++ b/.idea/.idea.GameOff2024/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.GameOff2024.iml +/contentModel.xml +/modules.xml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.GameOff2024/.idea/indexLayout.xml b/.idea/.idea.GameOff2024/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.GameOff2024/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.GameOff2024/.idea/vcs.xml b/.idea/.idea.GameOff2024/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.GameOff2024/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Assets/Arts.meta b/Assets/Arts.meta new file mode 100644 index 0000000..8337b67 --- /dev/null +++ b/Assets/Arts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8060806f9eb0c134e84427047e4c8178 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Arts/rtaImage.png b/Assets/Arts/rtaImage.png new file mode 100644 index 0000000..854c48e Binary files /dev/null and b/Assets/Arts/rtaImage.png differ diff --git a/Assets/Arts/rtaImage.png.meta b/Assets/Arts/rtaImage.png.meta new file mode 100644 index 0000000..a35e0c7 --- /dev/null +++ b/Assets/Arts/rtaImage.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: 963d42bfaa82c3842b3a09438eb1e58b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Samir.unity b/Assets/Scenes/Samir.unity index 5347af5..2861004 100644 --- a/Assets/Scenes/Samir.unity +++ b/Assets/Scenes/Samir.unity @@ -383,7 +383,7 @@ GameObject: m_Component: - component: {fileID: 130761953} m_Layer: 0 - m_Name: ------------------------------ (3) + m_Name: ------------------------------ m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -583,55 +583,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 188866862} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &228618184 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 228618186} - - component: {fileID: 228618185} - m_Layer: 0 - m_Name: Global Volume (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &228618185 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 228618184} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IsGlobal: 1 - priority: 0 - blendDistance: 0 - weight: 1 - sharedProfile: {fileID: 11400000, guid: a6560a915ef98420e9faacc1c7438823, type: 2} ---- !u!4 &228618186 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 228618184} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &256841826 PrefabInstance: m_ObjectHideFlags: 0 @@ -790,7 +741,7 @@ GameObject: m_Component: - component: {fileID: 298469752} m_Layer: 0 - m_Name: ------------------------------ (4) + m_Name: ------------------------------ m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1892,124 +1843,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 882270497} m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &927214180 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 927214183} - - component: {fileID: 927214182} - - component: {fileID: 927214181} - m_Layer: 0 - m_Name: Directional Light (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &927214181 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 927214180} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 1 ---- !u!108 &927214182 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 927214180} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 2 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 5000 - m_UseColorTemperature: 1 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &927214183 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 927214180} - serializedVersion: 2 - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!1 &985646259 GameObject: m_ObjectHideFlags: 0 @@ -2125,7 +1958,7 @@ GameObject: m_Component: - component: {fileID: 992135812} m_Layer: 0 - m_Name: ------------------------------ (2) + m_Name: ------------------------------ m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2261,7 +2094,7 @@ GameObject: m_Component: - component: {fileID: 1196902883} m_Layer: 0 - m_Name: ------------------------------ (1) + m_Name: ------------------------------ m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2745,6 +2578,63 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1674755498} m_PrefabAsset: {fileID: 0} +--- !u!1 &1721698428 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1721698429} + - component: {fileID: 1721698431} + - component: {fileID: 1721698430} + m_Layer: 0 + m_Name: PlayerMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1721698429 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1721698428} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1721698430 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1721698428} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d61d4174f1cd4d2580207590e6fc05e5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1721698431 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1721698428} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45f6ccbbf842ceb47bfe1cc19085daa0, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1823285417 PrefabInstance: m_ObjectHideFlags: 0 @@ -2855,143 +2745,6 @@ Transform: - {fileID: 110478556} m_Father: {fileID: 334916790} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1904174023 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1904174027} - - component: {fileID: 1904174026} - - component: {fileID: 1904174025} - - component: {fileID: 1904174024} - m_Layer: 0 - m_Name: Main Camera (1) - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1904174024 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1904174023} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_RenderShadows: 1 - m_RequiresDepthTextureOption: 2 - m_RequiresOpaqueTextureOption: 2 - m_CameraType: 0 - m_Cameras: [] - m_RendererIndex: -1 - m_VolumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_VolumeTrigger: {fileID: 0} - m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 1 - m_Antialiasing: 0 - m_AntialiasingQuality: 2 - m_StopNaN: 0 - m_Dithering: 0 - m_ClearDepth: 1 - m_AllowXRRendering: 1 - m_AllowHDROutput: 1 - m_UseScreenCoordOverride: 0 - m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} - m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} - m_RequiresDepthTexture: 0 - m_RequiresColorTexture: 0 - m_Version: 2 - m_TaaSettings: - m_Quality: 3 - m_FrameInfluence: 0.1 - m_JitterScale: 1 - m_MipBias: 0 - m_VarianceClampScale: 0.9 - m_ContrastAdaptiveSharpening: 0 ---- !u!81 &1904174025 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1904174023} - m_Enabled: 1 ---- !u!20 &1904174026 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1904174023} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - 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: 0 - 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: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &1904174027 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1904174023} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - 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 &1952830668 GameObject: m_ObjectHideFlags: 0 @@ -3142,7 +2895,7 @@ GameObject: m_Component: - component: {fileID: 1986501444} m_Layer: 0 - m_Name: ------------------------------ (5) + m_Name: ------------------------------ m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3315,16 +3068,14 @@ Transform: SceneRoots: m_ObjectHideFlags: 0 m_Roots: - - {fileID: 330585546} - {fileID: 410087041} - {fileID: 832575519} - {fileID: 298469752} + - {fileID: 330585546} - {fileID: 130761953} - - {fileID: 228618186} - {fileID: 1196902883} - - {fileID: 927214183} - - {fileID: 1904174027} + - {fileID: 1721698429} - {fileID: 1986501444} - - {fileID: 1456785129} - {fileID: 1958973072} + - {fileID: 1456785129} - {fileID: 992135812} diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..4ed0682 --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b87703aab76e8794a83b185a0fca70e2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Core.meta b/Assets/Scripts/Core.meta new file mode 100644 index 0000000..1a37616 --- /dev/null +++ b/Assets/Scripts/Core.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e55b9bc4f8975c243805eaabaf1ff8e7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Core/PlayerMain.cs b/Assets/Scripts/Core/PlayerMain.cs new file mode 100644 index 0000000..89d89ee --- /dev/null +++ b/Assets/Scripts/Core/PlayerMain.cs @@ -0,0 +1,36 @@ +using System; +using GameOff.Player; +using UnityEngine; + +namespace GameOff.Core +{ + public class PlayerMain : MonoBehaviour + { + public static PlayerMain Instance { get; private set; } + + private PlayerInputHandler _inputHandler; + + private void Awake() + { + if (Instance) + { + Debug.LogError($"PlayerMain already exist! {transform}"); + Destroy(gameObject); + return; + } + + Instance = this; + _inputHandler = GetComponent(); + } + + private void Start() + { + _inputHandler.OnChangeState += InputHandler_OnChangeState; + } + + private void InputHandler_OnChangeState(object sender, EventArgs e) + { + Debug.Log("Change"); + } + } +} diff --git a/Assets/Scripts/Core/PlayerMain.cs.meta b/Assets/Scripts/Core/PlayerMain.cs.meta new file mode 100644 index 0000000..09f1dc7 --- /dev/null +++ b/Assets/Scripts/Core/PlayerMain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 45f6ccbbf842ceb47bfe1cc19085daa0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GameInputs.cs b/Assets/Scripts/GameInputs.cs new file mode 100644 index 0000000..05367fa --- /dev/null +++ b/Assets/Scripts/GameInputs.cs @@ -0,0 +1,211 @@ +//------------------------------------------------------------------------------ +// +// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator +// version 1.7.0 +// from Assets/Scripts/GameInputs.inputactions +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine.InputSystem; +using UnityEngine.InputSystem.Utilities; + +namespace GameOff +{ + public partial class @GameInputs: IInputActionCollection2, IDisposable + { + public InputActionAsset asset { get; } + public @GameInputs() + { + asset = InputActionAsset.FromJson(@"{ + ""name"": ""GameInputs"", + ""maps"": [ + { + ""name"": ""Player"", + ""id"": ""da3c3195-8f3d-4214-8868-75a6a6838cd9"", + ""actions"": [ + { + ""name"": ""ChangeState"", + ""type"": ""Button"", + ""id"": ""e68b25df-26d5-444f-b400-30fd417637ce"", + ""expectedControlType"": ""Button"", + ""processors"": """", + ""interactions"": ""Press"", + ""initialStateCheck"": false + }, + { + ""name"": ""Mouse"", + ""type"": ""Value"", + ""id"": ""3d58ba17-a8e1-422d-a9b3-3da61a7f20aa"", + ""expectedControlType"": ""Vector2"", + ""processors"": """", + ""interactions"": """", + ""initialStateCheck"": true + } + ], + ""bindings"": [ + { + ""name"": """", + ""id"": ""1e6edfed-a1c7-4203-b3ea-9ce526d76276"", + ""path"": ""/rightButton"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""ChangeState"", + ""isComposite"": false, + ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""b66eea24-e7df-47d5-b151-f38e9fc3284d"", + ""path"": ""/p"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""ChangeState"", + ""isComposite"": false, + ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""ca799d40-b531-4015-96e7-37944f95d190"", + ""path"": ""/delta"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""Mouse"", + ""isComposite"": false, + ""isPartOfComposite"": false + } + ] + } + ], + ""controlSchemes"": [] +}"); + // Player + m_Player = asset.FindActionMap("Player", throwIfNotFound: true); + m_Player_ChangeState = m_Player.FindAction("ChangeState", throwIfNotFound: true); + m_Player_Mouse = m_Player.FindAction("Mouse", throwIfNotFound: true); + } + + public void Dispose() + { + UnityEngine.Object.Destroy(asset); + } + + public InputBinding? bindingMask + { + get => asset.bindingMask; + set => asset.bindingMask = value; + } + + public ReadOnlyArray? devices + { + get => asset.devices; + set => asset.devices = value; + } + + public ReadOnlyArray controlSchemes => asset.controlSchemes; + + public bool Contains(InputAction action) + { + return asset.Contains(action); + } + + public IEnumerator GetEnumerator() + { + return asset.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public void Enable() + { + asset.Enable(); + } + + public void Disable() + { + asset.Disable(); + } + + public IEnumerable bindings => asset.bindings; + + public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false) + { + return asset.FindAction(actionNameOrId, throwIfNotFound); + } + + public int FindBinding(InputBinding bindingMask, out InputAction action) + { + return asset.FindBinding(bindingMask, out action); + } + + // Player + private readonly InputActionMap m_Player; + private List m_PlayerActionsCallbackInterfaces = new List(); + private readonly InputAction m_Player_ChangeState; + private readonly InputAction m_Player_Mouse; + public struct PlayerActions + { + private @GameInputs m_Wrapper; + public PlayerActions(@GameInputs wrapper) { m_Wrapper = wrapper; } + public InputAction @ChangeState => m_Wrapper.m_Player_ChangeState; + public InputAction @Mouse => m_Wrapper.m_Player_Mouse; + public InputActionMap Get() { return m_Wrapper.m_Player; } + public void Enable() { Get().Enable(); } + public void Disable() { Get().Disable(); } + public bool enabled => Get().enabled; + public static implicit operator InputActionMap(PlayerActions set) { return set.Get(); } + public void AddCallbacks(IPlayerActions instance) + { + if (instance == null || m_Wrapper.m_PlayerActionsCallbackInterfaces.Contains(instance)) return; + m_Wrapper.m_PlayerActionsCallbackInterfaces.Add(instance); + @ChangeState.started += instance.OnChangeState; + @ChangeState.performed += instance.OnChangeState; + @ChangeState.canceled += instance.OnChangeState; + @Mouse.started += instance.OnMouse; + @Mouse.performed += instance.OnMouse; + @Mouse.canceled += instance.OnMouse; + } + + private void UnregisterCallbacks(IPlayerActions instance) + { + @ChangeState.started -= instance.OnChangeState; + @ChangeState.performed -= instance.OnChangeState; + @ChangeState.canceled -= instance.OnChangeState; + @Mouse.started -= instance.OnMouse; + @Mouse.performed -= instance.OnMouse; + @Mouse.canceled -= instance.OnMouse; + } + + public void RemoveCallbacks(IPlayerActions instance) + { + if (m_Wrapper.m_PlayerActionsCallbackInterfaces.Remove(instance)) + UnregisterCallbacks(instance); + } + + public void SetCallbacks(IPlayerActions instance) + { + foreach (var item in m_Wrapper.m_PlayerActionsCallbackInterfaces) + UnregisterCallbacks(item); + m_Wrapper.m_PlayerActionsCallbackInterfaces.Clear(); + AddCallbacks(instance); + } + } + public PlayerActions @Player => new PlayerActions(this); + public interface IPlayerActions + { + void OnChangeState(InputAction.CallbackContext context); + void OnMouse(InputAction.CallbackContext context); + } + } +} diff --git a/Assets/Scripts/GameInputs.cs.meta b/Assets/Scripts/GameInputs.cs.meta new file mode 100644 index 0000000..1075c69 --- /dev/null +++ b/Assets/Scripts/GameInputs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b3e32bc8ce956e74ca68e325d0705d2e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GameInputs.inputactions b/Assets/Scripts/GameInputs.inputactions new file mode 100644 index 0000000..530f953 --- /dev/null +++ b/Assets/Scripts/GameInputs.inputactions @@ -0,0 +1,65 @@ +{ + "name": "GameInputs", + "maps": [ + { + "name": "Player", + "id": "da3c3195-8f3d-4214-8868-75a6a6838cd9", + "actions": [ + { + "name": "ChangeState", + "type": "Button", + "id": "e68b25df-26d5-444f-b400-30fd417637ce", + "expectedControlType": "Button", + "processors": "", + "interactions": "Press", + "initialStateCheck": false + }, + { + "name": "Mouse", + "type": "Value", + "id": "3d58ba17-a8e1-422d-a9b3-3da61a7f20aa", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + } + ], + "bindings": [ + { + "name": "", + "id": "1e6edfed-a1c7-4203-b3ea-9ce526d76276", + "path": "/rightButton", + "interactions": "", + "processors": "", + "groups": "", + "action": "ChangeState", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "b66eea24-e7df-47d5-b151-f38e9fc3284d", + "path": "/p", + "interactions": "", + "processors": "", + "groups": "", + "action": "ChangeState", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "ca799d40-b531-4015-96e7-37944f95d190", + "path": "/delta", + "interactions": "", + "processors": "", + "groups": "", + "action": "Mouse", + "isComposite": false, + "isPartOfComposite": false + } + ] + } + ], + "controlSchemes": [] +} \ No newline at end of file diff --git a/Assets/Scripts/GameInputs.inputactions.meta b/Assets/Scripts/GameInputs.inputactions.meta new file mode 100644 index 0000000..ca333a4 --- /dev/null +++ b/Assets/Scripts/GameInputs.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 35ca33ed60b96a241b8d6f30c00f034e +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 1 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: GameOff diff --git a/Assets/Scripts/Player.meta b/Assets/Scripts/Player.meta new file mode 100644 index 0000000..d68e55a --- /dev/null +++ b/Assets/Scripts/Player.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 77dbb1aace9dca6439bd5e4c4962984a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Player/PlayerInputHandler.cs b/Assets/Scripts/Player/PlayerInputHandler.cs new file mode 100644 index 0000000..d2c25a4 --- /dev/null +++ b/Assets/Scripts/Player/PlayerInputHandler.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine; + +namespace GameOff.Player +{ + [DefaultExecutionOrder(-100)] + + public class PlayerInputHandler: MonoBehaviour + { + public event EventHandler OnChangeState; + public Vector2 Mouse { get; private set; } + + private GameInputs _input; + + private void Awake() + { + _input = new GameInputs(); + } + + private void OnEnable() + { + _input.Player.Enable(); + } + + private void OnDisable() + { + _input.Player.Disable(); + } + + private void Start() + { + _input.Player.ChangeState.performed += _ => OnChangeState?.Invoke(this, EventArgs.Empty); + } + + private void Update() + { + Mouse = _input.Player.Mouse.ReadValue(); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Player/PlayerInputHandler.cs.meta b/Assets/Scripts/Player/PlayerInputHandler.cs.meta new file mode 100644 index 0000000..6f501e6 --- /dev/null +++ b/Assets/Scripts/Player/PlayerInputHandler.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d61d4174f1cd4d2580207590e6fc05e5 +timeCreated: 1731003487 \ No newline at end of file