From ce1f6ed389baab96e300f6f7e0a8607ba9deb3da Mon Sep 17 00:00:00 2001 From: d-hain Date: Thu, 2 Jun 2022 00:08:37 +0200 Subject: [PATCH] added cost amount to items added Shop UI added Shop.cs * you now can buy items and you lose the cost when bought * shop is scrollable added comments in Inventory.cs, InventorySlot.cs, InventoryUI.cs now showing description when hovering over items in shop or inventory --- Assets/Icons/description-hover-background.png | Bin 0 -> 121 bytes .../description-hover-background.png.meta | 122 + Assets/Icons/scrollbar-background.png | Bin 0 -> 121 bytes Assets/Icons/scrollbar-background.png.meta | 122 + Assets/Icons/scrollbar.png | Bin 0 -> 191 bytes Assets/Icons/scrollbar.png.meta | 122 + Assets/InventorySlot.prefab | 140 +- Assets/Items/Usable/Hoe.asset | 1 + Assets/Items/Usable/Scythe.asset | 1 + Assets/Items/Usable/WateringCan.asset | 1 + Assets/Items/Usable/WheatSeed.asset | 11 +- Assets/Scenes/MainScene.unity | 3135 ++++++++++++++++- Assets/Scripts/HoverManager.cs | 48 + Assets/Scripts/HoverManager.cs.meta | 11 + Assets/Scripts/IUsable.cs | 2 +- Assets/Scripts/Inventory.cs | 19 +- Assets/Scripts/InventorySlot.cs | 64 +- Assets/Scripts/InventoryUI.cs | 23 +- Assets/Scripts/PlayerController.cs | 13 +- Assets/Scripts/Shop.cs | 60 + Assets/Scripts/Shop.cs.meta | 11 + Assets/Scripts/ShopSlot.cs | 93 + Assets/Scripts/ShopSlot.cs.meta | 11 + Assets/Scripts/ShopUI.cs | 57 + Assets/Scripts/ShopUI.cs.meta | 11 + Assets/Scripts/UsableItem.cs | 10 +- Assets/ShopSlot.prefab | 666 ++++ Assets/ShopSlot.prefab.meta | 7 + Packages/packages-lock.json | 13 +- ProjectSettings/InputManager.asset | 16 + 30 files changed, 4726 insertions(+), 64 deletions(-) create mode 100644 Assets/Icons/description-hover-background.png create mode 100644 Assets/Icons/description-hover-background.png.meta create mode 100644 Assets/Icons/scrollbar-background.png create mode 100644 Assets/Icons/scrollbar-background.png.meta create mode 100644 Assets/Icons/scrollbar.png create mode 100644 Assets/Icons/scrollbar.png.meta create mode 100644 Assets/Scripts/HoverManager.cs create mode 100644 Assets/Scripts/HoverManager.cs.meta create mode 100644 Assets/Scripts/Shop.cs create mode 100644 Assets/Scripts/Shop.cs.meta create mode 100644 Assets/Scripts/ShopSlot.cs create mode 100644 Assets/Scripts/ShopSlot.cs.meta create mode 100644 Assets/Scripts/ShopUI.cs create mode 100644 Assets/Scripts/ShopUI.cs.meta create mode 100644 Assets/ShopSlot.prefab create mode 100644 Assets/ShopSlot.prefab.meta diff --git a/Assets/Icons/description-hover-background.png b/Assets/Icons/description-hover-background.png new file mode 100644 index 0000000000000000000000000000000000000000..662d7940db2c274ca52f2b9685423fcfa1e36aa5 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U@-P{ zaSVxQeS6N4k->oD$cE%u&kDE#O;SF1@|s+I|4*mP>^TD}@HD!}&UC!(#K{U@-P{ zaSVxQeS6N4k->oD$cE&5&oXBjSf+gNeU|;AynyGSjlD2b4oW;-0R4 JF6*2Ung9*tAe8_B literal 0 HcmV?d00001 diff --git a/Assets/Icons/scrollbar-background.png.meta b/Assets/Icons/scrollbar-background.png.meta new file mode 100644 index 0000000..183291b --- /dev/null +++ b/Assets/Icons/scrollbar-background.png.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: 41710c2027235714a9c514dd4ee4532e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 4, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 1537655665 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Icons/scrollbar.png b/Assets/Icons/scrollbar.png new file mode 100644 index 0000000000000000000000000000000000000000..c931b6c35bc86e1c6c8a7fba067ed522fb7ebde6 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V5szT zaSVxQO@70_`QLeihK5W9U3n3{goEmuYmc~!de6J}+ie!}id4g0l{aLX1X-_an=|1i z^E|cy83*tCk2fV3v>sT&>?UjQsv(fQ$133p<6=IEQigrkw6`+sl5N&zk&wuc=DKm_ r*e(4AO_>dSoQ6^>S=r*H7ML?IEZ37&_%Oi` onMouseHover; + public static Action onMouseExit; + + private void OnEnable() { + onMouseHover += ShowDescription; + onMouseExit += HideDescription; + } + + private void OnDisable() { + onMouseHover -= ShowDescription; + onMouseExit -= HideDescription; + } + + private void Start() { + HideDescription(); + } + + /** + * Show the description Text at the mouse position + */ + private void ShowDescription(string description, Vector2 mousePos) { + descriptionText.text = description; + descriptionHoverBackground.sizeDelta = + new Vector2(descriptionText.preferredWidth > 200 ? 200 : descriptionText.preferredWidth, + descriptionText.preferredHeight); + + descriptionHoverBackground.gameObject.SetActive(true); + float descBgX = descriptionHoverBackground.sizeDelta.x; + descriptionHoverBackground.transform.position = + new Vector2(mousePos.x + (descBgX / 2) + (descBgX / 16), mousePos.y); + } + + /** + * Hide the description Text + */ + private void HideDescription() { + descriptionText.text = default; + descriptionHoverBackground.gameObject.SetActive(false); + } +} \ No newline at end of file diff --git a/Assets/Scripts/HoverManager.cs.meta b/Assets/Scripts/HoverManager.cs.meta new file mode 100644 index 0000000..0431182 --- /dev/null +++ b/Assets/Scripts/HoverManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cc03ecff3c94867408bc3475337a6b03 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/IUsable.cs b/Assets/Scripts/IUsable.cs index 6a7b849..52a2817 100644 --- a/Assets/Scripts/IUsable.cs +++ b/Assets/Scripts/IUsable.cs @@ -1,5 +1,5 @@ using UnityEngine; public interface IUsable { - public void select(); + public void Select(); } diff --git a/Assets/Scripts/Inventory.cs b/Assets/Scripts/Inventory.cs index 2f5fe23..4e9250e 100644 --- a/Assets/Scripts/Inventory.cs +++ b/Assets/Scripts/Inventory.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -20,8 +18,11 @@ public class Inventory : MonoBehaviour { public Dictionary items; public Item[] startItems; - public const int inventorySpace = 28; + public const int InventorySpace = 28; + /** + * Methods can be added to this and they will get called every time onItemChangedCallback gets Invoked + */ public delegate void OnItemChanged(); public OnItemChanged onItemChangedCallback; @@ -32,8 +33,11 @@ public class Inventory : MonoBehaviour { } } + /** + * Adds the specified amount of items to the Inventory + */ public void AddItem(Item item, int amount) { - if(items.Count >= inventorySpace) { + if(items.Count >= InventorySpace) { Debug.Log("Not enough inventory space!"); return; } @@ -46,12 +50,15 @@ public class Inventory : MonoBehaviour { onItemChangedCallback?.Invoke(); } - + + /** + * Removes the specified amount of items in the Inventory + */ public void RemoveItem(Item item, int amount) { if(items[item] <= 0) { items.Remove(item); } else { - items.Add(item, -amount); + items[item] -= amount; } onItemChangedCallback?.Invoke(); diff --git a/Assets/Scripts/InventorySlot.cs b/Assets/Scripts/InventorySlot.cs index c45c14e..d9a14ae 100644 --- a/Assets/Scripts/InventorySlot.cs +++ b/Assets/Scripts/InventorySlot.cs @@ -1,16 +1,47 @@ using System; +using System.Collections; +using TMPro; using UnityEngine; -using UnityEngine.PlayerLoop; +using UnityEngine.EventSystems; using UnityEngine.UI; -public class InventorySlot : MonoBehaviour { +public class InventorySlot : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { public Image icon; - private Item _item; + public TextMeshProUGUI amountText; - private void Start() { - Physics.queriesHitTriggers = true; + public Item _item; + + #region DescriptionHover + + public float timeToWait; + + public void OnPointerEnter(PointerEventData eventData) { + StopAllCoroutines(); + StartCoroutine(StartTimer()); } + public void OnPointerExit(PointerEventData eventData) { + StopAllCoroutines(); + HoverManager.onMouseExit(); + } + + private void ShowMessage() { + if(_item){ + HoverManager.onMouseHover(_item.description, Input.mousePosition); + } + } + + private IEnumerator StartTimer() { + yield return new WaitForSeconds(timeToWait); + + ShowMessage(); + } + + #endregion + + /** + * Sets the Item of the Inventory Slot + */ public void AddItem(Item newItem) { _item = newItem; @@ -18,33 +49,24 @@ public class InventorySlot : MonoBehaviour { icon.enabled = true; } + /** + * Clears the Inventory Slot + */ public void ClearSlot() { _item = null; icon.sprite = null; icon.enabled = false; } - public void RemoveItem() { - Inventory.instance.items.Remove(_item); - } - + /** + * Gets called when the Inventory Slot is clicked + */ public void UseItem() { if(_item.GetType() == typeof(UsableItem)) { - ((UsableItem) _item).select(); + ((UsableItem) _item).Select(); Debug.Log("using " + _item.displayName); } else { Debug.Log("Item not usable " + _item.displayName); } - - } - - public void OnMouseOver() { - icon.sprite = _item.selectedSprite; - Debug.Log("Mouse Over Slot"); - } -//TODO: OnMouse Methods not working :'( - public void OnMouseExit() { - icon.sprite = _item.defaultSprite; - Debug.Log("Mouse Exit Slot"); } } \ No newline at end of file diff --git a/Assets/Scripts/InventoryUI.cs b/Assets/Scripts/InventoryUI.cs index 0608bd9..66f2f54 100644 --- a/Assets/Scripts/InventoryUI.cs +++ b/Assets/Scripts/InventoryUI.cs @@ -1,3 +1,4 @@ +using System; using System.Linq; using UnityEngine; @@ -7,30 +8,44 @@ public class InventoryUI : MonoBehaviour { private Inventory _inventory; private InventorySlot[] _slots; - // Start is called before the first frame update - void Start() { + private void Start() { + // Get Inventory instance and add UpdateUI method to OnItemChanged delegate _inventory = Inventory.instance; _inventory.onItemChangedCallback += UpdateUI; + // Add all InventorySlot GameObjects to _slots and turn off the Inventory UI _slots = itemsParent.GetComponentsInChildren(); ToggleInventory(); + + // Set the icon to not be a raycast target for the Description Hovering to work + foreach(InventorySlot slot in _slots) { + slot.icon.raycastTarget = false; + } } - // Update is called once per frame - void Update() { + private void Update() { + // When "Inventory" button is pressed turn on/off Inventory UI if(Input.GetButtonDown("Inventory")) { ToggleInventory(); } } + /** + * Turn on/off the Inventory UI + */ private void ToggleInventory() { inventoryUI.SetActive(!inventoryUI.activeSelf); } + /** + * Is called when something in the Inventory UI should update + */ private void UpdateUI() { + // Add all items to the correct slots and clear the ones where no item should be for(int i = 0; i < _slots.Length; i++) { if(i < _inventory.items.Count) { _slots[i].AddItem(_inventory.items.ElementAt(i).Key); + _slots[i].amountText.text = "" + _inventory.items[_inventory.items.ElementAt(i).Key]; } else { _slots[i].ClearSlot(); } diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 602cdf3..9cf4716 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -21,23 +21,20 @@ public class PlayerController : MonoBehaviour { #endregion private Inventory _inventory; - private int money; - private UsableItem selectedItem; + public int money; + private UsableItem _selectedItem; public int startMoney = 100; // Start is called before the first frame update - void Start() { + private void Start() { money = startMoney; _inventory = Inventory.instance; } - // Update is called once per frame - void Update() { } - public void SetSelectedItem(UsableItem item) { if(_inventory.items.ContainsKey(item)) { - selectedItem = item; + _selectedItem = item; Cursor.SetCursor(item.selectedSprite.texture, Vector2.zero, CursorMode.Auto); } else { Debug.Log("An item requested to select isn't in the inventory" + item); @@ -45,6 +42,6 @@ public class PlayerController : MonoBehaviour { } public UsableItem GetSelectedItem() { - return selectedItem; + return _selectedItem; } } \ No newline at end of file diff --git a/Assets/Scripts/Shop.cs b/Assets/Scripts/Shop.cs new file mode 100644 index 0000000..32c2ef1 --- /dev/null +++ b/Assets/Scripts/Shop.cs @@ -0,0 +1,60 @@ +using System.Collections.Generic; +using UnityEngine; + +public class Shop : MonoBehaviour { + #region Singleton + + public static Shop instance; + + private void Awake() { + if(instance != null) { + Debug.LogWarning("More than one instance of Shop found"); + } + + instance = this; + } + + #endregion + + public Dictionary items; + public Item[] tempItems; + + /** + * Methods can be added to this and they will get called every time onItemChangedCallback gets Invoked + */ + public delegate void OnItemChanged(); + public OnItemChanged onItemChangedCallback; + + private void Start() { + items ??= new Dictionary(); + foreach(Item item in tempItems) { + AddItem(item, 1); + } + } + + /** + * Adds the specified amount of items to the Shop + */ + public void AddItem(Item item, int amount) { + if(!items.ContainsKey(item)) { + items.Add(item, amount); + } else { + items[item] += amount; + } + + onItemChangedCallback?.Invoke(); + } + // TODO: add to buy more than one item + /** + * Removes the specified amount of items in the Shop + */ + public void RemoveItem(Item item, int amount) { + if(items[item] <= 0) { + items.Remove(item); + } else { + items[item] -= amount; + } + + onItemChangedCallback?.Invoke(); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Shop.cs.meta b/Assets/Scripts/Shop.cs.meta new file mode 100644 index 0000000..9f33904 --- /dev/null +++ b/Assets/Scripts/Shop.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bc5eb8967b8912c42b93a2086383ddd9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ShopSlot.cs b/Assets/Scripts/ShopSlot.cs new file mode 100644 index 0000000..7679618 --- /dev/null +++ b/Assets/Scripts/ShopSlot.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections; +using TMPro; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +public class ShopSlot : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { + public Image icon; + public Item item; + public TextMeshProUGUI nameText; + public TextMeshProUGUI costText; + public TextMeshProUGUI amountText; + + private Shop _shop; + private Inventory _inventory; + private PlayerController _playerController; + + #region DescriptionHover + + public float timeToWait; + + public void OnPointerEnter(PointerEventData eventData) { + StopAllCoroutines(); + StartCoroutine(StartTimer()); + } + + public void OnPointerExit(PointerEventData eventData) { + StopAllCoroutines(); + HoverManager.onMouseExit(); + } + + private void ShowMessage() { + if(item) { + HoverManager.onMouseHover(item.description, Input.mousePosition); + } + } + + private IEnumerator StartTimer() { + yield return new WaitForSeconds(timeToWait); + + ShowMessage(); + } + + #endregion + + private void Start() { + _shop = Shop.instance; + _inventory = Inventory.instance; + _playerController = PlayerController.instance; + } + + /** + * Sets the Item of the Shop Slot + */ + public void AddItem(Item newItem) { + item = newItem; + + icon.sprite = item.defaultSprite; + icon.enabled = true; + } + + /** + * Clears the Shop Slot + */ + public void ClearSlot() { + item = null; + icon.sprite = null; + icon.enabled = false; + nameText.text = ""; + costText.text = ""; + amountText.text = ""; + } + + /** + * Gets called when the Shop Slot is clicked + */ + public void UseItem() { + if(_playerController.money >= item.cost) { + _inventory.AddItem(item, 1); + _shop.RemoveItem(item, 1); + _playerController.money -= item.cost; + + Debug.Log("Buying Item: " + item.displayName); + Debug.Log("money left: " + _playerController.money); + } else { + Debug.Log("Not enough money to buy item."); + } + + _shop.onItemChangedCallback?.Invoke(); + _inventory.onItemChangedCallback?.Invoke(); + } +} \ No newline at end of file diff --git a/Assets/Scripts/ShopSlot.cs.meta b/Assets/Scripts/ShopSlot.cs.meta new file mode 100644 index 0000000..ee1dfdf --- /dev/null +++ b/Assets/Scripts/ShopSlot.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3e6f808bd381a554eb64a7e84f997f45 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ShopUI.cs b/Assets/Scripts/ShopUI.cs new file mode 100644 index 0000000..00d7c2f --- /dev/null +++ b/Assets/Scripts/ShopUI.cs @@ -0,0 +1,57 @@ +using System.Linq; +using UnityEngine; + +public class ShopUI : MonoBehaviour { + public Transform itemsParent; + public GameObject shopUI; + private Shop _shop; + private ShopSlot[] _slots; + + private void Start() { + // Get Shop instance and add UpdateUI method to OnItemChanged delegate + _shop = Shop.instance; + _shop.onItemChangedCallback += UpdateUI; + + // Add all ShopSlot GameObjects to _slots and turn off the Shop UI + _slots = itemsParent.GetComponentsInChildren(); + ToggleShop(); + + // Set the icon to not be a raycast target for the Description Hovering to work + foreach(ShopSlot slot in _slots) { + slot.icon.raycastTarget = false; + } + + UpdateUI(); + } + + private void Update() { + // When "Shop" button is pressed turn on/off Shop UI + if(Input.GetButtonDown("Shop")) { + ToggleShop(); + } + } + + /** + * Turn on/off the Shop UI + */ + private void ToggleShop() { + shopUI.SetActive(!shopUI.activeSelf); + } + + /** + * Is called when something in the Shop UI should update + */ + private void UpdateUI() { + // Add all items to the correct slots and clear the ones where no item should be + for(int i = 0; i < _slots.Length; i++) { + if(i < _shop.items.Count) { + _slots[i].AddItem(_shop.items.ElementAt(i).Key); + _slots[i].nameText.text = _slots[i].item.displayName; + _slots[i].costText.text = _slots[i].item.cost + " €"; + _slots[i].amountText.text = _shop.items[_shop.items.ElementAt(i).Key] + " #"; + } else { + _slots[i].ClearSlot(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/ShopUI.cs.meta b/Assets/Scripts/ShopUI.cs.meta new file mode 100644 index 0000000..aebb095 --- /dev/null +++ b/Assets/Scripts/ShopUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 61c489f20d0ead245902b7e9d7984c7f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UsableItem.cs b/Assets/Scripts/UsableItem.cs index 9af8526..298f373 100644 --- a/Assets/Scripts/UsableItem.cs +++ b/Assets/Scripts/UsableItem.cs @@ -4,18 +4,10 @@ using UnityEngine; [CreateAssetMenu(fileName = "New UsableItem", menuName = "Inventory/UsableItem")] public class UsableItem : Item, IUsable { - // Start is called before the first frame update - void Start() { - } - - // Update is called once per frame - void Update() { - } - public UsableItem(string displayName, string description, int id) : base(displayName, description, id) { } - public void select() { + public void Select() { PlayerController.instance.SetSelectedItem(this); } } \ No newline at end of file diff --git a/Assets/ShopSlot.prefab b/Assets/ShopSlot.prefab new file mode 100644 index 0000000..cde36d3 --- /dev/null +++ b/Assets/ShopSlot.prefab @@ -0,0 +1,666 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5121261191727116857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5121261191727116854} + - component: {fileID: 5121261191727116852} + - component: {fileID: 5121261191727116855} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5121261191727116854 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261191727116857} + 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: 5121261193055935940} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 40, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5121261191727116852 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261191727116857} + m_CullTransparentMesh: 1 +--- !u!114 &5121261191727116855 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261191727116857} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 0} + 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!1 &5121261192300927451 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5121261192300927448} + - component: {fileID: 5121261192300927446} + - component: {fileID: 5121261192300927449} + m_Layer: 5 + m_Name: Item Cost + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5121261192300927448 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192300927451} + 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: 5121261193055935940} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 111.99999, y: -56} + m_SizeDelta: {x: 60, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5121261192300927446 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192300927451} + m_CullTransparentMesh: 1 +--- !u!114 &5121261192300927449 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192300927451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + 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!1 &5121261192606669394 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5121261192606669395} + - component: {fileID: 5121261192606669393} + - component: {fileID: 5121261192606669392} + m_Layer: 5 + m_Name: Item Amount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5121261192606669395 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192606669394} + 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: 5121261193055935940} + m_RootOrder: 3 + 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: 62, y: -16} + m_SizeDelta: {x: 60, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5121261192606669393 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192606669394} + m_CullTransparentMesh: 1 +--- !u!114 &5121261192606669392 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192606669394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + 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!1 &5121261192692990486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5121261192692990487} + - component: {fileID: 5121261192692990485} + - component: {fileID: 5121261192692990484} + m_Layer: 5 + m_Name: Item Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5121261192692990487 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192692990486} + 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: 5121261193055935940} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 142, y: -24} + m_SizeDelta: {x: 120, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5121261192692990485 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192692990486} + m_CullTransparentMesh: 1 +--- !u!114 &5121261192692990484 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261192692990486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + 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: 1 + 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!1 &5121261193055935943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5121261193055935940} + - component: {fileID: 5121261193055935937} + - component: {fileID: 5121261193055935936} + - component: {fileID: 5121261193055935939} + - component: {fileID: 5121261193055935938} + - component: {fileID: 5121261193055935941} + m_Layer: 5 + m_Name: ShopSlot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5121261193055935940 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261193055935943} + 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: + - {fileID: 5121261191727116854} + - {fileID: 5121261192692990487} + - {fileID: 5121261192300927448} + - {fileID: 5121261192606669395} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5121261193055935937 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261193055935943} + m_CullTransparentMesh: 1 +--- !u!114 &5121261193055935936 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261193055935943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 21300000, guid: 349d3f5d7a4156146b8e923d5c06314d, type: 3} + m_Type: 1 + 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 &5121261193055935939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261193055935943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: 5121261193055935936} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 5121261193055935938} + m_TargetAssemblyTypeName: ShopSlot, Assembly-CSharp + m_MethodName: UseItem + 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!114 &5121261193055935938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261193055935943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3e6f808bd381a554eb64a7e84f997f45, type: 3} + m_Name: + m_EditorClassIdentifier: + icon: {fileID: 5121261191727116855} + item: {fileID: 0} + nameText: {fileID: 5121261192692990484} + costText: {fileID: 5121261192300927449} + amountText: {fileID: 5121261192606669392} + timeToWait: 0.5 +--- !u!61 &5121261193055935941 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5121261193055935943} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, 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 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 diff --git a/Assets/ShopSlot.prefab.meta b/Assets/ShopSlot.prefab.meta new file mode 100644 index 0000000..450fed5 --- /dev/null +++ b/Assets/ShopSlot.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2279fa2b47ef2ce40af9052d3a3f438b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index d5e0c36..7fc33ce 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -130,12 +130,21 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.nuget.newtonsoft-json": { + "version": "3.0.2", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.services.core": { - "version": "1.0.1", + "version": "1.3.1", "depth": 1, "source": "registry", "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0" + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.nuget.newtonsoft-json": "3.0.2", + "com.unity.modules.androidjni": "1.0.0" }, "url": "https://packages.unity.com" }, diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset index e6368a5..c81f075 100644 --- a/ProjectSettings/InputManager.asset +++ b/ProjectSettings/InputManager.asset @@ -501,4 +501,20 @@ InputManager: type: 0 axis: 0 joyNum: 0 + - serializedVersion: 3 + m_Name: Shop + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: s + altNegativeButton: + altPositiveButton: o + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 m_UsePhysicalKeys: 0