Added basic popup action menu
This commit is contained in:
@@ -122,6 +122,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_playerArrivePoint: {fileID: 3909525920100175952}
|
_playerArrivePoint: {fileID: 3909525920100175952}
|
||||||
|
_containerSO: {fileID: 11400000, guid: b8fcf00b76085f54baafb32a2e47c70e, type: 2}
|
||||||
--- !u!1 &677083019419746855
|
--- !u!1 &677083019419746855
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -161,7 +161,6 @@ GameObject:
|
|||||||
- component: {fileID: 3806516703338386383}
|
- component: {fileID: 3806516703338386383}
|
||||||
- component: {fileID: 3806516703338386379}
|
- component: {fileID: 3806516703338386379}
|
||||||
- component: {fileID: 3806516703338386376}
|
- component: {fileID: 3806516703338386376}
|
||||||
- component: {fileID: 3806516703338386377}
|
|
||||||
- component: {fileID: 3806516703338386382}
|
- component: {fileID: 3806516703338386382}
|
||||||
- component: {fileID: 8115133298804345861}
|
- component: {fileID: 8115133298804345861}
|
||||||
- component: {fileID: 2413812458207048714}
|
- component: {fileID: 2413812458207048714}
|
||||||
@@ -188,9 +187,9 @@ RectTransform:
|
|||||||
m_Father: {fileID: 3806516704876462308}
|
m_Father: {fileID: 3806516704876462308}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 21.18, y: 0}
|
m_AnchoredPosition: {x: 21.18, y: -16.175}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &3806516703338386379
|
--- !u!222 &3806516703338386379
|
||||||
@@ -231,21 +230,6 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
--- !u!114 &3806516703338386377
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3806516703338386380}
|
|
||||||
m_Enabled: 0
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_EffectColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_EffectDistance: {x: 1, y: 1}
|
|
||||||
m_UseGraphicAlpha: 1
|
|
||||||
--- !u!114 &3806516703338386382
|
--- !u!114 &3806516703338386382
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -311,7 +295,6 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 3806516704876462308}
|
- component: {fileID: 3806516704876462308}
|
||||||
- component: {fileID: 3806516704876462311}
|
- component: {fileID: 3806516704876462311}
|
||||||
- component: {fileID: 327755658309153619}
|
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: button
|
m_Name: button
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -333,12 +316,12 @@ RectTransform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 3806516703338386383}
|
- {fileID: 3806516703338386383}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: -1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.791, y: 0.19664745}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.82527876, y: 0.24948958}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0.17080688, y: 0.33007812}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0.3415985, y: -0.6603012}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &3806516704876462311
|
--- !u!114 &3806516704876462311
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -384,29 +367,3 @@ MonoBehaviour:
|
|||||||
m_OnClick:
|
m_OnClick:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
--- !u!114 &327755658309153619
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3806516704876462309}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_Padding:
|
|
||||||
m_Left: 0
|
|
||||||
m_Right: 0
|
|
||||||
m_Top: 0
|
|
||||||
m_Bottom: 0
|
|
||||||
m_ChildAlignment: 0
|
|
||||||
m_Spacing: 0
|
|
||||||
m_ChildForceExpandWidth: 0
|
|
||||||
m_ChildForceExpandHeight: 0
|
|
||||||
m_ChildControlWidth: 0
|
|
||||||
m_ChildControlHeight: 0
|
|
||||||
m_ChildScaleWidth: 0
|
|
||||||
m_ChildScaleHeight: 0
|
|
||||||
m_ReverseArrangement: 0
|
|
||||||
|
|||||||
+1140
-436
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,37 @@
|
|||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public class ItemActionsUI : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField]
|
||||||
|
private TextMeshProUGUI _title;
|
||||||
|
[SerializeField]
|
||||||
|
private TextMeshProUGUI _description;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private Button _btnCancel;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
Hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Show(string title, string description)
|
||||||
|
{
|
||||||
|
_title.text = title;
|
||||||
|
_description.text = description;
|
||||||
|
|
||||||
|
_btnCancel.onClick.AddListener(() =>
|
||||||
|
{
|
||||||
|
Hide();
|
||||||
|
});
|
||||||
|
gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Hide()
|
||||||
|
{
|
||||||
|
gameObject.SetActive(false);
|
||||||
|
//Destroy(gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
using UnityEditor;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class TestingQuestionDialog : MonoBehaviour
|
|
||||||
{
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
if (Input.GetKeyDown(KeyCode.Escape))
|
|
||||||
{
|
|
||||||
YesNoDialogUI.Instance.ShowQuestion("To be or not to be ?",
|
|
||||||
() =>
|
|
||||||
{
|
|
||||||
Application.Quit();
|
|
||||||
EditorApplication.ExitPlaymode();
|
|
||||||
},
|
|
||||||
() =>
|
|
||||||
{
|
|
||||||
//do nothing
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
|
|
||||||
using System;
|
|
||||||
using TMPro;
|
|
||||||
|
|
||||||
using UnityEngine;
|
|
||||||
using UnityEngine.UI;
|
|
||||||
|
|
||||||
public class YesNoDialogUI : MonoBehaviour
|
|
||||||
{
|
|
||||||
public static YesNoDialogUI Instance { get; private set; }
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private TextMeshProUGUI _textMeshPro;
|
|
||||||
[SerializeField]
|
|
||||||
private Button _yesBtn;
|
|
||||||
[SerializeField]
|
|
||||||
private Button _noBtn;
|
|
||||||
private void Awake()
|
|
||||||
{
|
|
||||||
Instance = this;
|
|
||||||
Hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ShowQuestion(string questionText, Action yesAction, Action noAction)
|
|
||||||
{
|
|
||||||
_textMeshPro.text = questionText;
|
|
||||||
_yesBtn.onClick.AddListener(() =>
|
|
||||||
{
|
|
||||||
Hide();
|
|
||||||
yesAction();
|
|
||||||
});
|
|
||||||
_noBtn.onClick.AddListener(() =>
|
|
||||||
{
|
|
||||||
Hide();
|
|
||||||
noAction();
|
|
||||||
});
|
|
||||||
gameObject.SetActive(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Hide()
|
|
||||||
{
|
|
||||||
gameObject.SetActive(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -4,14 +4,20 @@ using UnityEngine;
|
|||||||
|
|
||||||
public class Fridge : BaseInteractableObject
|
public class Fridge : BaseInteractableObject
|
||||||
{
|
{
|
||||||
private const int _maxCapacity=10;
|
[SerializeField]
|
||||||
private List<FoodObject> _foodObjects= new List<FoodObject>();
|
private ContainerSO _containerSO;
|
||||||
|
[SerializeField]
|
||||||
|
private ItemActionsUI _actionsMenu;
|
||||||
|
|
||||||
|
private List<FoodObject> _foodObjects = new List<FoodObject>();
|
||||||
|
|
||||||
public override void Interact(Player player)
|
public override void Interact(Player player)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
_actionsMenu.Show(_containerSO.Name, $"Max items:{_containerSO.MaxCapacity} current items: {_containerSO.CurrentItemsCount}");
|
||||||
if (player.HasFoodObject())
|
if (player.HasFoodObject())
|
||||||
{
|
{
|
||||||
if (_foodObjects.Count < _maxCapacity)
|
if (_foodObjects.Count < _containerSO.MaxCapacity)
|
||||||
{
|
{
|
||||||
_foodObjects.Add(player.GetFoodObject());
|
_foodObjects.Add(player.GetFoodObject());
|
||||||
player.ClearFoodObject();
|
player.ClearFoodObject();
|
||||||
@@ -23,15 +29,16 @@ public class Fridge : BaseInteractableObject
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Eat menu
|
//Eat menu
|
||||||
if (_foodObjects.Count>0)
|
if (_foodObjects.Count > 0)
|
||||||
{
|
{
|
||||||
while(player.Stats[StatsId.Food].Value< player.Stats[StatsId.Food].MaxValue && _foodObjects.Count > 0)
|
while (player.Stats[StatsId.Food].Value < player.Stats[StatsId.Food].MaxValue && _foodObjects.Count > 0)
|
||||||
{
|
{
|
||||||
_foodObjects.RemoveAt(0);
|
_foodObjects.RemoveAt(0);
|
||||||
player.Eat();
|
player.Eat();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
_containerSO.CurrentItemsCount = _foodObjects.Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class LookAtCamera : MonoBehaviour
|
||||||
|
{
|
||||||
|
private void LateUpdate()
|
||||||
|
{
|
||||||
|
transform.LookAt(Camera.main.transform);
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 9922754e62fe4b84397a0d1f84482f7e
|
guid: 7cfda29cc43f07b4f9af450516d8a828
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
[CreateAssetMenu()]
|
||||||
|
public class ContainerSO : ScriptableObject
|
||||||
|
{
|
||||||
|
public string Name;
|
||||||
|
public int MaxCapacity;
|
||||||
|
public int CurrentItemsCount;
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 570c5458f6b5110448188e51cb5becbb
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
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: 570c5458f6b5110448188e51cb5becbb, type: 3}
|
||||||
|
m_Name: ModernFridge
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
Name: Modern Firdge
|
||||||
|
MaxCapacity: 10
|
||||||
|
CurrentItemsCount: 0
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b8fcf00b76085f54baafb32a2e47c70e
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Reference in New Issue
Block a user