From 164b9699d3746ee0526daa1f39824ebd2c66c3fe Mon Sep 17 00:00:00 2001 From: Pasha Date: Tue, 21 Apr 2026 22:22:52 +0100 Subject: [PATCH] Added basic presser --- .../PresserAnnimationController.controller | 72 + ...resserAnnimationController.controller.meta | 8 + Assets/Art/Annimations/PresserPress.anim | 232 ++++ Assets/Art/Annimations/PresserPress.anim.meta | 8 + Assets/Art/Building/Alternator-v1.png.meta | 2 +- Assets/Art/Building/Fan-v2.png.meta | 4 +- Assets/Art/Building/Presser-v1.png | Bin 0 -> 2460 bytes Assets/Art/Building/Presser-v1.png.meta | 1167 +++++++++++++++++ Assets/Art/Building/Slicer-v1.png.meta | 4 +- Assets/Art/Building/Spring-v1.png.meta | 4 +- Assets/Art/Building/Stair-v1.png.meta | 4 +- Assets/Art/Building/Wall-v1.png.meta | 4 +- .../Prefabs/Buildings/PresserBuilding.prefab | 507 +++++++ .../Buildings/PresserBuilding.prefab.meta | 7 + Assets/Prefabs/Buildings/Registry.asset | 4 + .../Prefabs/Buildings/SlicerBuilding.prefab | 4 +- Assets/Scenes/GameScene.unity | 2 +- .../Buildings/Automation/PresserBuilding.cs | 47 + .../Automation/PresserBuilding.cs.meta | 3 + 19 files changed, 2069 insertions(+), 14 deletions(-) create mode 100644 Assets/Art/Annimations/PresserAnnimationController.controller create mode 100644 Assets/Art/Annimations/PresserAnnimationController.controller.meta create mode 100644 Assets/Art/Annimations/PresserPress.anim create mode 100644 Assets/Art/Annimations/PresserPress.anim.meta create mode 100644 Assets/Art/Building/Presser-v1.png create mode 100644 Assets/Art/Building/Presser-v1.png.meta create mode 100644 Assets/Prefabs/Buildings/PresserBuilding.prefab create mode 100644 Assets/Prefabs/Buildings/PresserBuilding.prefab.meta create mode 100644 Assets/Scripts/Game/Buildings/Automation/PresserBuilding.cs create mode 100644 Assets/Scripts/Game/Buildings/Automation/PresserBuilding.cs.meta diff --git a/Assets/Art/Annimations/PresserAnnimationController.controller b/Assets/Art/Annimations/PresserAnnimationController.controller new file mode 100644 index 0000000..cbe2931 --- /dev/null +++ b/Assets/Art/Annimations/PresserAnnimationController.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-1931402263768565608 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -922935045147275588} + m_Position: {x: 30, y: 70, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -922935045147275588} +--- !u!1102 &-922935045147275588 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PresserPress + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: c6ddf8b8c518ba846a860a276162b9c4, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PresserAnnimationController + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -1931402263768565608} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} diff --git a/Assets/Art/Annimations/PresserAnnimationController.controller.meta b/Assets/Art/Annimations/PresserAnnimationController.controller.meta new file mode 100644 index 0000000..cc14722 --- /dev/null +++ b/Assets/Art/Annimations/PresserAnnimationController.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 640f0f59c0af4984d9c8d406c81f5bb4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Annimations/PresserPress.anim b/Assets/Art/Annimations/PresserPress.anim new file mode 100644 index 0000000..22dd0c3 --- /dev/null +++ b/Assets/Art/Annimations/PresserPress.anim @@ -0,0 +1,232 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PresserPress + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: 1199755820, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.016666668 + value: {fileID: -1164781506, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.033333335 + value: {fileID: 1091475449, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.05 + value: {fileID: 1207625669, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.06666667 + value: {fileID: 520668064, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.083333336 + value: {fileID: -1473909198, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.1 + value: {fileID: -1106476742, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.11666667 + value: {fileID: 1403421430, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.13333334 + value: {fileID: -1649237995, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.15 + value: {fileID: 576770162, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.16666667 + value: {fileID: -884936673, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.18333334 + value: {fileID: 1601791250, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.2 + value: {fileID: -1785268793, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.21666667 + value: {fileID: -211491528, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.23333333 + value: {fileID: -913479431, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.25 + value: {fileID: 881949975, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.26666668 + value: {fileID: -1531621531, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.28333333 + value: {fileID: -534586651, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.3 + value: {fileID: 1901472791, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.31666666 + value: {fileID: 577648645, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.33333334 + value: {fileID: 351446372, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.35 + value: {fileID: -404170511, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.36666667 + value: {fileID: 2112851666, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.38333333 + value: {fileID: -1436387503, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.4 + value: {fileID: 1847941435, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.41666666 + value: {fileID: -181421762, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.43333334 + value: {fileID: -219608631, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.45 + value: {fileID: -1685916199, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.46666667 + value: {fileID: 1506017471, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.48333332 + value: {fileID: 558289673, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.5 + value: {fileID: -204599112, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.51666665 + value: {fileID: -716867211, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.53333336 + value: {fileID: 408849222, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.55 + value: {fileID: 1628398908, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.56666666 + value: {fileID: 603149326, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.5833333 + value: {fileID: -1849241278, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.6 + value: {fileID: 411962727, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.6166667 + value: {fileID: 1764992374, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.6333333 + value: {fileID: -1097958866, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.65 + value: {fileID: 1305087115, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.6666667 + value: {fileID: 1802672769, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.68333334 + value: {fileID: 664978801, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.7 + value: {fileID: -175630411, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.71666664 + value: {fileID: -1660408674, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - time: 0.73333335 + value: {fileID: 1590728787, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + attribute: m_Sprite + path: + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + flags: 2 + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 2015549526 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: + - {fileID: 1199755820, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1164781506, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1091475449, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1207625669, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 520668064, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1473909198, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1106476742, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1403421430, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1649237995, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 576770162, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -884936673, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1601791250, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1785268793, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -211491528, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -913479431, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 881949975, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1531621531, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -534586651, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1901472791, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 577648645, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 351446372, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -404170511, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 2112851666, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1436387503, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1847941435, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -181421762, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -219608631, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1685916199, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1506017471, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 558289673, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -204599112, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -716867211, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 408849222, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1628398908, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 603149326, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1849241278, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 411962727, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1764992374, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1097958866, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1305087115, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1802672769, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 664978801, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -175630411, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: -1660408674, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + - {fileID: 1590728787, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.75 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: + - time: 0.033333335 + functionName: OpenTop + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0.18333334 + functionName: CloseTop + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0.41666666 + functionName: Press + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0.55 + functionName: CloseBottom + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Art/Annimations/PresserPress.anim.meta b/Assets/Art/Annimations/PresserPress.anim.meta new file mode 100644 index 0000000..87d6d18 --- /dev/null +++ b/Assets/Art/Annimations/PresserPress.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c6ddf8b8c518ba846a860a276162b9c4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Building/Alternator-v1.png.meta b/Assets/Art/Building/Alternator-v1.png.meta index 6fc04c1..2c0392d 100644 --- a/Assets/Art/Building/Alternator-v1.png.meta +++ b/Assets/Art/Building/Alternator-v1.png.meta @@ -34,7 +34,7 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 + filterMode: 0 aniso: 1 mipBias: 0 wrapU: 0 diff --git a/Assets/Art/Building/Fan-v2.png.meta b/Assets/Art/Building/Fan-v2.png.meta index 03dc697..70be847 100644 --- a/Assets/Art/Building/Fan-v2.png.meta +++ b/Assets/Art/Building/Fan-v2.png.meta @@ -37,8 +37,8 @@ TextureImporter: filterMode: 0 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 nPOTScale: 0 lightmap: 0 diff --git a/Assets/Art/Building/Presser-v1.png b/Assets/Art/Building/Presser-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..f12867713d3976caf19ddab30cbabe613a70582d GIT binary patch literal 2460 zcmb7GdrXs86tA0`57ca$unown5ikTs4WNKLbfS@u0@b=OZC3%2by%?D(Y1)BQ8Jma zP^~=FGCHNLsI*w1v=;bSbfY5jYHRB#@aa&XVB1kz9v_she`towvb6an_nzFFd+#~F zd(Qpc3kMSqtY7P~7J)#l2V(bO5r|c*9rov|KXkNVEpereZbdHkz+Qx?$4ieutVsg) zefbrw$}j|-987voF$G;dQ5!LAs5`2E$*23!|xB)u8=_qQMkyQdMcIuS8ck3y|Z< zemM+*@!ImHq{F1HFby*;0cV~h+k1)@Snl&N^*cxFlNr}|0v_L+Xs_UvMKY%916~xs zuRA4fG&>}zHus#_Rt^m0R} z_hj=-Y#v`yp}wAkSKblAsxjeq15LMZ3QvZ9wJ6k|OU@B}GLowQeF7kU8Wy+yq zLnW7Sf3Z)S%=7mlP;K65cqWmW0uAS9KB5{H-Oa*l4pua`p6lQ_v$(WZDkn3z~dtym0Yi(P%p(wP28h+e*_*vo6V0sef-8L&S#TmUQ;T}Cv@aQcT-%0GS8h+SR(dd8q)UUM2va;ZDouxYw ziFOjC2_4~hlO*p|lJO^*l+6aY0ea%m!QnbvxX~JQsCTD55s!_N=g^+(uQp*( zL-!6rix#o75P(C5)p#@9^sU!qDg`*kW#&_qSX7|DtM})38zAXh8i;0V#AjCqaBZbAhEB<75`2 zk&ZkzY>o%AfQZGYjlmXz(aWlrySW{NUOP*tMJxcf0Hwu&d~Z+L%99=9(Wd|)91G1< zyOvS0Y>~x}FDQR#dT_>i`U%n=)frZecP*BPmfya^P8vfLF|!IrV$Lp2D|ioKb%_o~ zZe{|wPTARuzf@}~#J>0U^t%*CJ(@kl$LMs>hND6sg`$%DXRS+>30(?KLMzG7J!)-z zd_J!VwVQ6b9CiQUltez2{NSQW61KJCh@biT^a7SGP{U7Rt}GH#j}bJ^Lj ziimkkg(6!Ux|;kur~1Y$50uI`B9+xUJGZ|*#5ADoUnW}+3_?Ch-wUBJK0iNSS^7F|#7$Nn1OFhRW4A6|S?tk1u&So%*OAMeY6Pl*$u3 zMzElSiH0@X0}c2A*?BTBf&=+X5?rxeWT@%T{q^xk*1SW&IN&V61zGd&YEeGdpl{r! zEj)YQPR5z0`x68l`LMjsL`YZ=cF_y*{&YCnGOH*K0teOZim`O1w3!^s9*GXm8Y>7= zG`Gx*XAp`hx08ZOt%mg;n2zhc_MEbjn(3N5|Do{91Y62k__BackingField: {x: 4, y: 3} + PresserAnimator: {fileID: 2069929881663685092} + TopCollider: {fileID: 2714168551213278428} + BottomCollider: {fileID: 8580655252957421185} +--- !u!222 &329628596091536199 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4125748828694197055} + m_CullTransparentMesh: 1 +--- !u!114 &4574190123105439923 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4125748828694197055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + 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_Sprite: {fileID: 1199755820, guid: 0e293793478244543a616aaad9c4cf08, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6787837968705122232 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4125748828694197055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 4574190123105439923} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 5178482367444271425} + m_TargetAssemblyTypeName: Fruitomation.Game.PresserBuilding, Fruitomation + m_MethodName: OnBuildingClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!95 &2069929881663685092 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4125748828694197055} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 640f0f59c0af4984d9c8d406c81f5bb4, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &5282620130747223080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4096697452073127701} + - component: {fileID: 2714168551213278428} + m_Layer: 0 + m_Name: TopCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4096697452073127701 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5282620130747223080} + 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: 3484520099208115360} + 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: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!61 &2714168551213278428 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5282620130747223080} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 52} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 120, y: 16} + m_EdgeRadius: 0 +--- !u!1 &6685246690386729584 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6793262744715789825} + - component: {fileID: 2448787661920129587} + m_Layer: 0 + m_Name: LeftCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6793262744715789825 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6685246690386729584} + 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: 3484520099208115360} + 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: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!61 &2448787661920129587 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6685246690386729584} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -70, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 20, y: 120} + m_EdgeRadius: 0 +--- !u!1 &7642770092097174314 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5928291918625939134} + - component: {fileID: 8580655252957421185} + m_Layer: 0 + m_Name: BottomCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5928291918625939134 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7642770092097174314} + 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: 3484520099208115360} + 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: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!61 &8580655252957421185 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7642770092097174314} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: -52} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 120, y: 1} + m_EdgeRadius: 0 +--- !u!1 &8718160904021803034 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7373586313877545823} + - component: {fileID: 7980248264564719518} + m_Layer: 0 + m_Name: RightCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7373586313877545823 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8718160904021803034} + 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: 3484520099208115360} + 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: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!61 &7980248264564719518 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8718160904021803034} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 70, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 20, y: 120} + m_EdgeRadius: 0 diff --git a/Assets/Prefabs/Buildings/PresserBuilding.prefab.meta b/Assets/Prefabs/Buildings/PresserBuilding.prefab.meta new file mode 100644 index 0000000..7c154b5 --- /dev/null +++ b/Assets/Prefabs/Buildings/PresserBuilding.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a4c4117a8b12b324186385e04c3ede89 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Buildings/Registry.asset b/Assets/Prefabs/Buildings/Registry.asset index 7aeacf8..c0c9c9f 100644 --- a/Assets/Prefabs/Buildings/Registry.asset +++ b/Assets/Prefabs/Buildings/Registry.asset @@ -33,3 +33,7 @@ MonoBehaviour: Requirement: 0 Prefab: {fileID: 8624048914473773482, guid: d26b0bb551b891e41a14009e6df42019, type: 3} + - Name: Presser + Requirement: 0 + Prefab: {fileID: 4125748828694197055, guid: a4c4117a8b12b324186385e04c3ede89, + type: 3} diff --git a/Assets/Prefabs/Buildings/SlicerBuilding.prefab b/Assets/Prefabs/Buildings/SlicerBuilding.prefab index f0b91a3..6c19288 100644 --- a/Assets/Prefabs/Buildings/SlicerBuilding.prefab +++ b/Assets/Prefabs/Buildings/SlicerBuilding.prefab @@ -303,8 +303,8 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 0} - m_TargetAssemblyTypeName: Fruitomation.Game.FanBuilding, Fruitomation + - m_Target: {fileID: 6946449142574024064} + m_TargetAssemblyTypeName: Fruitomation.Game.SlicerBuilding, Fruitomation m_MethodName: OnBuildingClicked m_Mode: 1 m_Arguments: diff --git a/Assets/Scenes/GameScene.unity b/Assets/Scenes/GameScene.unity index 7e6cab5..b43b531 100644 --- a/Assets/Scenes/GameScene.unity +++ b/Assets/Scenes/GameScene.unity @@ -2245,7 +2245,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1fc36d0808cf971459d9e430faaeadd9, type: 3} m_Name: m_EditorClassIdentifier: - MaxSpawned: 200 + MaxSpawned: 2000 MinSpawnTime: 0 MaxSpawnTime: 0.2 FruitSpawnParent: {fileID: 1944344878} diff --git a/Assets/Scripts/Game/Buildings/Automation/PresserBuilding.cs b/Assets/Scripts/Game/Buildings/Automation/PresserBuilding.cs new file mode 100644 index 0000000..1853bce --- /dev/null +++ b/Assets/Scripts/Game/Buildings/Automation/PresserBuilding.cs @@ -0,0 +1,47 @@ +using Fruitomation.Global; +using JetBrains.Annotations; +using UnityEngine; +using UnityEngine.Scripting; + +namespace Fruitomation.Game +{ + public class PresserBuilding : Building + { + [Header("Presser Specific Buildings")] + [SerializeField] private Animator PresserAnimator; + [SerializeField] private Collider2D TopCollider; + [SerializeField] private Collider2D BottomCollider; + + private void Update() + { + if (GameStateController.Is(GameState.Simulation)) + { + if (PresserAnimator.speed == 0) + { + PresserAnimator.Play(0, 0, 0f); // Play from beginning + PresserAnimator.speed = 0.2f; // Playing + } + } + + else + { + if (PresserAnimator.speed != 0) + { + PresserAnimator.Play(0, 0, 0f); // Jump back to default frame + PresserAnimator.speed = 0; // Paused + } + } + } + + [Preserve, UsedImplicitly] public void OpenTop() => TopCollider.enabled = false; + [Preserve, UsedImplicitly] public void CloseTop() => TopCollider.enabled = true; + + [Preserve, UsedImplicitly] public void OpenBottom() => BottomCollider.enabled = false; + [Preserve, UsedImplicitly] public void CloseBottom() => BottomCollider.enabled = true; + + [Preserve, UsedImplicitly] public void Press() + { + Debug.Log("Presser Press"); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Game/Buildings/Automation/PresserBuilding.cs.meta b/Assets/Scripts/Game/Buildings/Automation/PresserBuilding.cs.meta new file mode 100644 index 0000000..0015664 --- /dev/null +++ b/Assets/Scripts/Game/Buildings/Automation/PresserBuilding.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d659f7c16bac4928bd36a1ef9867671c +timeCreated: 1776804258 \ No newline at end of file