diff --git a/Assets/Bomb.fbx b/Assets/Bomb.fbx new file mode 100644 index 0000000..7e72a59 Binary files /dev/null and b/Assets/Bomb.fbx differ diff --git a/Assets/Bomb.fbx.meta b/Assets/Bomb.fbx.meta new file mode 100644 index 0000000..b170f3e --- /dev/null +++ b/Assets/Bomb.fbx.meta @@ -0,0 +1,107 @@ +fileFormatVersion: 2 +guid: ed385ecca27c7e24daaba2285de11715 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Catch.unity b/Assets/Scenes/Catch.unity new file mode 100644 index 0000000..194634e --- /dev/null +++ b/Assets/Scenes/Catch.unity @@ -0,0 +1,1463 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.17276844, g: 0.21589245, b: 0.2978263, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &180474743 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 180474748} + - component: {fileID: 180474747} + - component: {fileID: 180474746} + - component: {fileID: 180474745} + - component: {fileID: 180474744} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &180474744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180474743} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3} + m_Name: + m_EditorClassIdentifier: + sharedProfile: {fileID: 11400000, guid: 3c8dc5f9b0a9b3746a34c440291297b3, type: 2} + isGlobal: 1 + blendDistance: 0 + weight: 1 + priority: 0 +--- !u!114 &180474745 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180474743} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3} + m_Name: + m_EditorClassIdentifier: + volumeTrigger: {fileID: 180474748} + volumeLayer: + serializedVersion: 2 + m_Bits: 4294967295 + stopNaNPropagation: 1 + finalBlitToCameraTarget: 0 + antialiasingMode: 0 + temporalAntialiasing: + jitterSpread: 0.75 + sharpness: 0.25 + stationaryBlending: 0.95 + motionBlending: 0.85 + subpixelMorphologicalAntialiasing: + quality: 2 + fastApproximateAntialiasing: + fastMode: 0 + keepAlpha: 0 + fog: + enabled: 1 + excludeSkybox: 1 + debugLayer: + lightMeter: + width: 512 + height: 256 + showCurves: 1 + histogram: + width: 512 + height: 256 + channel: 3 + waveform: + exposure: 0.12 + height: 256 + vectorscope: + size: 256 + exposure: 0.12 + overlaySettings: + linearDepth: 0 + motionColorIntensity: 4 + motionGridSize: 64 + colorBlindnessType: 0 + colorBlindnessStrength: 1 + m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2} + m_ShowToolkit: 0 + m_ShowCustomSorter: 0 + breakBeforeColorGrading: 0 + m_BeforeTransparentBundles: [] + m_BeforeStackBundles: [] + m_AfterStackBundles: [] +--- !u!81 &180474746 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180474743} + m_Enabled: 1 +--- !u!20 &180474747 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180474743} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 36 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &180474748 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 180474743} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0.42, y: 28.94, z: -0.09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &254824768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 254824769} + - component: {fileID: 254824771} + - component: {fileID: 254824770} + 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 &254824769 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 254824768} + 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: 1715194973} + 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: 45, y: 437} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &254824770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 254824768} + 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: 'Score: ' + 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: 0, y: 0, z: 0, w: 0} + 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 &254824771 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 254824768} + m_CullTransparentMesh: 1 +--- !u!1 &541614706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 541614707} + m_Layer: 0 + m_Name: CarryLocation + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &541614707 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541614706} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.652, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1798167852} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1563757424 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1563757429} + - component: {fileID: 1563757428} + - component: {fileID: 1563757427} + - component: {fileID: 1563757426} + - component: {fileID: 1563757425} + - component: {fileID: 1563757430} + m_Layer: 0 + m_Name: SpecialObject + m_TagString: SpecialObject + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!54 &1563757425 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563757424} + serializedVersion: 2 + m_Mass: 10 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &1563757426 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563757424} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f794c8451763f354c84ed1f9b0ea15a5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &1563757427 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563757424} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.5, y: 1.5, z: 1.5} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1563757428 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563757424} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1563757429 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563757424} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 200.852, y: 0.78, z: -66.371} + m_LocalScale: {x: 0.73, y: 0.73, z: 0.73} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1563757430 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1563757424} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ccdb916f3e54634b9b549113921c189, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1665837791 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1665837794} + - component: {fileID: 1665837793} + - component: {fileID: 1665837792} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1665837792 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665837791} + 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: 'Time Left: ' + 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: 0, y: 0, z: 0, w: 0} + 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 &1665837793 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665837791} + m_CullTransparentMesh: 1 +--- !u!224 &1665837794 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665837791} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 237} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1715194973} + m_RootOrder: 1 + 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: -394.6, y: 438} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1711553713 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1711553720} + - component: {fileID: 1711553719} + - component: {fileID: 1711553717} + - component: {fileID: 1711553718} + - component: {fileID: 1711553716} + m_Layer: 0 + m_Name: PickUpObject + m_TagString: PickupObject + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!54 &1711553716 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1711553713} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &1711553717 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1711553713} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.5, y: 1.5, z: 1.5} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1711553718 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1711553713} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 07dc66ae04b7f6a43b9674bf0fefb33a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1711553719 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1711553713} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1711553720 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1711553713} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 202.07, y: 0.78, z: -68.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1715194968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1715194973} + - component: {fileID: 1715194972} + - component: {fileID: 1715194971} + - component: {fileID: 1715194970} + - component: {fileID: 1715194969} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1715194969 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715194968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 74dc49a8baecbbb48949a88ac16ad421, type: 3} + m_Name: + m_EditorClassIdentifier: + timeRemaining: 60 + timeText: {fileID: 1665837792} +--- !u!114 &1715194970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715194968} + 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 &1715194971 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715194968} + 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 &1715194972 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715194968} + 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_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1715194973 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715194968} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 254824769} + - {fileID: 1665837794} + m_Father: {fileID: 0} + m_RootOrder: 4 + 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!1 &1798167844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1798167852} + - component: {fileID: 1798167851} + - component: {fileID: 1798167850} + - component: {fileID: 1798167848} + - component: {fileID: 1798167847} + - component: {fileID: 1798167846} + - component: {fileID: 1798167845} + - component: {fileID: 1798167853} + m_Layer: 0 + m_Name: Capsule + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!143 &1798167845 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798167844} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 2 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &1798167846 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798167844} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 112 + m_CollisionDetection: 0 +--- !u!114 &1798167847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798167844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eca94ba4e2f880644ab196f816624ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + carryPosition: {fileID: 541614706} + insideTrigger: 0 + playerIsCarrying: 0 + nearestCarriableObject: {fileID: 0} + previousObject: {fileID: 0} + heldObject: {fileID: 0} + throwForce: 5 + cooldownSeconds: 1 + cooldownActive: 0 + interactKey: 102 +--- !u!114 &1798167848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798167844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 93424cdca660b854faec02bc3325bc31, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 7 + turnSpeed: 720 + sprintSpeed: 10 + jumpForce: 2.5 + gravity: 9.8 + throwForce: {fileID: 1798167847} + forwardsKey: 119 + backwardsKey: 115 + leftKey: 97 + rightKey: 101 + sprintKey: 304 + jumpKey: 32 + hammer: 0 +--- !u!23 &1798167850 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798167844} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1798167851 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798167844} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1798167852 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798167844} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 541614707} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1798167853 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798167844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 237a5c4f431d32d4a9b1d8b5bc9cf74e, type: 3} + m_Name: + m_EditorClassIdentifier: + score: 0 + scoreText: {fileID: 254824770} + movement: {fileID: 1798167848} +--- !u!1 &1879297473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1879297477} + - component: {fileID: 1879297476} + - component: {fileID: 1879297475} + - component: {fileID: 1879297474} + - component: {fileID: 1879297478} + m_Layer: 0 + m_Name: Plane + m_TagString: Floor + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &1879297474 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879297473} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1879297475 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879297473} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4b905f60df09c8245b6e0d5af2e04c7f, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1879297476 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879297473} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1879297477 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879297473} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.186032, y: 1.111905, z: 1.186032} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1879297478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879297473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e4a9d33dc4475534295840d4e1ef1fb2, type: 3} + m_Name: + m_EditorClassIdentifier: + objects: + - {fileID: 1711553713} + - {fileID: 5032800252235277840} + - {fileID: 1563757424} + scoreText: {fileID: 254824770} + defaultSpeed: 1.5 + timerSpeed: 0 + timer: {fileID: 1715194969} + canSpawn: 1 +--- !u!1 &1985254821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1985254823} + - component: {fileID: 1985254822} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1985254822 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985254821} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.9607685, b: 0.8537736, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 1 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1985254823 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985254821} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 30, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &2755054658858915506 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5032800252235277840} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 5422848464680618109, guid: ed385ecca27c7e24daaba2285de11715, type: 3} + - {fileID: -6478536213147159724, guid: ed385ecca27c7e24daaba2285de11715, type: 3} + - {fileID: -3846018093981099296, guid: ed385ecca27c7e24daaba2285de11715, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &3770436427156810109 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5032800252235277840} + m_Mesh: {fileID: -849867405023671905, guid: ed385ecca27c7e24daaba2285de11715, type: 3} +--- !u!1 &5032800252235277840 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6436778896014370080} + - component: {fileID: 3770436427156810109} + - component: {fileID: 2755054658858915506} + - component: {fileID: 6436778896014370081} + - component: {fileID: 6436778896014370082} + m_Layer: 0 + m_Name: Bomb + m_TagString: Bomb + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6436778896014370080 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5032800252235277840} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 193.8, y: 1.4881, z: -63} + m_LocalScale: {x: 59.554, y: 59.554, z: 59.554} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!54 &6436778896014370081 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5032800252235277840} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!135 &6436778896014370082 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5032800252235277840} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.013918 + m_Center: {x: -0.0000000040034016, y: 0.000000004003401, z: 0.00059917907} diff --git a/Assets/Scenes/Catch.unity.meta b/Assets/Scenes/Catch.unity.meta new file mode 100644 index 0000000..b4d5374 --- /dev/null +++ b/Assets/Scenes/Catch.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d3484eb6347b8da47be5172c6d60f8ee +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Catch.meta b/Assets/Scripts/Catch.meta new file mode 100644 index 0000000..d06bb7b --- /dev/null +++ b/Assets/Scripts/Catch.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e325d480dc98dca4d9aab6752b181583 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Catch/BoxTP_Catch.cs b/Assets/Scripts/Catch/BoxTP_Catch.cs new file mode 100644 index 0000000..ce10e64 --- /dev/null +++ b/Assets/Scripts/Catch/BoxTP_Catch.cs @@ -0,0 +1,63 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using TMPro; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +//TODO Create Catch Game: +//* Objects constantly and randomly spawn in the air +//* Player must catch (just touch) the objects before they hit the ground +//* The player has a score that increases by 1 for each object caught +//* The player has a timer that counts down from 60 seconds +//* The game ends when the timer reaches 0 +//TODO Some objects are worth more points than others and fall faster +//TODO Some objects are bombs and will decrease the player's score if in radius +//TODO Objects smash on the ground if not caught, create particles + +public class BoxTP_Catch : MonoBehaviour +{ + public GameObject[] objects; + public TextMeshProUGUI scoreText; + public float defaultSpeed = 1.5f; + public float timerSpeed; + public Timer timer; + public bool canSpawn = true; + void Start() + { + scoreText.text = "Score: 0"; + } + + void FixedUpdate() { + + timerSpeed = defaultSpeed * (timer.timeRemaining/60); + + //spawn object a random object from the list every few seconds, randomly on the x and z axis + //if the object is not caught, destroy it + //if the object is caught, increase score by 1 + if(timer.timeRemaining-1 > 0) + { + if (canSpawn) { + GameObject currentObject = Instantiate(objects[Random.Range(0, objects.Length)], new Vector3(Random.Range(5f, -5f), 15,- Random.Range(-5f, 5f)), Quaternion.identity); + currentObject.GetComponent().useGravity = true; + canSpawn = false; + StartCoroutine(SpawnTimer()); + } + } + } + + IEnumerator SpawnTimer() { + yield return new WaitForSeconds(timerSpeed); + canSpawn = true; + } + + private void OnTriggerEnter(Collider other) { + if(other.gameObject.tag == "PickupObject" || other.gameObject.tag == "Bomb" || other.gameObject.tag == "SpecialObject") + { + Destroy(other.gameObject); + } + } +} diff --git a/Assets/Scripts/Catch/BoxTP_Catch.cs.meta b/Assets/Scripts/Catch/BoxTP_Catch.cs.meta new file mode 100644 index 0000000..c96696b --- /dev/null +++ b/Assets/Scripts/Catch/BoxTP_Catch.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e4a9d33dc4475534295840d4e1ef1fb2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Catch/Catch.cs b/Assets/Scripts/Catch/Catch.cs new file mode 100644 index 0000000..103a96e --- /dev/null +++ b/Assets/Scripts/Catch/Catch.cs @@ -0,0 +1,46 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using TMPro; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +//* Fix objects giving the player double points +public class Catch : MonoBehaviour +{ + public int score; + public TextMeshProUGUI scoreText; + public Movement movement; + + private void OnTriggerEnter(Collider other) { + if(other.gameObject.tag == "PickupObject") + { + Destroy(other.gameObject); + score = score + 1; + scoreText.text = "Score: " + score; + } + else if(other.gameObject.tag == "Bomb") + { + Destroy(other.gameObject); + score = score - 3; + scoreText.text = "Score: " + score; + StartCoroutine(ConcussionTime()); + } + else if(other.gameObject.tag == "SpecialObject") + { + Destroy(other.gameObject); + score = score + 2; + scoreText.text = "Score: " + score; + } + } + + IEnumerator ConcussionTime() + { + movement.speed = 0; + yield return new WaitForSeconds(2); + movement.speed = 7.0f; + } +} diff --git a/Assets/Scripts/Catch/Catch.cs.meta b/Assets/Scripts/Catch/Catch.cs.meta new file mode 100644 index 0000000..49264cb --- /dev/null +++ b/Assets/Scripts/Catch/Catch.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 237a5c4f431d32d4a9b1d8b5bc9cf74e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Catch/CubeGravity.cs b/Assets/Scripts/Catch/CubeGravity.cs new file mode 100644 index 0000000..44206fa --- /dev/null +++ b/Assets/Scripts/Catch/CubeGravity.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +//TODO Increase the gravity of the object attached to this script +public class CubeGravity : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void FixedUpdate() + { + GetComponent().AddForce(Physics.gravity *1.75f, ForceMode.Acceleration); + } +} diff --git a/Assets/Scripts/Catch/CubeGravity.cs.meta b/Assets/Scripts/Catch/CubeGravity.cs.meta new file mode 100644 index 0000000..5f70fb6 --- /dev/null +++ b/Assets/Scripts/Catch/CubeGravity.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6ccdb916f3e54634b9b549113921c189 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Catch/TouchFloor.cs b/Assets/Scripts/Catch/TouchFloor.cs new file mode 100644 index 0000000..12e870a --- /dev/null +++ b/Assets/Scripts/Catch/TouchFloor.cs @@ -0,0 +1,20 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + + +public class TouchFloor : MonoBehaviour +{ + void OnCollisionEnter(Collision collision) + { + if (collision.gameObject.tag == "Floor") + { + Destroy(gameObject); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Catch/TouchFloor.cs.meta b/Assets/Scripts/Catch/TouchFloor.cs.meta new file mode 100644 index 0000000..5318c24 --- /dev/null +++ b/Assets/Scripts/Catch/TouchFloor.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ea5d73ce2fa80d64ca090ef4cffa6192 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement.cs b/Assets/Scripts/Movement.cs index 8caae30..c1d2578 100644 --- a/Assets/Scripts/Movement.cs +++ b/Assets/Scripts/Movement.cs @@ -5,7 +5,7 @@ using UnityEngine; public class Movement : MonoBehaviour { - public float speed = 5.0f; + public float speed = 7.0f; public float turnSpeed; public float sprintSpeed = 10.0f; public float jumpForce; diff --git a/Assets/Scripts/Sorting.meta b/Assets/Scripts/Sorting.meta new file mode 100644 index 0000000..4fafcca --- /dev/null +++ b/Assets/Scripts/Sorting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 538bbdd32a2048441a276e500d2f5f18 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Sorting/BoxTeleport_Sort.cs b/Assets/Scripts/Sorting/BoxTeleport_Sort.cs new file mode 100644 index 0000000..6c8af47 --- /dev/null +++ b/Assets/Scripts/Sorting/BoxTeleport_Sort.cs @@ -0,0 +1,56 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using TMPro; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +public class BoxTeleport_Sort : MonoBehaviour +{ + private GameObject currentContainer; + public int waitTime = 3; + public TextMeshProUGUI scoreText; + private int score; + + void Start() + { + scoreText.text = "Score: 0"; + } + private void OnTriggerEnter(Collider other) + { + + if(other.gameObject.tag == "Container") + { + currentContainer = other.gameObject; + //* If the box is not the same colour as the container, teleport the box after a few seconds + if(currentContainer.gameObject.GetComponentInParent().material.name == gameObject.GetComponent().material.name) + { + StartCoroutine(BoxSpawnCorrectDelay()); + } + else + { + + StartCoroutine(BoxSpawnDIncorrectDelay()); + } + + } + } + + IEnumerator BoxSpawnCorrectDelay() + { + yield return new WaitForSeconds(.5f); + gameObject.transform.position = new Vector3(Random.Range(10, -10), 15, Random.Range(-10, 10)); + score =+ 1; + scoreText.text = "Score: " + score; + } + + //* Teleport the box to a random location in the air + IEnumerator BoxSpawnDIncorrectDelay() + { + yield return new WaitForSeconds(waitTime); + gameObject.transform.position = new Vector3(Random.Range(10, -10), 15, Random.Range(-10, 10)); + } +} diff --git a/Assets/Scripts/Sorting/BoxTeleport_Sort.cs.meta b/Assets/Scripts/Sorting/BoxTeleport_Sort.cs.meta new file mode 100644 index 0000000..a6e2947 --- /dev/null +++ b/Assets/Scripts/Sorting/BoxTeleport_Sort.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b82d7abf31c7ee246af2125333411a70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Sorting/Colours.cs b/Assets/Scripts/Sorting/Colours.cs new file mode 100644 index 0000000..bb3b51b --- /dev/null +++ b/Assets/Scripts/Sorting/Colours.cs @@ -0,0 +1,33 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using Unity.VisualScripting; +using UnityEngine; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +public class Colours : MonoBehaviour +{ + public GameObject Box; + public GameObject[] containers; + public List materials = new List(); + private GameObject currentBox; + private int num; + //* Start is called before the first frame update + void Start() + { + //* Instantiate 8 containers with random colours at the start of the game + for (int i = 0; i < containers.Length; i++) + { + currentBox = Instantiate(Box, new Vector3(Random.Range(10, -10), 15, Random.Range(-10, 10)), Quaternion.identity); + num = Random.Range(0, materials.Count); + currentBox.GetComponent().material = materials[num]; + containers[i].GetComponent().material = materials[num]; + materials.RemoveAt(num); + } + } +} diff --git a/Assets/Scripts/Sorting/Colours.cs.meta b/Assets/Scripts/Sorting/Colours.cs.meta new file mode 100644 index 0000000..ce145cd --- /dev/null +++ b/Assets/Scripts/Sorting/Colours.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f07fa7e7d67ec954ca9474c2da335e60 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Sorting/PickUpObject.cs b/Assets/Scripts/Sorting/PickUpObject.cs new file mode 100644 index 0000000..c2cc518 --- /dev/null +++ b/Assets/Scripts/Sorting/PickUpObject.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEngine; +using UnityEngine.Animations; +using UnityEngine.UIElements; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +//! Somtimes boxes get thrown further than other times. Boxes also sometimes get thrown into random directions. +public class PickUpObject : MonoBehaviour +{ + public GameObject carryPosition; // blank object, position declares where the object will be teleported to/carried + public bool insideTrigger = false; // checks if player is inside the trigger of a pickup object + public bool playerIsCarrying = false; // checks if player is carrying an object + public GameObject nearestCarriableObject; + public GameObject previousObject; // previous object that player was carrying + public GameObject heldObject; // object that player is currently holding + public float throwForce; + /// + /// Cooldown time between picking up objects in seconds + /// + public float cooldownSeconds = 1; + public bool cooldownActive = true; + public KeyCode interactKey = KeyCode.F; + + // Update is called once per frame + void Update() + { + // * Cubes are quite hot so need time to cool off + cooldownSeconds -= Time.deltaTime; + cooldownActive = cooldownSeconds > 0; + + // * Old objects deserve gravity too + if(previousObject != null && previousObject.GetComponent().useGravity == false) + { + previousObject.GetComponent().useGravity = true; + } + + if(insideTrigger && Input.GetKeyDown(KeyCode.F) && !cooldownActive) + { + // * Who needs gravity + nearestCarriableObject.GetComponent().useGravity = false; + playerIsCarrying = true; + heldObject = nearestCarriableObject; + cooldownSeconds = 1; + } + // * YEET + else if(playerIsCarrying && Input.GetKeyDown(KeyCode.F)) + { + heldObject.GetComponent().useGravity = true; + previousObject = heldObject; + playerIsCarrying = false; + previousObject.GetComponent().AddForce(transform.forward * throwForce, ForceMode.Impulse); + Debug.Log("Yoted!"); + } + + // * Cubes not stored above heads are highly dangerous + if(playerIsCarrying) + { + nearestCarriableObject.transform.position = carryPosition.transform.position; + nearestCarriableObject.transform.rotation = carryPosition.transform.rotation; + } + } + + //* Called when the player is inside a trigger tagged as PickupObject + void OnTriggerStay(Collider otherObject) + { + if(otherObject.gameObject.tag == "PickupObject" && !cooldownActive) + { + nearestCarriableObject = otherObject.gameObject; + insideTrigger = true; + // * old cube is boring + if(heldObject != null && heldObject != nearestCarriableObject && playerIsCarrying) + { + previousObject = heldObject; + cooldownSeconds = 1; + } + } + } + + //* If player is not inside trigger, then they probably aren't inside it + void OnTriggerExit(Collider otherObject) + { + if(otherObject.gameObject.tag == "PickupObject") + { + insideTrigger = false; + } + } +} + +//! To make player launch self: +//! add public GameObject player; and place player in it fron inspector +//! in if(insiderTrigger && Input.GetKeyDown(KeyCode.F)) +//! Place the code below: +//! player.GetComponent().AddForce(transform.forward * throwForce, ForceMode.Impulse); +//! Run the game and press F to launch the player \ No newline at end of file diff --git a/Assets/Scripts/Sorting/PickUpObject.cs.meta b/Assets/Scripts/Sorting/PickUpObject.cs.meta new file mode 100644 index 0000000..9bed783 --- /dev/null +++ b/Assets/Scripts/Sorting/PickUpObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eca94ba4e2f880644ab196f816624ee6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/WhackAMole.meta b/Assets/Scripts/WhackAMole.meta new file mode 100644 index 0000000..69f3664 --- /dev/null +++ b/Assets/Scripts/WhackAMole.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ff9f43726664c7948b2c9e8d6ebdadea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/WhackAMole/Hamor.cs b/Assets/Scripts/WhackAMole/Hamor.cs new file mode 100644 index 0000000..162bf90 --- /dev/null +++ b/Assets/Scripts/WhackAMole/Hamor.cs @@ -0,0 +1,80 @@ +using System.Collections; +using System.Collections.Generic; +using System.Dynamic; +using TMPro; +using UnityEngine; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +//* Prevent player from moving when they are hitting the moles +public class Hamor : MonoBehaviour +{ + public Animator hamorAnimator; + public GameObject bonkParticles; + public GameObject contact; + public bool particles = false; + public TextMeshProUGUI scoreText; + public int score = 0; + public Moles_IsHit moles; + public Movement movement; + //* Start is called before the first frame update + void Start() + { + + } + + //* Update is called once per frame + void Update() + { + if(Input.GetMouseButtonDown(0)) + { + movement.hammer = true; + hamorAnimator.SetTrigger("Bonk"); //* Play the bonk animation + StartCoroutine(MoveTimer()); + } + } + + IEnumerator MoveTimer() + { + yield return new WaitForSeconds(1); + movement.hammer = false; + } + IEnumerator BonkTimer() + { + yield return new WaitForSeconds(1); + particles = false; + } + + private void OnTriggerEnter(Collider other) { + if(particles == false) + { + if(other.tag != "Player") + { + //* Play the bonk particles + var parLocation = Instantiate(bonkParticles, contact.transform.position, Quaternion.identity); + Destroy(parLocation, 1); + particles = true; + StartCoroutine(BonkTimer()); + } + } + + if(other.gameObject.tag == "Mole") + { + //* Get the Moles_IsHit script from the mole + moles = other.gameObject.GetComponent(); + + //* If the mole has not been hit, increase the score and change bool + if(moles.IsHit == false) + { + score += 1; + scoreText.text = "Score: " + score.ToString(); + moles.IsHit = true; + } + } + + + } +} diff --git a/Assets/Scripts/WhackAMole/Hamor.cs.meta b/Assets/Scripts/WhackAMole/Hamor.cs.meta new file mode 100644 index 0000000..7b9e05b --- /dev/null +++ b/Assets/Scripts/WhackAMole/Hamor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 388458319b483a949a166a07083c9590 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/WhackAMole/Moles.cs b/Assets/Scripts/WhackAMole/Moles.cs new file mode 100644 index 0000000..6c1c411 --- /dev/null +++ b/Assets/Scripts/WhackAMole/Moles.cs @@ -0,0 +1,110 @@ +using System.Collections; +using System.Collections.Generic; +using JetBrains.Annotations; +using Unity.VisualScripting; +using UnityEngine; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +//TODO Moles need to change textures when hit to show they have been hit - need textures for this +//* As the time goes on, moles appear and disappear faster +//* Moles that are hit slowly move down into their hole +//TODO Ajust the speed of the moles appearing and disappearing based on the time remaining + +public class Moles : MonoBehaviour +{ + public GameObject hole1, hole2, hole3, hole4, hole5, hole6, hole7, hole8, hole9; + public GameObject mole; + private float defaultSpeed = 10f; + public float timerSpeed; + public float lifeTime = 4f; + public float timerlifeTime; + public bool moleCanAppear = false; + public int randomHole, randomHole2, randomHole3; + public Timer timer; + //* Start is called before the first frame update + void Start() + { + moleCanAppear = true; + } + + //* Update is called once per frame + void Update() + { + timerSpeed = defaultSpeed * (timer.timeRemaining/120); + timerlifeTime = lifeTime * (timer.timeRemaining/120); + if(moleCanAppear) + { + randomHole = Random.Range(1, 9); + randomHole2 = Random.Range(1, 9); + while(randomHole2 == randomHole) + { + randomHole2 = Random.Range(1, 9); + } + randomHole3 = Random.Range(1, 9); + while(randomHole3 == randomHole || randomHole3 == randomHole2) + { + randomHole3 = Random.Range(1, 9); + } + moleCanAppear = false; + holeSelection(randomHole); + holeSelection(randomHole2); + holeSelection(randomHole3); + StartCoroutine(MoleTimer()); + } + } + + void holeSelection(int randomHole) + { + //* Prevent the same hole from being selected twice + switch (randomHole) + { + case 1: + var boxLocation = Instantiate(mole, hole1.transform.position, Quaternion.identity); + + Destroy(boxLocation, timerlifeTime); + break; + case 2: + var boxLocation2 = Instantiate(mole, hole2.transform.position, Quaternion.identity); + Destroy(boxLocation2, timerlifeTime); + break; + case 3: + var boxLocation3 = Instantiate(mole, hole3.transform.position, Quaternion.identity); + Destroy(boxLocation3, timerlifeTime); + break; + case 4: + var boxLocation4 = Instantiate(mole, hole4.transform.position, Quaternion.identity); + Destroy(boxLocation4, timerlifeTime); + break; + case 5: + var boxLocation5 = Instantiate(mole, hole5.transform.position, Quaternion.identity); + Destroy(boxLocation5, timerlifeTime); + break; + case 6: + var boxLocation6 = Instantiate(mole, hole6.transform.position, Quaternion.identity); + Destroy(boxLocation6, timerlifeTime); + break;; + case 7: + var boxLocation7 = Instantiate(mole, hole7.transform.position, Quaternion.identity); + Destroy(boxLocation7, timerlifeTime); + break; + case 8: + var boxLocation8 = Instantiate(mole, hole8.transform.position, Quaternion.identity); + Destroy(boxLocation8, timerlifeTime); + break; + case 9: + var boxLocation9 = Instantiate(mole, hole9.transform.position, Quaternion.identity); + Destroy(boxLocation9, timerlifeTime); + break; + } + } + + IEnumerator MoleTimer() + { + yield return new WaitForSeconds(timerSpeed); + moleCanAppear = true; + } +} diff --git a/Assets/Scripts/WhackAMole/Moles.cs.meta b/Assets/Scripts/WhackAMole/Moles.cs.meta new file mode 100644 index 0000000..995aefe --- /dev/null +++ b/Assets/Scripts/WhackAMole/Moles.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2a05eee06c231ea4f849ab3415485fe1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/WhackAMole/Moles_IsHit.cs b/Assets/Scripts/WhackAMole/Moles_IsHit.cs new file mode 100644 index 0000000..ef71e49 --- /dev/null +++ b/Assets/Scripts/WhackAMole/Moles_IsHit.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +//* General Comments or Finished Tasks +//TODO Tasks left to be done for game +//! Bugs or Issues +//? Questions or Suggestions + +public class Moles_IsHit : MonoBehaviour +{ + public bool IsHit; + //* Start is called before the first frame update + void Start() + { + IsHit = false; //* Mole starts as not being hit + } + + //* Update is called once per frame + void Update() + { + if(IsHit) + { + //* Slowly move the mole down into the hole + transform.position = new Vector3(transform.position.x, transform.position.y - 0.01f, transform.position.z); + } + } +} diff --git a/Assets/Scripts/WhackAMole/Moles_IsHit.cs.meta b/Assets/Scripts/WhackAMole/Moles_IsHit.cs.meta new file mode 100644 index 0000000..0258efc --- /dev/null +++ b/Assets/Scripts/WhackAMole/Moles_IsHit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cd50fe78e80ef7046a1452af2b97de93 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index edc6ed3..84c5cf2 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -9,6 +9,7 @@ TagManager: - Mole - Container - Bomb + - SpecialObject layers: - Default - TransparentFX