diff --git a/Assets/Prefabs/UI/ItemDescUITemplate.prefab b/Assets/Prefabs/UI/ContainerItemUI.prefab similarity index 77% rename from Assets/Prefabs/UI/ItemDescUITemplate.prefab rename to Assets/Prefabs/UI/ContainerItemUI.prefab index ccf51323..7e97cb8e 100644 --- a/Assets/Prefabs/UI/ItemDescUITemplate.prefab +++ b/Assets/Prefabs/UI/ContainerItemUI.prefab @@ -1,5 +1,125 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &174683888211877615 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4180993385846880916} + - component: {fileID: 5004494217048525726} + - component: {fileID: 2578052716208125503} + - component: {fileID: 1170245118882353758} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4180993385846880916 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174683888211877615} + 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: 8715136624202695172} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5004494217048525726 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174683888211877615} + m_CullTransparentMesh: 1 +--- !u!114 &2578052716208125503 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174683888211877615} + 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: ca9ec0de538e0b64bb578c72271cef68, 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 &1170245118882353758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 174683888211877615} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: 2578052716208125503} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &3651100185562916009 GameObject: m_ObjectHideFlags: 0 @@ -31,7 +151,6 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 3651100186136369054} - m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -109,15 +228,17 @@ MonoBehaviour: m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -167,7 +288,6 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 8715136624202695172} - m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 1} @@ -257,7 +377,6 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 3651100186136369054} - m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -335,15 +454,17 @@ MonoBehaviour: m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -373,7 +494,7 @@ GameObject: - component: {fileID: 3651100186136369055} - component: {fileID: 5233744483593426453} m_Layer: 5 - m_Name: ItemDescUITemplate + m_Name: ContainerItemUI m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -395,7 +516,6 @@ RectTransform: - {fileID: 8715136624202695172} - {fileID: 3651100186080418112} m_Father: {fileID: 0} - m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -443,6 +563,7 @@ MonoBehaviour: _name: {fileID: 3651100185562916011} _price: {fileID: 3651100186080418113} _icon: {fileID: 3651100186009978934} + _removeButton: {fileID: 1170245118882353758} --- !u!1 &6422812420310815839 GameObject: m_ObjectHideFlags: 0 @@ -471,9 +592,9 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 4180993385846880916} - {fileID: 3651100186009978932} m_Father: {fileID: 3651100186136369054} - m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} diff --git a/Assets/Prefabs/UI/ItemDescUITemplate.prefab.meta b/Assets/Prefabs/UI/ContainerItemUI.prefab.meta similarity index 100% rename from Assets/Prefabs/UI/ItemDescUITemplate.prefab.meta rename to Assets/Prefabs/UI/ContainerItemUI.prefab.meta diff --git a/Assets/Scripts/UIElements/RadialMenuItem.cs b/Assets/Scripts/UIElements/RadialMenuItem.cs index 9ee4d394..6e4a0247 100644 --- a/Assets/Scripts/UIElements/RadialMenuItem.cs +++ b/Assets/Scripts/UIElements/RadialMenuItem.cs @@ -13,9 +13,8 @@ public class RadialMenuItem : MonoBehaviour UniTaskCompletionSource tcs = new UniTaskCompletionSource(); - public UniTask ShowButtons(RadialMenuItem popupMenu, Dictionary actions) + public UniTask ShowButtons(Dictionary actions) { - _actions = actions; for (int buttonsCount = 0; buttonsCount < actions.Count; buttonsCount++) { diff --git a/Assets/Scripts/UIElements/ContainerItemsUI.cs b/Assets/Scripts/UIElements/UIContainer.cs similarity index 63% rename from Assets/Scripts/UIElements/ContainerItemsUI.cs rename to Assets/Scripts/UIElements/UIContainer.cs index 2c8944e6..3fa68977 100644 --- a/Assets/Scripts/UIElements/ContainerItemsUI.cs +++ b/Assets/Scripts/UIElements/UIContainer.cs @@ -1,6 +1,6 @@ using UnityEngine; -public class ContainerItemsUI : MonoBehaviour +public class UIContainer : MonoBehaviour { [SerializeField] @@ -40,20 +40,28 @@ public class ContainerItemsUI : MonoBehaviour private void OnItemsChange(object sender, System.EventArgs e) { - if (_playerContainer.IsSalebleItems()) - { - ClearObject(); + ClearObject(); + + var playerItemsList = _playerContainer.GetItems(); + for (int count = 0; count < playerItemsList.Count; count++) + { + var itemUI = Instantiate(_itemUITemplate, _itemsList); + itemUI.gameObject.SetActive(true); + var item = itemUI.GetComponent(); + item.SetItem((SellableItemSO)playerItemsList[count]); + RemoveButton(playerItemsList[count], item); - var playerItemsList = _playerContainer.GetItems(); - for (int count = 0; count < playerItemsList.Count; count++) - { - var itemUI = Instantiate(_itemUITemplate, _itemsList); - itemUI.gameObject.SetActive(true); - itemUI.GetComponent().SetItem((SellableItemSO)playerItemsList[count]); - } } } + private void RemoveButton(BaseItemSO item, UIContainerItem UIItem) + { + UIItem._removeButton.onClick.AddListener(() => + { + _playerContainer.Remove(item); + }); + } + private void ClearObject() { foreach (Transform child in _itemsList) diff --git a/Assets/Scripts/UIElements/ContainerItemsUI.cs.meta b/Assets/Scripts/UIElements/UIContainer.cs.meta similarity index 100% rename from Assets/Scripts/UIElements/ContainerItemsUI.cs.meta rename to Assets/Scripts/UIElements/UIContainer.cs.meta diff --git a/Assets/Scripts/UIElements/ItemDescriptionUI.cs b/Assets/Scripts/UIElements/UIConteinerItem.cs similarity index 79% rename from Assets/Scripts/UIElements/ItemDescriptionUI.cs rename to Assets/Scripts/UIElements/UIConteinerItem.cs index d7003bea..efa1419e 100644 --- a/Assets/Scripts/UIElements/ItemDescriptionUI.cs +++ b/Assets/Scripts/UIElements/UIConteinerItem.cs @@ -2,7 +2,7 @@ using TMPro; using UnityEngine; using UnityEngine.UI; -public class ItemDescriptionUI : MonoBehaviour +public class UIContainerItem : MonoBehaviour { [SerializeField] private TextMeshProUGUI _name; @@ -10,6 +10,8 @@ public class ItemDescriptionUI : MonoBehaviour private TextMeshProUGUI _price; [SerializeField] private Image _icon; + [SerializeField] + public Button _removeButton; public void SetItem(SellableItemSO item) { diff --git a/Assets/Scripts/UIElements/ItemDescriptionUI.cs.meta b/Assets/Scripts/UIElements/UIConteinerItem.cs.meta similarity index 100% rename from Assets/Scripts/UIElements/ItemDescriptionUI.cs.meta rename to Assets/Scripts/UIElements/UIConteinerItem.cs.meta diff --git a/Assets/Scripts/UIElements/UISystem.cs b/Assets/Scripts/UIElements/UISystem.cs index c158a52e..9a57079c 100644 --- a/Assets/Scripts/UIElements/UISystem.cs +++ b/Assets/Scripts/UIElements/UISystem.cs @@ -38,7 +38,7 @@ public class UISystem : MonoBehaviour _popupMenu = Instantiate(_radialMenuItemPrefab); _popupMenu.transform.transform.SetParent(transform, false); _popupMenu.transform.position = Input.mousePosition; - return await _popupMenu.ShowButtons(_popupMenu, actions); + return await _popupMenu.ShowButtons(actions); } public void ClosePopupMenu() diff --git a/Assets/Textures/UI/remove-icon.png b/Assets/Textures/UI/remove-icon.png new file mode 100644 index 00000000..b64cc5fb Binary files /dev/null and b/Assets/Textures/UI/remove-icon.png differ diff --git a/Assets/Textures/UI/remove-icon.png.meta b/Assets/Textures/UI/remove-icon.png.meta new file mode 100644 index 00000000..c96cbecf --- /dev/null +++ b/Assets/Textures/UI/remove-icon.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: ca9ec0de538e0b64bb578c72271cef68 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + 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: 0, 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 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 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 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: