diff --git a/UnityGoesBruh/Assets/Prefabs/Keypad.prefab b/UnityGoesBruh/Assets/Prefabs/Keypad.prefab index a67c4857f27560b9616cbf3f287a83bde11498d3..0e024b372d5426107244514a72ee00dace9eaeef 100644 --- a/UnityGoesBruh/Assets/Prefabs/Keypad.prefab +++ b/UnityGoesBruh/Assets/Prefabs/Keypad.prefab @@ -355,6 +355,7 @@ GameObject: m_Component: - component: {fileID: 2722893037708101250} - component: {fileID: 8632890440510610421} + - component: {fileID: 588660922915349861} m_Layer: 0 m_Name: Keypad m_TagString: Untagged @@ -406,6 +407,20 @@ MonoBehaviour: - {fileID: 3482867445416918529} - {fileID: 5754608069352820703} _keypadDisplay: {fileID: 4481403863638409276} + password: +--- !u!114 &588660922915349861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4653712199150427758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 579b512c0c704466ab9d58e0baf1f695, type: 3} + m_Name: + m_EditorClassIdentifier: + _tmpText: {fileID: 0} --- !u!1 &7662858605974259763 GameObject: m_ObjectHideFlags: 0 diff --git a/UnityGoesBruh/Assets/Prefabs/Simon Say.prefab b/UnityGoesBruh/Assets/Prefabs/Simon Say.prefab index 7741f472a581b9666d5322c402ec6f9048f68023..2a309e916e4c319f9dd976485e002157951e5620 100644 --- a/UnityGoesBruh/Assets/Prefabs/Simon Say.prefab +++ b/UnityGoesBruh/Assets/Prefabs/Simon Say.prefab @@ -13,6 +13,7 @@ GameObject: - component: {fileID: 2345042} - component: {fileID: 6409752} - component: {fileID: 5950614561479544485} + - component: {fileID: 784747489321478113} m_Layer: 0 m_Name: Simon Say m_TagString: Untagged @@ -119,6 +120,19 @@ MonoBehaviour: - {fileID: 269945082084186345} - {fileID: 5491014912397346879} - {fileID: 650034429797036525} + _numberOfRound: 6 +--- !u!114 &784747489321478113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 153876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e01673d84ffc4e45a919df6a1a39e814, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &269945082084186345 GameObject: m_ObjectHideFlags: 0 diff --git a/UnityGoesBruh/Assets/Scenes/TestConcept.unity b/UnityGoesBruh/Assets/Scenes/TestConcept.unity index 59a7bc60b3f096e2b3c8d44d7aec6476cfd8c61c..55e48fd4dfced61a5ccb9a442af19226c08d5a59 100644 --- a/UnityGoesBruh/Assets/Scenes/TestConcept.unity +++ b/UnityGoesBruh/Assets/Scenes/TestConcept.unity @@ -180,6 +180,247 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 46b4a6d1f34c0b2b080e60d07dac1000, type: 3} +--- !u!1 &563843910 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 153876, guid: 46b4a6d1f34c0b2b080e60d07dac1000, type: 3} + m_PrefabInstance: {fileID: 483858791} + m_PrefabAsset: {fileID: 0} +--- !u!1 &672619412 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 672619416} + - component: {fileID: 672619415} + - component: {fileID: 672619414} + - component: {fileID: 672619413} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &672619413 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672619412} + 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 &672619414 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672619412} + 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: 1 +--- !u!223 &672619415 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672619412} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 1971942597} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &672619416 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672619412} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 4.3978424} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 937493569} + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 2.003, y: 2.624} + m_SizeDelta: {x: 10, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &937493568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 937493569} + - component: {fileID: 937493571} + - component: {fileID: 937493570} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &937493569 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 937493568} + 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: 672619416} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 56.9} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &937493570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 937493568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, 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_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -100.060684, y: 0, z: -192.84155, w: -75.40981} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &937493571 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 937493568} + m_CullTransparentMesh: 1 --- !u!1 &1249762039 GameObject: m_ObjectHideFlags: 0 @@ -479,6 +720,131 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4acf37e0a57dd8803900614ec32ff2a6, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1906089658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1906089661} + - component: {fileID: 1906089660} + - component: {fileID: 1906089659} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1906089659 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1906089658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1906089660 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1906089658} + 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 &1906089661 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1906089658} + 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_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1971942597 stripped +Camera: + m_CorrespondingSourceObject: {fileID: 4298483534289572133, guid: c734a74a53239c312bd0365490ad11b2, type: 3} + m_PrefabInstance: {fileID: 4298483536253286233} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1981658349 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1981658351} + - component: {fileID: 1981658350} + m_Layer: 0 + m_Name: ScriptHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1981658350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1981658349} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0e9c5a4cf28dbd284752636f496de1, type: 3} + m_Name: + m_EditorClassIdentifier: + _miniGames: + - {fileID: 2042556004} + - {fileID: 563843910} +--- !u!4 &1981658351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1981658349} + 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_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2042556004 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4653712199150427758, guid: 4ecd379a6157d530cabeb8e314dc48b7, type: 3} + m_PrefabInstance: {fileID: 2128998794} + m_PrefabAsset: {fileID: 0} --- !u!1001 &2128998794 PrefabInstance: m_ObjectHideFlags: 0 @@ -486,6 +852,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 588660922915349861, guid: 4ecd379a6157d530cabeb8e314dc48b7, type: 3} + propertyPath: _tmpText + value: + objectReference: {fileID: 937493570} - target: {fileID: 2722893037708101250, guid: 4ecd379a6157d530cabeb8e314dc48b7, type: 3} propertyPath: m_RootOrder value: 2 @@ -538,6 +908,10 @@ PrefabInstance: propertyPath: m_Name value: Keypad objectReference: {fileID: 0} + - target: {fileID: 8632890440510610421, guid: 4ecd379a6157d530cabeb8e314dc48b7, type: 3} + propertyPath: password + value: + objectReference: {fileID: 0} - target: {fileID: 8632890440510610421, guid: 4ecd379a6157d530cabeb8e314dc48b7, type: 3} propertyPath: _password value: 5555 @@ -551,6 +925,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 4298483534289572133, guid: c734a74a53239c312bd0365490ad11b2, type: 3} + propertyPath: m_CullingMask.m_Bits + value: 247 + objectReference: {fileID: 0} - target: {fileID: 4298483535738884810, guid: c734a74a53239c312bd0365490ad11b2, type: 3} propertyPath: m_RootOrder value: 3 diff --git a/UnityGoesBruh/Assets/Scripts/Game.meta b/UnityGoesBruh/Assets/Scripts/Game.meta new file mode 100644 index 0000000000000000000000000000000000000000..92135c77a8fe3d2e851d5c1056279fb731f81b4e --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 92114d009c965005c8cf705dfccb3065 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityGoesBruh/Assets/Scripts/Game/Logic.cs b/UnityGoesBruh/Assets/Scripts/Game/Logic.cs new file mode 100644 index 0000000000000000000000000000000000000000..8f864296fe1f5f9c946249edcdeb85e7bc4c88f2 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/Logic.cs @@ -0,0 +1,44 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Logic : MonoBehaviour, MiniGameObserver +{ + private MiniGame _curMiniGame; + [SerializeField] + private GameObject[] _miniGames; + // Start is called before the first frame update + void Start() + { + foreach (GameObject gameObject in _miniGames) + { + gameObject.GetComponent<MiniGame>().AddObserver(this); + } + ChooseRandomMiniGame(); + } + + // Update is called once per frame + void Update() + { + + } + + public void OnWin(MiniGame miniGame) + { + _curMiniGame.enabled = false; + ChooseRandomMiniGame(); + } + + public void OnLose(MiniGame miniGame) + { + _curMiniGame.enabled = false; + //Quit Game / Lose Condition + } + + private void ChooseRandomMiniGame() + { + _curMiniGame = _miniGames[Random.Range(0, _miniGames.Length)].GetComponent<MiniGame>(); + _curMiniGame.enabled = true; + _curMiniGame.StartScript(); + } +} diff --git a/UnityGoesBruh/Assets/Scripts/Game/Logic.cs.meta b/UnityGoesBruh/Assets/Scripts/Game/Logic.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..608156eddab20648282b53dbbdded4903d8cf6b4 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/Logic.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac0e9c5a4cf28dbd284752636f496de1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityGoesBruh/Assets/Scripts/Game/MiniGameObserver.cs b/UnityGoesBruh/Assets/Scripts/Game/MiniGameObserver.cs new file mode 100644 index 0000000000000000000000000000000000000000..b5c4f12941dcd970da2c82beba2713c4c62ece00 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MiniGameObserver.cs @@ -0,0 +1,9 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public interface MiniGameObserver +{ + void OnWin(MiniGame miniGame); + void OnLose(MiniGame miniGame); +} diff --git a/UnityGoesBruh/Assets/Scripts/Game/MiniGameObserver.cs.meta b/UnityGoesBruh/Assets/Scripts/Game/MiniGameObserver.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..55b3528c9acbb2d8271abfd08781a444e6ffcf31 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MiniGameObserver.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e4121f7189bc8a84dbf9391317e23b2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityGoesBruh/Assets/Scripts/Game/MinigameScript.meta b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript.meta new file mode 100644 index 0000000000000000000000000000000000000000..106516bc81488203946e26ada699f50c9eaa3b7a --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f4639841ee3244979ed8a745c7e2aad8 +timeCreated: 1674124625 \ No newline at end of file diff --git a/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/Keypad.cs b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/Keypad.cs new file mode 100644 index 0000000000000000000000000000000000000000..90d100fff24da7026fdc795aa83a9d8420576b34 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/Keypad.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using TMPro; +using UnityEngine; +using Random = UnityEngine.Random; + +namespace Game.MinigameScript +{ + public class Keypad : MiniGame + { + private keypadController _keypadController; + [SerializeField] + private TMP_Text _tmpText; + + private Dictionary<String, int> _quiz; + + void Start() + { + _keypadController = gameObject.GetComponent<keypadController>(); + _keypadController.OnCorrect(OnWin); + _quiz = new Dictionary<string, int>(); + _quiz.Add("Début de la première guerre mondial", 1914); + _quiz.Add("Fin de la première guerre mondial", 1918); + _quiz.Add("Début de la deuxième guerre mondial", 1939); + _quiz.Add("Fin de la deuxième guerre mondial", 1945); + _quiz.Add("154 * 10 - 457", 1083); + _quiz.Add("2^10", 1024); + _quiz.Add("Réponse à la vie", 42); + _quiz.Add("Combien de Fast and Furious sont sortie\n1: 9\n2: 12\n3: 11", 2); + _quiz.Add("Qui est caroline dans Portal2\n1: Le petit robot qui nous accompagne\n2: Le personnage principal\n3: L'assistant personnel du PDG de Aperture Science", 3); + _quiz.Add("Date de sortie du premier Mario\n1: 1983\n2: 1991\n3: 1985", 1); + _quiz.Add("Quand est sortie le premier fps\n1: 1974\n2: 1993\n3: 1996", 1); + _quiz.Add("Quand est sortie la première version de l'editeur Unity", 2005); + } + + public override void StartScript() + { + KeyValuePair<String, int> question = _quiz.ElementAt(Random.Range(0, _quiz.Count)); + _keypadController.password = question.Value.ToString(); + _keypadController.enabled = true; + _tmpText.text = question.Key; + } + + public override void OnWin() + { + _keypadController.enabled = false; + _tmpText.text = ""; + NotifyWin(); + } + + public override void OnLose() + { + NotifyLose(); + } + } +} \ No newline at end of file diff --git a/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/Keypad.cs.meta b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/Keypad.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..a5e86e46e0c4d5d45d3d0fbfd5a705fefb004580 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/Keypad.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 579b512c0c704466ab9d58e0baf1f695 +timeCreated: 1674124653 \ No newline at end of file diff --git a/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/MiniGame.cs b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/MiniGame.cs new file mode 100644 index 0000000000000000000000000000000000000000..9c7417c1f01ea9f2dba06452547f2d924927ed62 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/MiniGame.cs @@ -0,0 +1,36 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class MiniGame : MonoBehaviour +{ + private List<MiniGameObserver> _observers = new List<MiniGameObserver>(); + // Start is called before the first frame update + + public void AddObserver(MiniGameObserver miniGameObserver) + { + _observers.Add(miniGameObserver); + } + + public abstract void StartScript(); + + public abstract void OnWin(); + + public void NotifyWin() + { + foreach (MiniGameObserver miniGameObserver in _observers) + { + miniGameObserver.OnWin(this); + } + } + + public void NotifyLose() + { + foreach (MiniGameObserver miniGameObserver in _observers) + { + miniGameObserver.OnLose(this); + } + } + + public abstract void OnLose(); +} diff --git a/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/MiniGame.cs.meta b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/MiniGame.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..a5dbed79ae06a8d6117700a677b3fbe8d4bc8fdf --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/MiniGame.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3df9ac4116330d82e9ccd3cf448fc28a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/SimonSay.cs b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/SimonSay.cs new file mode 100644 index 0000000000000000000000000000000000000000..11d83501a24cb4949b3094fabbf427a50f7b91f3 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/SimonSay.cs @@ -0,0 +1,32 @@ +using System; + +namespace Game.MinigameScript +{ + public class SimonSay : MiniGame + { + private SimonSayController _simonSayController; + + private void Start() + { + _simonSayController = this.GetComponent<SimonSayController>(); + _simonSayController.OnSuccess(OnWin); + } + + public override void StartScript() + { + _simonSayController.enabled = true; + _simonSayController.Reset(); + } + + public override void OnWin() + { + _simonSayController.enabled = false; + NotifyWin(); + } + + public override void OnLose() + { + NotifyLose(); + } + } +} \ No newline at end of file diff --git a/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/SimonSay.cs.meta b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/SimonSay.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..2bd1c495544d39469ef27d8492939f61f62f4688 --- /dev/null +++ b/UnityGoesBruh/Assets/Scripts/Game/MinigameScript/SimonSay.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e01673d84ffc4e45a919df6a1a39e814 +timeCreated: 1674132928 \ No newline at end of file diff --git a/UnityGoesBruh/Assets/Scripts/Keypad/keypadController.cs b/UnityGoesBruh/Assets/Scripts/Keypad/keypadController.cs index a1ed927f354fc3a6021365baf2ee750a4e753a69..232f58d86ce2bcfb5e5c857dd3e26a4d73a2dfdf 100644 --- a/UnityGoesBruh/Assets/Scripts/Keypad/keypadController.cs +++ b/UnityGoesBruh/Assets/Scripts/Keypad/keypadController.cs @@ -1,7 +1,9 @@ +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; +using UnityEngine.Serialization; public class keypadController : MonoBehaviour { @@ -10,8 +12,12 @@ public class keypadController : MonoBehaviour [SerializeField] private GameObject _keypadDisplay; private TMP_Text _textMeshProText; - [SerializeField] - public string _password; + + [FormerlySerializedAs("_password")] [SerializeField] + + private Action onCorrect; + + public string password; // Start is called before the first frame update void Start() { @@ -29,6 +35,11 @@ public class keypadController : MonoBehaviour } + public void OnCorrect(Action onCorrect) + { + this.onCorrect = onCorrect; + } + void OnButtonPressed(string buttonName) { StartCoroutine(checkInput(buttonName)); @@ -46,14 +57,14 @@ public class keypadController : MonoBehaviour } else if (buttonName == "V") { - if (_textMeshProText.text == _password) + if (_textMeshProText.text == password) { _textMeshProText.text = "Correct"; _textMeshProText.color = Color.green; yield return new WaitForSeconds(1); _textMeshProText.text = ""; _textMeshProText.color = Color.white; - + onCorrect(); } else { diff --git a/UnityGoesBruh/Assets/Scripts/Player/InteractionController.cs b/UnityGoesBruh/Assets/Scripts/Player/InteractionController.cs index ebb07f164d605083f5ea2dff68c2bf185de62cc5..593f8351e0568f1235a88efaef562520c1622ee2 100644 --- a/UnityGoesBruh/Assets/Scripts/Player/InteractionController.cs +++ b/UnityGoesBruh/Assets/Scripts/Player/InteractionController.cs @@ -30,16 +30,24 @@ public class InteractionController : MonoBehaviour _textMeshProText = _cursor.GetComponent<TMP_Text>(); } + void DropCurrentObject() + { + _currentHoldedObjectRigidbody.freezeRotation = false; + _currentHoldedObjectRigidbody.useGravity = true; + _currentHoldedObject.layer = _layer; + _currentHoldedObject = null; + _justDropped = true; + } // Update is called once per frame void Update() { + if (_currentHoldedObject != null && Vector3.Distance(this.transform.position, _currentHoldedObject.transform.position) > 5) + { + + } if (_currentHoldedObject != null && Input.GetKeyDown(KeyCode.E)) { - _currentHoldedObjectRigidbody.freezeRotation = false; - _currentHoldedObjectRigidbody.useGravity = true; - _currentHoldedObject.layer = _layer; - _currentHoldedObject = null; - _justDropped = true; + DropCurrentObject(); } if(!_justDropped){ Ray ray = _camera.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0)); diff --git a/UnityGoesBruh/Assets/Scripts/Simon Say/simonSayController.cs b/UnityGoesBruh/Assets/Scripts/Simon Say/SimonSayController.cs similarity index 85% rename from UnityGoesBruh/Assets/Scripts/Simon Say/simonSayController.cs rename to UnityGoesBruh/Assets/Scripts/Simon Say/SimonSayController.cs index f242945653f0d5797c2bdaf86d7071ef32572457..b26e55164839bc75113d1dbd337fc71426e3efe8 100644 --- a/UnityGoesBruh/Assets/Scripts/Simon Say/simonSayController.cs +++ b/UnityGoesBruh/Assets/Scripts/Simon Say/SimonSayController.cs @@ -1,10 +1,12 @@ +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using Assets.Scripts.Simon_Say; +using Random = UnityEngine.Random; -public class simonSayController : MonoBehaviour +public class SimonSayController : MonoBehaviour { [SerializeField] private GameObject[] _buttons; @@ -12,6 +14,8 @@ public class simonSayController : MonoBehaviour [SerializeField] private int _numberOfRound = 6; + private Action onSuccess; + private List<string> _orders = new List<string>(); private List<string> _currentInput = new List<string>(); // Start is called before the first frame update @@ -34,6 +38,12 @@ public class simonSayController : MonoBehaviour StartCoroutine(checkInput(buttonName)); } + public void Reset() + { + _orders.Clear(); + _currentInput.Clear(); + } + IEnumerator PlayOrders() { foreach (var order in _orders) @@ -67,7 +77,8 @@ public class simonSayController : MonoBehaviour { if(_numberOfRound == _currentInput.Count) { - OnSuccess(); + Reset(); + onSuccess(); } AddAleatoryInput(); } @@ -77,9 +88,9 @@ public class simonSayController : MonoBehaviour } } - void OnSuccess() + public void OnSuccess(Action onSuccess) { - + this.onSuccess = onSuccess; } void AddAleatoryInput() diff --git a/UnityGoesBruh/Assets/Scripts/Simon Say/simonSayController.cs.meta b/UnityGoesBruh/Assets/Scripts/Simon Say/SimonSayController.cs.meta similarity index 100% rename from UnityGoesBruh/Assets/Scripts/Simon Say/simonSayController.cs.meta rename to UnityGoesBruh/Assets/Scripts/Simon Say/SimonSayController.cs.meta