From 5da8aec8ab52a12bda5b87ce5b7996b8c4f7097c Mon Sep 17 00:00:00 2001 From: Patryk Lesiak Date: Sun, 11 Feb 2024 14:53:50 +0100 Subject: [PATCH] Basic Item with new scripts and changes to Movables system (#10) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Basic barrel storage system. * Automatic layer set for tools * You can no longer place two items in the same placeholder * Draggables cam be thrown --------- Co-authored-by: Bartosz Wójcik --- Assets/Art/Sprites/Items.meta | 8 + .../Art/Sprites/Items/slod-jeczmienny_100.png | Bin 0 -> 9064 bytes .../Items/slod-jeczmienny_100.png.meta | 127 +++ .../{DummyItem.asset => DummyItem 1.asset} | 2 +- Assets/Resources/Items/DummyItem 1.asset.meta | 8 + Assets/Resources/Items/Ingredients.meta | 8 + .../Items/Ingredients/Barley Malt.asset | 19 + .../Barley Malt.asset.meta} | 0 Assets/Scenes/Crafting.unity | 927 ++++++++++-------- Assets/Scripts/Dorm/Items.meta | 8 + Assets/Scripts/Dorm/Items/Item.cs | 14 + Assets/Scripts/Dorm/Items/Item.cs.meta | 11 + .../Dorm/Movables/ConstrainedDraggable.cs | 10 +- Assets/Scripts/Dorm/Movables/Draggable.cs | 11 +- Assets/Scripts/Dorm/Movables/Placeholder.cs | 26 + .../Scripts/Dorm/Movables/Placeholder.cs.meta | 11 + .../Scripts/Dorm/Movables/PlaceholderType.cs | 22 +- .../Dorm/Movables/PlaceholderType.cs.meta | 14 +- Assets/Scripts/Dorm/Tools.meta | 8 + Assets/Scripts/Dorm/Tools/Barrel.cs | 30 + Assets/Scripts/Dorm/Tools/Barrel.cs.meta | 11 + Assets/Scripts/Dorm/Tools/Tool.cs | 11 + Assets/Scripts/Dorm/Tools/Tool.cs.meta | 3 + .../Scripts/Settings/AppSettingsDefinition.cs | 6 +- .../Settings/DormSettingsDefinition.cs | 8 +- Assets/Settings/DormSettings.asset | 1 + ProjectSettings/Physics2DSettings.asset | 2 +- ProjectSettings/TagManager.asset | 3 + ProjectSettings/TimelineSettings.asset | 16 + 29 files changed, 877 insertions(+), 448 deletions(-) create mode 100644 Assets/Art/Sprites/Items.meta create mode 100644 Assets/Art/Sprites/Items/slod-jeczmienny_100.png create mode 100644 Assets/Art/Sprites/Items/slod-jeczmienny_100.png.meta rename Assets/Resources/Items/{DummyItem.asset => DummyItem 1.asset} (96%) create mode 100644 Assets/Resources/Items/DummyItem 1.asset.meta create mode 100644 Assets/Resources/Items/Ingredients.meta create mode 100644 Assets/Resources/Items/Ingredients/Barley Malt.asset rename Assets/Resources/Items/{DummyItem.asset.meta => Ingredients/Barley Malt.asset.meta} (100%) create mode 100644 Assets/Scripts/Dorm/Items.meta create mode 100644 Assets/Scripts/Dorm/Items/Item.cs create mode 100644 Assets/Scripts/Dorm/Items/Item.cs.meta create mode 100644 Assets/Scripts/Dorm/Movables/Placeholder.cs create mode 100644 Assets/Scripts/Dorm/Movables/Placeholder.cs.meta create mode 100644 Assets/Scripts/Dorm/Tools.meta create mode 100644 Assets/Scripts/Dorm/Tools/Barrel.cs create mode 100644 Assets/Scripts/Dorm/Tools/Barrel.cs.meta create mode 100644 Assets/Scripts/Dorm/Tools/Tool.cs create mode 100644 Assets/Scripts/Dorm/Tools/Tool.cs.meta create mode 100644 ProjectSettings/TimelineSettings.asset diff --git a/Assets/Art/Sprites/Items.meta b/Assets/Art/Sprites/Items.meta new file mode 100644 index 0000000..91f7a9b --- /dev/null +++ b/Assets/Art/Sprites/Items.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e42dc5e0c5f0ce4eb8a546fdb41ced6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Sprites/Items/slod-jeczmienny_100.png b/Assets/Art/Sprites/Items/slod-jeczmienny_100.png new file mode 100644 index 0000000000000000000000000000000000000000..ae31dca7fa7e00def869fa41845be2316bf71aa5 GIT binary patch literal 9064 zcmV-uBbVHXP)Z z36x}Kb>8>ht9|L}y=T?z(u`�U8OkvmQ$rM~WdR1Z1!wU_^jm9AUE9NI8k|2`KU= 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 StartCoroutine(LerpToPosition(CInput.DormMouseWorldPosition, _startPos)); return; } @@ -66,11 +68,17 @@ public void OnTriggerExit2D(Collider2D other) { } private void SetPlaceholder(Placeholder placeholder) { + placeholders[_currentPlaceholderIndex].GetComponent().RemoveTool(); + placeholder.SetTool(gameObject); _currentPlaceholderIndex = (ushort) Array.IndexOf(placeholders, placeholder.gameObject); StartCoroutine(LerpToPosition(transform.position, CalculatePlacementPosition(placeholder))); onPlaceholderChanged.Invoke(placeholder); } + private bool IsPlaceholderFree(Placeholder placeholder) { + return placeholder.IsFree(); + } + private Vector2 CalculatePlacementPosition(Placeholder placeholder) { return placeholder.transform.position; } diff --git a/Assets/Scripts/Dorm/Movables/Draggable.cs b/Assets/Scripts/Dorm/Movables/Draggable.cs index 2719828..3e6d3ec 100644 --- a/Assets/Scripts/Dorm/Movables/Draggable.cs +++ b/Assets/Scripts/Dorm/Movables/Draggable.cs @@ -33,7 +33,7 @@ private void OnMouseDrag() { private void OnMouseUp() { if (_currentInteractable == null) { - gameObject.layer = LayerMask.NameToLayer(DefaultLayer); + FreeMovement(); return; } @@ -41,7 +41,7 @@ private void OnMouseUp() { Destroy(gameObject); } else { - gameObject.layer = LayerMask.NameToLayer(DefaultLayer); + FreeMovement(); } } @@ -65,5 +65,12 @@ public void OnTriggerExit2D(Collider2D other) { _currentInteractable = null; } } + + private void FreeMovement() { + gameObject.layer = LayerMask.NameToLayer(DefaultLayer); + _rigid.velocity = + ((Vector3)CInput.DormMouseWorldPosition - transform.position) + * DevSet.I.dormSettings.draggableThrowForce; + } } } \ No newline at end of file diff --git a/Assets/Scripts/Dorm/Movables/Placeholder.cs b/Assets/Scripts/Dorm/Movables/Placeholder.cs new file mode 100644 index 0000000..76b939e --- /dev/null +++ b/Assets/Scripts/Dorm/Movables/Placeholder.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using CoinPackage.Debugging; +using Dorm.Tools; +using UnityEngine; + +namespace Dorm.Movables { + public class Placeholder : MonoBehaviour { + public PlaceholderType type; + public GameObject tool; + + public bool IsFree() { + return !tool; + } + + public void SetTool(GameObject toolToSet) { + tool = toolToSet; + } + + public void RemoveTool() { + tool = null; + } + } +} + + diff --git a/Assets/Scripts/Dorm/Movables/Placeholder.cs.meta b/Assets/Scripts/Dorm/Movables/Placeholder.cs.meta new file mode 100644 index 0000000..0ea011e --- /dev/null +++ b/Assets/Scripts/Dorm/Movables/Placeholder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5d064d43e23f9c7438ddb135bcc3731b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Dorm/Movables/PlaceholderType.cs b/Assets/Scripts/Dorm/Movables/PlaceholderType.cs index 56149da..7cfee2b 100644 --- a/Assets/Scripts/Dorm/Movables/PlaceholderType.cs +++ b/Assets/Scripts/Dorm/Movables/PlaceholderType.cs @@ -1,17 +1,7 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace Dorm.Movables { - public class Placeholder : MonoBehaviour { - public enum PlaceholderType - { - Usable, - NotUsable - } - - public PlaceholderType type; +namespace Dorm.Movables { + public enum PlaceholderType + { + Usable, + NotUsable } -} - - +} \ No newline at end of file diff --git a/Assets/Scripts/Dorm/Movables/PlaceholderType.cs.meta b/Assets/Scripts/Dorm/Movables/PlaceholderType.cs.meta index 0ea011e..ee958d2 100644 --- a/Assets/Scripts/Dorm/Movables/PlaceholderType.cs.meta +++ b/Assets/Scripts/Dorm/Movables/PlaceholderType.cs.meta @@ -1,11 +1,3 @@ -fileFormatVersion: 2 -guid: 5d064d43e23f9c7438ddb135bcc3731b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: +fileFormatVersion: 2 +guid: df017d03026b48cabde8f0fe7dabe00b +timeCreated: 1707572478 \ No newline at end of file diff --git a/Assets/Scripts/Dorm/Tools.meta b/Assets/Scripts/Dorm/Tools.meta new file mode 100644 index 0000000..6ece9d1 --- /dev/null +++ b/Assets/Scripts/Dorm/Tools.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c2396129f10556048ab4fa4b1900f716 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Dorm/Tools/Barrel.cs b/Assets/Scripts/Dorm/Tools/Barrel.cs new file mode 100644 index 0000000..5c656e4 --- /dev/null +++ b/Assets/Scripts/Dorm/Tools/Barrel.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using CoinPackage.Debugging; +using Dorm.Items; +using Dorm.Movables; +using Items; +using UnityEngine; + +namespace Dorm.Tools { + public class Barrel : Tool, IDragInteractable { + public Dictionary ingredients = new Dictionary(); + + public void EnteredPossibleDragInteraction(GameObject sourceObject) { + return; + } + + public void LeftPossibleDragInteraction(GameObject sourceObject) { + return; + } + + public bool DragInteraction(GameObject sourceObject) { + var item = sourceObject.GetComponent(); + if (item != null) { + ingredients.Add(item.ItemDefinition, 1); + return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Dorm/Tools/Barrel.cs.meta b/Assets/Scripts/Dorm/Tools/Barrel.cs.meta new file mode 100644 index 0000000..08b2bcc --- /dev/null +++ b/Assets/Scripts/Dorm/Tools/Barrel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b3e3f44e1a52403489227fd890970630 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Dorm/Tools/Tool.cs b/Assets/Scripts/Dorm/Tools/Tool.cs new file mode 100644 index 0000000..943b3d7 --- /dev/null +++ b/Assets/Scripts/Dorm/Tools/Tool.cs @@ -0,0 +1,11 @@ +using System; +using UnityEngine; + +namespace Dorm.Tools { + public class Tool : MonoBehaviour { + private const string ToolLayerName = "DragInteractable"; + protected void Awake() { + gameObject.layer = LayerMask.NameToLayer(ToolLayerName); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Dorm/Tools/Tool.cs.meta b/Assets/Scripts/Dorm/Tools/Tool.cs.meta new file mode 100644 index 0000000..6e799c3 --- /dev/null +++ b/Assets/Scripts/Dorm/Tools/Tool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fc03fd06b2aa4c8688ccd1006ddcc030 +timeCreated: 1707532071 \ No newline at end of file diff --git a/Assets/Scripts/Settings/AppSettingsDefinition.cs b/Assets/Scripts/Settings/AppSettingsDefinition.cs index e907d89..e09a3cd 100644 --- a/Assets/Scripts/Settings/AppSettingsDefinition.cs +++ b/Assets/Scripts/Settings/AppSettingsDefinition.cs @@ -4,13 +4,13 @@ namespace Settings { [CreateAssetMenu(menuName = "Settings/AppSettings", fileName = "AppSettings")] public class AppSettingsDefinition : ScriptableObject { [Header("Scene names")] - [Tooltip("Scene to load after loading game")] + [Tooltip("Scene to load after loading game.")] public string firstSceneName = "MainMenu"; - [Tooltip("Main menu scene")] + [Tooltip("Main menu scene.")] public string mainMenuSceneName = "MainMenu"; - [Tooltip("Game manager scene name")] + [Tooltip("Game manager scene name.")] public string gameManagerSceneName = "Game"; [Tooltip("Scene with player's 'house', where mixing and selling takes place.")] diff --git a/Assets/Scripts/Settings/DormSettingsDefinition.cs b/Assets/Scripts/Settings/DormSettingsDefinition.cs index 7ef80ec..0aa79d8 100644 --- a/Assets/Scripts/Settings/DormSettingsDefinition.cs +++ b/Assets/Scripts/Settings/DormSettingsDefinition.cs @@ -5,9 +5,13 @@ namespace Settings [CreateAssetMenu(menuName = "Settings/DormSettings", fileName = "DormSettings")] public class DormSettingsDefinition : ScriptableObject { [Header("Draggables")] - [Range(0.02f, 0.4f)] + [Range(0.02f, 0.4f)] [Tooltip("How fast constrained draggables move to their placeholders.")] public float draggablesMoveSpeed = 0.1f; - [Range(0.01f, 1f)] + + [Range(1f, 20f)] [Tooltip("Velocity multiplier when draggable is thrown.")] + public float draggableThrowForce = 10f; + + [Range(0.01f, 1f)] [Tooltip("How fast draggables follow mouse when dragged.")] public float draggableMouseFollowSpeed = 0.5f; } } \ No newline at end of file diff --git a/Assets/Settings/DormSettings.asset b/Assets/Settings/DormSettings.asset index fdc2d8c..d87cec1 100644 --- a/Assets/Settings/DormSettings.asset +++ b/Assets/Settings/DormSettings.asset @@ -13,4 +13,5 @@ MonoBehaviour: m_Name: DormSettings m_EditorClassIdentifier: draggablesMoveSpeed: 0.1 + draggableThrowForce: 7.2 draggableMouseFollowSpeed: 0.3 diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset index 34a4caf..3ec43c9 100644 --- a/ProjectSettings/Physics2DSettings.asset +++ b/ProjectSettings/Physics2DSettings.asset @@ -4,7 +4,7 @@ Physics2DSettings: m_ObjectHideFlags: 0 serializedVersion: 6 - m_Gravity: {x: 0, y: -9.81} + m_Gravity: {x: 0, y: -19.62} m_DefaultMaterial: {fileID: 0} m_VelocityIterations: 8 m_PositionIterations: 3 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index e4a9ca6..099776a 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -47,3 +47,6 @@ TagManager: - name: UI uniqueID: 3064764917 locked: 0 + - name: DormItems + uniqueID: 303882575 + locked: 0 diff --git a/ProjectSettings/TimelineSettings.asset b/ProjectSettings/TimelineSettings.asset new file mode 100644 index 0000000..b21943a --- /dev/null +++ b/ProjectSettings/TimelineSettings.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 53 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3} + m_Name: + m_EditorClassIdentifier: + assetDefaultFramerate: 60 + m_DefaultFrameRate: 60