diff --git a/.gitignore b/.gitignore index 8aab9ae..ededc67 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,6 @@ crashlytics-build.properties #Ignore Folders Library Temp +obj +Logs +/.gitignore~ diff --git a/ldjam50/Assets/Prefabs.meta b/ldjam50/Assets/Prefabs.meta new file mode 100644 index 0000000..208dee3 --- /dev/null +++ b/ldjam50/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 033bd695bb00f54148d47bd0ac2af42b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Prefabs/character.prefab b/ldjam50/Assets/Prefabs/character.prefab new file mode 100644 index 0000000..e828595 --- /dev/null +++ b/ldjam50/Assets/Prefabs/character.prefab @@ -0,0 +1,158 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1199223373439478175 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8006084803627600395} + - component: {fileID: 5335952388035198178} + m_Layer: 0 + m_Name: Square + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8006084803627600395 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199223373439478175} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.0704} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1137981222306597008} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &5335952388035198178 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199223373439478175} + 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_RayTraceProcedural: 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: 1ea3e1dc227afc0768a58ae84d17e6c5, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &8275013663521780488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1137981222306597008} + - component: {fileID: 8044390793844211544} + - component: {fileID: 4520856288189812233} + m_Layer: 0 + m_Name: character + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1137981222306597008 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8275013663521780488} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.9470656, y: 1.0665642, z: -0.07037996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8006084803627600395} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &8044390793844211544 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8275013663521780488} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: -0.020021677, y: 0.0039904118} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1.140003, y: 1.1275415} + m_EdgeRadius: 0 +--- !u!114 &4520856288189812233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8275013663521780488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ab5d980c53f9d7dc8d828fd5382febe, type: 3} + m_Name: + m_EditorClassIdentifier: + health: 250 + damage: 10 + moveSpeed: 0.02 diff --git a/ldjam50/Assets/Prefabs/character.prefab.meta b/ldjam50/Assets/Prefabs/character.prefab.meta new file mode 100644 index 0000000..5ef4c32 --- /dev/null +++ b/ldjam50/Assets/Prefabs/character.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d58051113365413fe9782fa6b28125fc +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Prefabs/mob.prefab b/ldjam50/Assets/Prefabs/mob.prefab new file mode 100644 index 0000000..b786583 --- /dev/null +++ b/ldjam50/Assets/Prefabs/mob.prefab @@ -0,0 +1,155 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4086673825482164031 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5020074052172004519} + - component: {fileID: 2721128460309875567} + - component: {fileID: 6002007055176810599} + m_Layer: 0 + m_Name: mob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5020074052172004519 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4086673825482164031} + 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: 2700851981640547900} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &2721128460309875567 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4086673825482164031} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: -0.0049001575, y: -0.026252389} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1.0190314, y: 1.2182705} + m_EdgeRadius: 0 +--- !u!114 &6002007055176810599 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4086673825482164031} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7dc89d6f20b8bd496a76c3dad9b1b832, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &6540482753690656168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2700851981640547900} + - component: {fileID: 30704178796185813} + m_Layer: 0 + m_Name: Square + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2700851981640547900 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6540482753690656168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.0704} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5020074052172004519} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &30704178796185813 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6540482753690656168} + 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_RayTraceProcedural: 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: 282f9e8d302f846d89dd70ec9121248a, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/ldjam50/Assets/Prefabs/mob.prefab.meta b/ldjam50/Assets/Prefabs/mob.prefab.meta new file mode 100644 index 0000000..8ea200c --- /dev/null +++ b/ldjam50/Assets/Prefabs/mob.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e47d96f25248114df8e596380d90afc6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scenes/SampleScene.unity b/ldjam50/Assets/Scenes/SampleScene.unity index 9421266..209dc78 100644 --- a/ldjam50/Assets/Scenes/SampleScene.unity +++ b/ldjam50/Assets/Scenes/SampleScene.unity @@ -123,6 +123,175 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &158288055 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 158288056} + - component: {fileID: 158288058} + - component: {fileID: 158288057} + m_Layer: 5 + m_Name: Text (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &158288056 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158288055} + 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: 1588408215} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -0.0039978, y: -43.914} + m_SizeDelta: {x: 232.88, y: 21.9572} + m_Pivot: {x: 0, y: 1} +--- !u!114 &158288057 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158288055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &158288058 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158288055} + m_CullTransparentMesh: 1 +--- !u!1 &162628499 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 162628502} + - component: {fileID: 162628501} + - component: {fileID: 162628500} + m_Layer: 5 + m_Name: Text (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &162628500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162628499} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &162628501 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162628499} + m_CullTransparentMesh: 1 +--- !u!224 &162628502 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162628499} + 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: 1588408215} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -0.0039978, y: -65.871} + m_SizeDelta: {x: 232.88, y: 21.9572} + m_Pivot: {x: 0, y: 1} +--- !u!114 &338359682 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4520856288189812233, guid: d58051113365413fe9782fa6b28125fc, type: 3} + m_PrefabInstance: {fileID: 1279967480} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ab5d980c53f9d7dc8d828fd5382febe, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -206,3 +375,553 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &522920934 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 522920936} + - component: {fileID: 522920935} + m_Layer: 5 + m_Name: DebugUI + m_TagString: EditorOnly + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &522920935 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 522920934} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fbf76a2b50768bce0a7f8e5042b8541c, type: 3} + m_Name: + m_EditorClassIdentifier: + horInpText: {fileID: 1794908887} + verInpText: {fileID: 1586286654} + characterHealthText: {fileID: 158288057} + characterDamageText: {fileID: 162628500} + character: {fileID: 338359682} +--- !u!4 &522920936 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 522920934} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.90776753, y: 0.33650073, z: -0.47918} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1061288648} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1061288647 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1061288648} + - component: {fileID: 1061288651} + - component: {fileID: 1061288650} + - component: {fileID: 1061288649} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1061288648 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061288647} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1588408215} + m_Father: {fileID: 522920936} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1061288649 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061288647} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1061288650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061288647} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1061288651 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061288647} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1001 &1279967480 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalPosition.x + value: -0.38 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalPosition.y + value: 0.49 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalPosition.z + value: -0.07037996 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4520856288189812233, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: damage + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 4520856288189812233, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: health + value: 250 + objectReference: {fileID: 0} + - target: {fileID: 4520856288189812233, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: moveSpeed + value: 0.02 + objectReference: {fileID: 0} + - target: {fileID: 8275013663521780488, guid: d58051113365413fe9782fa6b28125fc, type: 3} + propertyPath: m_Name + value: character + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d58051113365413fe9782fa6b28125fc, type: 3} +--- !u!1001 &1578683490 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4086673825482164031, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_Name + value: mob + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalPosition.x + value: -2.7 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalPosition.y + value: 1.99 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5020074052172004519, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6002007055176810599, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: maxDist + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6002007055176810599, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: minDist + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6002007055176810599, guid: e47d96f25248114df8e596380d90afc6, type: 3} + propertyPath: moveSpeed + value: 0.2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e47d96f25248114df8e596380d90afc6, type: 3} +--- !u!1 &1586286652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1586286653} + - component: {fileID: 1586286655} + - component: {fileID: 1586286654} + m_Layer: 5 + m_Name: Text (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1586286653 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586286652} + 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: 1588408215} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -0.003982544, y: -21.957} + m_SizeDelta: {x: 232.88, y: 21.9572} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1586286654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586286652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &1586286655 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586286652} + m_CullTransparentMesh: 1 +--- !u!1 &1588408214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1588408215} + m_Layer: 5 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1588408215 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1588408214} + 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: 1794908889} + - {fileID: 1586286653} + - {fileID: 158288056} + - {fileID: 162628502} + m_Father: {fileID: 1061288648} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.020687317, y: 0.58131784} + m_AnchorMax: {x: 0.19242479, y: 0.9613179} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1786254377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1786254380} + - component: {fileID: 1786254379} + - component: {fileID: 1786254378} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1786254378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1786254377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1786254379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1786254377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1786254380 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1786254377} + 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: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1794908886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1794908889} + - component: {fileID: 1794908888} + - component: {fileID: 1794908887} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1794908887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1794908886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &1794908888 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1794908886} + m_CullTransparentMesh: 1 +--- !u!224 &1794908889 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1794908886} + 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: 1588408215} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -0.000015258789, y: 0} + m_SizeDelta: {x: 232.88, y: 21.9572} + m_Pivot: {x: 0, y: 1} diff --git a/ldjam50/Assets/Scripts/Character.cs b/ldjam50/Assets/Scripts/Character.cs new file mode 100644 index 0000000..61fa575 --- /dev/null +++ b/ldjam50/Assets/Scripts/Character.cs @@ -0,0 +1,50 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Character : MonoBehaviour +{ + [SerializeField] private float health; + [SerializeField] private float damage; + [SerializeField] private float moveSpeed; + private float horInpt; + private float verInpt; + + public struct StatReturn + { + public float Health; + public float Damage; + public float MoveSpeed; + } + + // Start is called before the first frame update + void Start() + { + } + + // Update is called once per frame + void Update() + { + horInpt = Input.GetAxis("Horizontal"); + verInpt = Input.GetAxis("Vertical"); + if (-0.1f > horInpt || horInpt > 0.1f) + { + transform.position += new Vector3(horInpt * moveSpeed,0,0); + } + if (-0.1f > verInpt || verInpt > 0.1f) + { + transform.position += new Vector3(0,verInpt * moveSpeed,0); + } + } + + public StatReturn GetStats() + { + var stats = new StatReturn + { + Health = health, + Damage = damage, + MoveSpeed = moveSpeed + }; + return stats; + } +} diff --git a/ldjam50/Assets/Scripts/Character.cs.meta b/ldjam50/Assets/Scripts/Character.cs.meta new file mode 100644 index 0000000..a7291d6 --- /dev/null +++ b/ldjam50/Assets/Scripts/Character.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9ab5d980c53f9d7dc8d828fd5382febe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Character_obsolete.cs b/ldjam50/Assets/Scripts/Character_obsolete.cs new file mode 100644 index 0000000..c700c32 --- /dev/null +++ b/ldjam50/Assets/Scripts/Character_obsolete.cs @@ -0,0 +1,248 @@ +/* + * Copyright (c) 2019 Razeware LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * Notwithstanding the foregoing, you may not use, copy, modify, merge, publish, + * distribute, sublicense, create a derivative work, and/or sell copies of the + * Software in any work that is designed, intended, or marketed for pedagogical or + * instructional purposes related to programming, coding, application development, + * or information technology. Permission for such use, copying, modification, + * merger, publication, distribution, sublicensing, creation of derivative works, + * or sale is expressly withheld. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using UnityEngine; + +namespace RayWenderlich.Unity.StatePatternInUnity +{ + + [RequireComponent(typeof(BoxCollider2D))] + public class Character : MonoBehaviour + { + #region Variables + + public StateMachine movementSM; + public StandingState standing; + public DuckingState ducking; + public JumpingState jumping; + +#pragma warning disable 0649 + [SerializeField] + private Transform handTransform; + [SerializeField] + private Transform sheathTransform; + [SerializeField] + private Transform shootTransform; + [SerializeField] + private CharacterData data; + [SerializeField] + private LayerMask whatIsGround; + [SerializeField] + private Collider hitBox; + [SerializeField] + private Animator anim; + [SerializeField] + private ParticleSystem shockWave; +#pragma warning restore 0649 + [SerializeField] + private float meleeRestThreshold = 10f; + [SerializeField] + private float diveThreshold = 1f; + [SerializeField] + private float collisionOverlapRadius = 0.1f; + + private GameObject currentWeapon; + private Quaternion currentRotation; + private int horizonalMoveParam = Animator.StringToHash("H_Speed"); + private int verticalMoveParam = Animator.StringToHash("V_Speed"); + private int shootParam = Animator.StringToHash("Shoot"); + private int hardLanding = Animator.StringToHash("HardLand"); + #endregion + + #region Properties + + public float NormalColliderHeight => data.normalColliderHeight; + public float CrouchColliderHeight => data.crouchColliderHeight; + public float DiveForce => data.diveForce; + public float JumpForce => data.jumpForce; + public float MovementSpeed => data.movementSpeed; + public float CrouchSpeed => data.crouchSpeed; + public float RotationSpeed => data.rotationSpeed; + public float CrouchRotationSpeed => data.crouchRotationSpeed; + public GameObject MeleeWeapon => data.meleeWeapon; + public GameObject ShootableWeapon => data.staticShootable; + public float DiveCooldownTimer => data.diveCooldownTimer; + public float CollisionOverlapRadius => collisionOverlapRadius; + public float DiveThreshold => diveThreshold; + public float MeleeRestThreshold => meleeRestThreshold; + public int isMelee => Animator.StringToHash("IsMelee"); + public int crouchParam => Animator.StringToHash("Crouch"); + + public float ColliderSize + { + get => GetComponent().height; + + set + { + GetComponent().height = value; + Vector3 center = GetComponent().center; + center.y = value / 2f; + GetComponent().center = center; + } + } + + #endregion + + #region Methods + + public void Move(float speed, float rotationSpeed) + {/* + Vector3 targetVelocity = speed * transform.forward * Time.deltaTime; + targetVelocity.y = GetComponent().velocity.y; + GetComponent().velocity = targetVelocity; + + GetComponent().angularVelocity = rotationSpeed * Vector3.up * Time.deltaTime; + + if (targetVelocity.magnitude > 0.01f || GetComponent().angularVelocity.magnitude > 0.01f) + { + SoundManager.Instance.PlayFootSteps(Mathf.Abs(speed)); + } + + anim.SetFloat(horizonalMoveParam, GetComponent().angularVelocity.y); + anim.SetFloat(verticalMoveParam, speed * Time.deltaTime);*/ + print(Input.GetAxis("Horizontal")); + print(Input.GetAxis("Vertical")); + } + + public void ResetMoveParams() + { + GetComponent().angularVelocity = Vector3.zero; + anim.SetFloat(horizonalMoveParam, 0f); + anim.SetFloat(verticalMoveParam, 0f); + } + + public void ApplyImpulse(Vector3 force) + { + GetComponent().AddForce(force, ForceMode.Impulse); + } + + public void SetAnimationBool(int param, bool value) + { + anim.SetBool(param, value); + } + + public void TriggerAnimation(int param) + { + anim.SetTrigger(param); + } + + public void Shoot() + { + TriggerAnimation(shootParam); + GameObject shootable = Instantiate(data.shootableObject, shootTransform.position, shootTransform.rotation); + shootable.GetComponent().velocity = shootable.transform.forward * data.bulletInitialSpeed; + SoundManager.Instance.PlaySound(SoundManager.Instance.shoot, true); + } + + public bool CheckCollisionOverlap(Vector3 point) + { + return Physics.OverlapSphere(point, CollisionOverlapRadius, whatIsGround).Length > 0; + } + + public void Equip(GameObject weapon = null) + { + if (weapon != null) + { + currentWeapon = Instantiate(weapon, handTransform.position, handTransform.rotation, handTransform); + } + else + { + ParentCurrentWeapon(handTransform); + } + } + + public void DiveBomb() + { + TriggerAnimation(hardLanding); + SoundManager.Instance.PlaySound(SoundManager.Instance.hardLanding); + shockWave.Play(); + } + + public void SheathWeapon() + { + ParentCurrentWeapon(sheathTransform); + } + + public void Unequip() + { + Destroy(currentWeapon); + } + + public void ActivateHitBox() + { + hitBox.enabled = true; + } + + public void DeactivateHitBox() + { + hitBox.enabled = false; + } + + private void ParentCurrentWeapon(Transform parent) + { + if (currentWeapon.transform.parent == parent) + { + return; + } + + currentWeapon.transform.SetParent(parent); + currentWeapon.transform.localPosition = Vector3.zero; + currentWeapon.transform.localRotation = Quaternion.identity; + } + #endregion + + #region MonoBehaviour Callbacks + + private void Start() + { + movementSM = new StateMachine(); + + standing = new StandingState(this, movementSM); + ducking = new DuckingState(this, movementSM); + jumping = new JumpingState(this, movementSM); + + movementSM.Initialize(standing); + } + + private void Update() + { + movementSM.CurrentState.HandleInput(); + + movementSM.CurrentState.LogicUpdate(); + } + + private void FixedUpdate() + { + movementSM.CurrentState.PhysicsUpdate(); + } + + #endregion + } +} diff --git a/ldjam50/Assets/Scripts/Character_obsolete.cs.meta b/ldjam50/Assets/Scripts/Character_obsolete.cs.meta new file mode 100644 index 0000000..abb70a2 --- /dev/null +++ b/ldjam50/Assets/Scripts/Character_obsolete.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1806a6cdb08623a428a4c40597e024b6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/DebugUI.cs b/ldjam50/Assets/Scripts/DebugUI.cs new file mode 100644 index 0000000..46cba2b --- /dev/null +++ b/ldjam50/Assets/Scripts/DebugUI.cs @@ -0,0 +1,33 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class DebugUI : MonoBehaviour +{ + [SerializeField] private Text horInpText; + [SerializeField] private Text verInpText; + + [SerializeField] private Text characterHealthText; + [SerializeField] private Text characterDamageText; + + [SerializeField] private Character character; + + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + var characterStats = character.GetStats(); + horInpText.text = "horizontal input = " + Input.GetAxis("Horizontal"); + verInpText.text = "vertical input = " + Input.GetAxis("Vertical"); + + characterHealthText.text = "health = " + characterStats.Health; + characterDamageText.text = "damage = " + characterStats.Damage; + } +} diff --git a/ldjam50/Assets/Scripts/DebugUI.cs.meta b/ldjam50/Assets/Scripts/DebugUI.cs.meta new file mode 100644 index 0000000..61dd279 --- /dev/null +++ b/ldjam50/Assets/Scripts/DebugUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fbf76a2b50768bce0a7f8e5042b8541c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Misc.meta b/ldjam50/Assets/Scripts/Misc.meta new file mode 100644 index 0000000..50c993f --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa224aa173840c04e96897ba4a2dae43 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Misc/CharacterData.cs b/ldjam50/Assets/Scripts/Misc/CharacterData.cs new file mode 100644 index 0000000..9daa774 --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/CharacterData.cs @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2019 Razeware LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * Notwithstanding the foregoing, you may not use, copy, modify, merge, publish, + * distribute, sublicense, create a derivative work, and/or sell copies of the + * Software in any work that is designed, intended, or marketed for pedagogical or + * instructional purposes related to programming, coding, application development, + * or information technology. Permission for such use, copying, modification, + * merger, publication, distribution, sublicensing, creation of derivative works, + * or sale is expressly withheld. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using UnityEngine; + +[CreateAssetMenu(fileName = "CharacterData", menuName = "Game Data/Character Data")] +public class CharacterData : ScriptableObject +{ + public GameObject shootableObject; + public GameObject staticShootable; + public GameObject meleeWeapon; + public float movementSpeed = 150f; + public float crouchSpeed = 50f; + public float crouchColliderHeight = 1f; + public float normalColliderHeight = 2f; + public float rotationSpeed = 60f; + public float crouchRotationSpeed = 30f; + public float jumpForce = 10f; + public float diveForce = 30f; + public float bulletInitialSpeed = 10f; + public float diveCooldownTimer = 0.25f; +} diff --git a/ldjam50/Assets/Scripts/Misc/CharacterData.cs.meta b/ldjam50/Assets/Scripts/Misc/CharacterData.cs.meta new file mode 100644 index 0000000..ac96320 --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/CharacterData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 65ab2b639f4ff314a962ad5a94ab058a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Misc/DestroyAfterAWhile.cs b/ldjam50/Assets/Scripts/Misc/DestroyAfterAWhile.cs new file mode 100644 index 0000000..b138cfa --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/DestroyAfterAWhile.cs @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2019 Razeware LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * Notwithstanding the foregoing, you may not use, copy, modify, merge, publish, + * distribute, sublicense, create a derivative work, and/or sell copies of the + * Software in any work that is designed, intended, or marketed for pedagogical or + * instructional purposes related to programming, coding, application development, + * or information technology. Permission for such use, copying, modification, + * merger, publication, distribution, sublicensing, creation of derivative works, + * or sale is expressly withheld. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using UnityEngine; + +public class DestroyAfterAWhile : MonoBehaviour +{ + public float lifeTime; + + private void Start() + { + Destroy(gameObject, lifeTime); + } +} diff --git a/ldjam50/Assets/Scripts/Misc/DestroyAfterAWhile.cs.meta b/ldjam50/Assets/Scripts/Misc/DestroyAfterAWhile.cs.meta new file mode 100644 index 0000000..e1740df --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/DestroyAfterAWhile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0e78393cfffe5df4a98be7e66e7d9169 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Misc/HitBox.cs b/ldjam50/Assets/Scripts/Misc/HitBox.cs new file mode 100644 index 0000000..e6dc269 --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/HitBox.cs @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2019 Razeware LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * Notwithstanding the foregoing, you may not use, copy, modify, merge, publish, + * distribute, sublicense, create a derivative work, and/or sell copies of the + * Software in any work that is designed, intended, or marketed for pedagogical or + * instructional purposes related to programming, coding, application development, + * or information technology. Permission for such use, copying, modification, + * merger, publication, distribution, sublicensing, creation of derivative works, + * or sale is expressly withheld. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using UnityEngine; + +namespace RayWenderlich.Unity.StatePatternInUnity +{ + public class HitBox : MonoBehaviour + { + public float damage; + + //Do damage + } +} diff --git a/ldjam50/Assets/Scripts/Misc/HitBox.cs.meta b/ldjam50/Assets/Scripts/Misc/HitBox.cs.meta new file mode 100644 index 0000000..a7f987d --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/HitBox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eb64790731f0cae4ca471b5df33675f7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Misc/SimpleCamFollow.cs b/ldjam50/Assets/Scripts/Misc/SimpleCamFollow.cs new file mode 100644 index 0000000..81784c3 --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/SimpleCamFollow.cs @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2019 Razeware LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * Notwithstanding the foregoing, you may not use, copy, modify, merge, publish, + * distribute, sublicense, create a derivative work, and/or sell copies of the + * Software in any work that is designed, intended, or marketed for pedagogical or + * instructional purposes related to programming, coding, application development, + * or information technology. Permission for such use, copying, modification, + * merger, publication, distribution, sublicensing, creation of derivative works, + * or sale is expressly withheld. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using UnityEngine; + +namespace RayWenderlich.Unity.StatePatternInUnity +{ + public class SimpleCamFollow : MonoBehaviour + { + [SerializeField] + private Transform target = null; + [SerializeField] + private float smoothTime = 5f; + [SerializeField] + private Vector3 offset = Vector3.zero; + + private Vector3 currentVelocity; + + private void LateUpdate() + { + transform.LookAt(target); + transform.position = Vector3.SmoothDamp(transform.position, offset + target.position, ref currentVelocity, smoothTime); + } + } +} diff --git a/ldjam50/Assets/Scripts/Misc/SimpleCamFollow.cs.meta b/ldjam50/Assets/Scripts/Misc/SimpleCamFollow.cs.meta new file mode 100644 index 0000000..a1de1a4 --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/SimpleCamFollow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d51810c7a684d16459e06aa54504dd4f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Misc/SoundManager.cs b/ldjam50/Assets/Scripts/Misc/SoundManager.cs new file mode 100644 index 0000000..a0d93db --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/SoundManager.cs @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2019 Razeware LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * Notwithstanding the foregoing, you may not use, copy, modify, merge, publish, + * distribute, sublicense, create a derivative work, and/or sell copies of the + * Software in any work that is designed, intended, or marketed for pedagogical or + * instructional purposes related to programming, coding, application development, + * or information technology. Permission for such use, copying, modification, + * merger, publication, distribution, sublicensing, creation of derivative works, + * or sale is expressly withheld. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using UnityEngine; + +namespace RayWenderlich.Unity.StatePatternInUnity +{ + public class SoundManager : MonoBehaviour + { + public AudioClip[] jumpSounds; + public AudioClip[] rightFootSteps; + public AudioClip[] leftFootSteps; + public AudioClip landing; + public AudioClip diveBuildup; + public AudioClip hardLanding; + public AudioClip shootableEquip; + public AudioClip shoot; + public AudioClip[] meleeSwings; + public AudioClip meleeEquip; + public AudioClip meleeSheath; + public AudioClip click; + public AudioClip select; + + public static SoundManager Instance; + + [SerializeField] + private AudioSource audioSource = null; + [SerializeField] + private AudioSource footStepsAudio = null; + [SerializeField] + private float minPitch = 0f; + [SerializeField] + private float maxPitch = 1f; + [SerializeField] + private float maxSpeed = 200f; + [SerializeField] + private float minVolume = 0.05f; + [SerializeField] + private float maxFootstepVolume = 0.1f; + + private float defaultPitch; + private bool rightStep; + private AudioClip footStepSfx; + + private void Awake() + { + if (Instance == null) + { + Instance = this; + } + else if (Instance != this) + { + Destroy(gameObject); + } + + defaultPitch = audioSource.pitch; + } + + public void StopPlaying() + { + audioSource.Stop(); + } + + public void PlaySound(AudioClip[] array) + { + audioSource.PlayOneShot(array[Random.Range(0, array.Length)]); + } + + public void PlayFootSteps(float speed) + { + footStepsAudio.pitch = Mathf.Max(speed / maxSpeed, minPitch); + if (footStepsAudio.isPlaying) + { + return; + } + + if (rightStep) + { + footStepSfx = rightFootSteps[Random.Range(0, rightFootSteps.Length)]; + rightStep = false; + } + else + { + footStepSfx = leftFootSteps[Random.Range(0, leftFootSteps.Length)]; + rightStep = true; + } + footStepsAudio.PlayOneShot(footStepSfx, Mathf.Max(maxFootstepVolume * speed / maxSpeed, minVolume)); + } + + public void PlaySound(AudioClip clip, bool randomPitch = false) + { + audioSource.pitch = randomPitch ? Random.Range(minPitch, maxPitch) : defaultPitch; + audioSource.PlayOneShot(clip); + } + } +} diff --git a/ldjam50/Assets/Scripts/Misc/SoundManager.cs.meta b/ldjam50/Assets/Scripts/Misc/SoundManager.cs.meta new file mode 100644 index 0000000..b8d2895 --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/SoundManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 40617ec353f083d469676c31176ecf7e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Misc/UIManager.cs b/ldjam50/Assets/Scripts/Misc/UIManager.cs new file mode 100644 index 0000000..53210d0 --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/UIManager.cs @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2019 Razeware LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * Notwithstanding the foregoing, you may not use, copy, modify, merge, publish, + * distribute, sublicense, create a derivative work, and/or sell copies of the + * Software in any work that is designed, intended, or marketed for pedagogical or + * instructional purposes related to programming, coding, application development, + * or information technology. Permission for such use, copying, modification, + * merger, publication, distribution, sublicensing, creation of derivative works, + * or sale is expressly withheld. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using UnityEngine; +using UnityEngine.UI; + +namespace RayWenderlich.Unity.StatePatternInUnity +{ + public class UIManager : MonoBehaviour + { + public enum Alignment + { + Left, + Right + } + + public static UIManager Instance; + + [SerializeField] + private Text leftText = null; + [SerializeField] + private Text rightText = null; + [SerializeField] + private string textToTrim = null; + + private void Awake() + { + if (Instance == null) + { + Instance = this; + } + else if (Instance != this) + { + Destroy(gameObject); + } + } + + public void Display(State enteredState, Alignment alignment) + { + var name = enteredState.ToString(); + name = name.Remove(name.IndexOf(textToTrim), textToTrim.Length); + name = name.Remove(name.IndexOf("State"), 5); + + if (alignment == Alignment.Left) + { + leftText.text = name; + } + else + { + rightText.text = name; + } + } + } +} diff --git a/ldjam50/Assets/Scripts/Misc/UIManager.cs.meta b/ldjam50/Assets/Scripts/Misc/UIManager.cs.meta new file mode 100644 index 0000000..3d06672 --- /dev/null +++ b/ldjam50/Assets/Scripts/Misc/UIManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0bf616bc0a6553644a76b0d80ace7f0e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Mob.cs b/ldjam50/Assets/Scripts/Mob.cs new file mode 100644 index 0000000..9554057 --- /dev/null +++ b/ldjam50/Assets/Scripts/Mob.cs @@ -0,0 +1,41 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Mob : MonoBehaviour +{ + [SerializeField] private GameObject characterObject; + + [SerializeField] private float moveSpeed; + + [SerializeField] private float minDist; + [SerializeField] private float maxDist; + //private Character character; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + //transform.LookAt(characterObject.transform); + + if (Vector3.Distance(transform.position, characterObject.transform.position) >= minDist) + { + + //transform.position += transform.forward * moveSpeed * Time.deltaTime; + transform.position += (characterObject.transform.position-transform.position) * moveSpeed * Time.deltaTime; + + + + if (Vector3.Distance(transform.position, characterObject.transform.position) <= maxDist) + { + //Here Call any function U want Like Shoot at here or something + //print("badabooom"); + } + } + } +} diff --git a/ldjam50/Assets/Scripts/Mob.cs.meta b/ldjam50/Assets/Scripts/Mob.cs.meta new file mode 100644 index 0000000..1bf4052 --- /dev/null +++ b/ldjam50/Assets/Scripts/Mob.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7dc89d6f20b8bd496a76c3dad9b1b832 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/State.cs.meta b/ldjam50/Assets/Scripts/State.cs.meta index 91030de..273762a 100644 --- a/ldjam50/Assets/Scripts/State.cs.meta +++ b/ldjam50/Assets/Scripts/State.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4e659e6630662a1ddb193961789f6fff +guid: 743956073ee5c1f4a964111017dcc3dc MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/ldjam50/Assets/Scripts/StateMachine.cs.meta b/ldjam50/Assets/Scripts/StateMachine.cs.meta index dacb1dd..42c2be5 100644 --- a/ldjam50/Assets/Scripts/StateMachine.cs.meta +++ b/ldjam50/Assets/Scripts/StateMachine.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: beec483d6e834d1189d504b9635b233d +guid: 33f81286f0d29bc49985b946e8e4fccd MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/ldjam50/Assets/Sprites.meta b/ldjam50/Assets/Sprites.meta new file mode 100644 index 0000000..4e1d152 --- /dev/null +++ b/ldjam50/Assets/Sprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ebc792dc626daf54498ed52b397e564f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Sprites/temp.meta b/ldjam50/Assets/Sprites/temp.meta new file mode 100644 index 0000000..dad857f --- /dev/null +++ b/ldjam50/Assets/Sprites/temp.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0fcdaf2f888a828f792d900b9666729e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Sprites/temp/Square.png b/ldjam50/Assets/Sprites/temp/Square.png new file mode 100644 index 0000000..de8b287 --- /dev/null +++ b/ldjam50/Assets/Sprites/temp/Square.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44f9592db7d11d11ed58c7cad12e35925d9974d6576fb0951b4fa0cd7c6eaf10 +size 2097 diff --git a/ldjam50/Assets/Sprites/temp/Square.png.meta b/ldjam50/Assets/Sprites/temp/Square.png.meta new file mode 100644 index 0000000..d9938e1 --- /dev/null +++ b/ldjam50/Assets/Sprites/temp/Square.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 90c7c19a490c0b962b7a15e1b0d93c94 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 256 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 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 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Sprites/temp/mob.png b/ldjam50/Assets/Sprites/temp/mob.png new file mode 100644 index 0000000..5f83e48 --- /dev/null +++ b/ldjam50/Assets/Sprites/temp/mob.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbfc551168bfd77883a9f8eccde7e761e229a621cefdf962191187d8180a2fca +size 990 diff --git a/ldjam50/Assets/Sprites/temp/mob.png.meta b/ldjam50/Assets/Sprites/temp/mob.png.meta new file mode 100644 index 0000000..ff8f234 --- /dev/null +++ b/ldjam50/Assets/Sprites/temp/mob.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 282f9e8d302f846d89dd70ec9121248a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + 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: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Sprites/temp/pig.png b/ldjam50/Assets/Sprites/temp/pig.png new file mode 100644 index 0000000..1ecd8bd --- /dev/null +++ b/ldjam50/Assets/Sprites/temp/pig.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:758b9a7296a87f0cb869bc3f57794da902a98c086f4580844fd6afdc6cc1db9e +size 973 diff --git a/ldjam50/Assets/Sprites/temp/pig.png.meta b/ldjam50/Assets/Sprites/temp/pig.png.meta new file mode 100644 index 0000000..84e820a --- /dev/null +++ b/ldjam50/Assets/Sprites/temp/pig.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 1ea3e1dc227afc0768a58ae84d17e6c5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + 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: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: