new job selection menu

This commit is contained in:
2023-03-28 11:19:23 +03:00
parent a3e82c8649
commit c392a38017
16 changed files with 97 additions and 112 deletions
+3
View File
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.AI;
@@ -52,6 +53,8 @@ public class Player : MonoBehaviour
_navAgent.updatePosition = false;
_currentActing = PlayerStates.Awake;
UIManager.Instance.ShowJobSelectionDialog("Job agency", "job offers", null, null);
}
private void OnDestroy()
@@ -3,7 +3,7 @@ using UnityEngine;
[CreateAssetMenu()]
public class JobInfoSO : ScriptableObject
{
public string Name;
public string Description;
public float Salary;
public JobPositions JobPosition;
}
@@ -12,6 +12,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5e5ea608dd4175941b878e8e1a585970, type: 3}
m_Name: Clerk
m_EditorClassIdentifier:
Name: Clerk
Description: Clerk
Salary: 5
JobPosition: 1
@@ -12,6 +12,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5e5ea608dd4175941b878e8e1a585970, type: 3}
m_Name: Manager
m_EditorClassIdentifier:
Name: Manager
Description: Manager
Salary: 9
JobPosition: 3
@@ -12,6 +12,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5e5ea608dd4175941b878e8e1a585970, type: 3}
m_Name: ManagerAssistant
m_EditorClassIdentifier:
Name: Manager Assistant
Description: Manager assistaint
Salary: 6
JobPosition: 2
+15 -4
View File
@@ -1,9 +1,20 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class JobItemUITemplate : MonoBehaviour
{
public string Description { get; set; }
public string Sallary { get; set; }
[SerializeField]
private TextMeshProUGUI _descreiption;
[SerializeField]
private TextMeshProUGUI _sallary;
[SerializeField]
private Image _icon;
public void SetItem(JobInfoSO item)
{
_descreiption.text = item.Description;
_sallary.text = $"{item.Salary}$";
//_icon.sprite = item.Icon;
}
}
+4 -2
View File
@@ -19,7 +19,7 @@ public class JobSelectorUI : MonoBehaviour
[SerializeField]
private Transform _container;
[SerializeField]
private JobItemUITemplate _jobItemUI;
private JobItemUITemplate _jobItemUItemplate;
[SerializeField]
private JobsListSO _jobs;
@@ -33,7 +33,9 @@ public class JobSelectorUI : MonoBehaviour
foreach (var job in _jobs.JobPositionsList)
{
var itemUI = Instantiate(_jobItemUItemplate, _container);
itemUI.gameObject.SetActive(true);
itemUI.GetComponent<JobItemUITemplate>().SetItem((job));
}
_btnCancel.onClick.AddListener(() =>
@@ -1,60 +0,0 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class ModalWindowPanel : MonoBehaviour
{
[Header("Header")]
[SerializeField]
private Transform _hederArea;
[SerializeField]
private Transform _titleField;
[Header("Content")]
[SerializeField]
private Transform _contentArea;
[SerializeField]
private Transform _verticalLayoutArea;
[SerializeField]
private Image _heroImage;
[SerializeField]
private TextMeshProUGUI _heroText;
[Space()]
[SerializeField]
private Transform _horizontalLayoutArea;
[SerializeField]
private Image _iconImage;
[SerializeField]
private TextMeshProUGUI _iconText;
[Header("Footer")]
[SerializeField]
private Transform _footerArea;
[SerializeField]
private Button _confirmButton;
[SerializeField]
private Button _declineButton;
//private Action onConfirmAction;
//private Action onDeclineAction;
public void Confirm()
{
// onConfirmAction?.Invoke();
// Close();
}
public void Decline()
{
// onDeclineAction?.Invoke();
//Close();
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 1c8cd26649ff30a4ea72d44d9bcd0edf
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+10
View File
@@ -6,6 +6,8 @@ public class UIManager : MonoBehaviour
[SerializeField]
public TimeSliderUI _timeSliderPrefab;
[SerializeField]
public JobSelectorUI _jobSelectorPrefab;
[SerializeField]
public GameObject _blurOverlay;
public static UIManager Instance { get; private set; }
@@ -30,6 +32,14 @@ public class UIManager : MonoBehaviour
timeSlider.ShowTimeSliderDialog(title, description, onCancel, onConfirm);
}
public void ShowJobSelectionDialog(string title, string description, Action onCancel, Action<TimeSpan> onConfirm)
{
var jobSelector = Instantiate(_jobSelectorPrefab, transform);
jobSelector.ShowJobSelectionDialog(title, description, onCancel, onConfirm);
}
public void Freeze()
{
_blurOverlay.SetActive(true);