From 612b7936773fc1c3e1e1f7f30b43dc85b03aedf5 Mon Sep 17 00:00:00 2001 From: Vova Date: Mon, 1 May 2023 19:40:14 +0300 Subject: [PATCH 1/3] Implement player education parameter Enable job offer according to Player education --- Assets/Prefabs/UI/JobItemUiTemplate.prefab | 1 + Assets/Scripts/Helpers/Enums.cs | 2 ++ Assets/Scripts/Player/Player.cs | 2 ++ Assets/Scripts/ScriptableObjects/JobInfoSO.cs | 1 + .../JobPositions/Clerk.asset | 1 + .../JobPositions/Manager.asset | 1 + .../JobPositions/ManagerAssistant.asset | 1 + .../Scripts/UIElements/JobItemUITemplate.cs | 22 +++++++++---------- Assets/Scripts/UIElements/JobTabUITemplate.cs | 1 - 9 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Assets/Prefabs/UI/JobItemUiTemplate.prefab b/Assets/Prefabs/UI/JobItemUiTemplate.prefab index 3f4d649a..af6e66a3 100644 --- a/Assets/Prefabs/UI/JobItemUiTemplate.prefab +++ b/Assets/Prefabs/UI/JobItemUiTemplate.prefab @@ -189,6 +189,7 @@ MonoBehaviour: _descreiption: {fileID: 3870220567668916177} _sallary: {fileID: 2787096983671346797} _icon: {fileID: 5333122869086954718} + _button: {fileID: 7544413826500446465} --- !u!114 &9018781955098760075 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Helpers/Enums.cs b/Assets/Scripts/Helpers/Enums.cs index 46bbb066..53eb51f8 100644 --- a/Assets/Scripts/Helpers/Enums.cs +++ b/Assets/Scripts/Helpers/Enums.cs @@ -1,6 +1,8 @@ using System.Runtime.Serialization; public enum JobPositions { Unemployed,Cashier, Clerk, ManagerAssistaint, Manager }; +public enum EducationSkill { NotEducated, School, HightSchool,University}; + public enum PlayerStates { Awake, Sleeping, Eating,Working } public enum StatsId { Money, RentAccount, Food, Energy, BankAccount, Job, } public enum Tasks { Move, Interact, Rotate }; diff --git a/Assets/Scripts/Player/Player.cs b/Assets/Scripts/Player/Player.cs index 66095c76..9a63b275 100644 --- a/Assets/Scripts/Player/Player.cs +++ b/Assets/Scripts/Player/Player.cs @@ -24,6 +24,8 @@ public class Player : MonoBehaviour public Dictionary Stats; public JobPositions JobPosition { get; set; } + public EducationSkill Education { get; set; } + private readonly Queue _tasks = new Queue(); private PlayerTasks _currentTask; diff --git a/Assets/Scripts/ScriptableObjects/JobInfoSO.cs b/Assets/Scripts/ScriptableObjects/JobInfoSO.cs index 60f5efdf..e7665c35 100644 --- a/Assets/Scripts/ScriptableObjects/JobInfoSO.cs +++ b/Assets/Scripts/ScriptableObjects/JobInfoSO.cs @@ -7,4 +7,5 @@ public class JobInfoSO : ScriptableObject public float Salary; public Sprite Icon; public JobPositions JobPosition; + public EducationSkill MinimumEducationSkill; } diff --git a/Assets/Scripts/ScriptableObjects/JobPositions/Clerk.asset b/Assets/Scripts/ScriptableObjects/JobPositions/Clerk.asset index b4585e1c..e1e3dd46 100644 --- a/Assets/Scripts/ScriptableObjects/JobPositions/Clerk.asset +++ b/Assets/Scripts/ScriptableObjects/JobPositions/Clerk.asset @@ -16,3 +16,4 @@ MonoBehaviour: Salary: 5 Icon: {fileID: 0} JobPosition: 2 + MinimumEducationSkill: 1 diff --git a/Assets/Scripts/ScriptableObjects/JobPositions/Manager.asset b/Assets/Scripts/ScriptableObjects/JobPositions/Manager.asset index dfa1622d..f7ed16e1 100644 --- a/Assets/Scripts/ScriptableObjects/JobPositions/Manager.asset +++ b/Assets/Scripts/ScriptableObjects/JobPositions/Manager.asset @@ -16,3 +16,4 @@ MonoBehaviour: Salary: 9 Icon: {fileID: 0} JobPosition: 4 + MinimumEducationSkill: 3 diff --git a/Assets/Scripts/ScriptableObjects/JobPositions/ManagerAssistant.asset b/Assets/Scripts/ScriptableObjects/JobPositions/ManagerAssistant.asset index 82862770..bf4f6932 100644 --- a/Assets/Scripts/ScriptableObjects/JobPositions/ManagerAssistant.asset +++ b/Assets/Scripts/ScriptableObjects/JobPositions/ManagerAssistant.asset @@ -16,3 +16,4 @@ MonoBehaviour: Salary: 6 Icon: {fileID: 0} JobPosition: 3 + MinimumEducationSkill: 2 diff --git a/Assets/Scripts/UIElements/JobItemUITemplate.cs b/Assets/Scripts/UIElements/JobItemUITemplate.cs index 1ff73041..9391a011 100644 --- a/Assets/Scripts/UIElements/JobItemUITemplate.cs +++ b/Assets/Scripts/UIElements/JobItemUITemplate.cs @@ -3,7 +3,7 @@ using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; -public class JobItemUITemplate : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler +public class JobItemUITemplate : MonoBehaviour, IPointerEnterHandler { [SerializeField] private TextMeshProUGUI _descreiption; @@ -12,6 +12,9 @@ public class JobItemUITemplate : MonoBehaviour, IPointerClickHandler, IPointerE [SerializeField] private Image _icon; + [SerializeField] + private Button _button; + private JobSelectorUI _parent; private JobInfoSO _item; public JobInfoSO Item=> _item; @@ -23,23 +26,20 @@ public class JobItemUITemplate : MonoBehaviour, IPointerClickHandler, IPointerE _descreiption.text = item.Description; _sallary.text = $"{item.Salary}$"; _icon.sprite = item.Icon; + _button.enabled = Player.Instance.Education>=item.MinimumEducationSkill; } - void OnMouseDown() - { - _parent.OnItemSelected(this); - } - public void OnPointerClick(PointerEventData eventData) - { - _parent.OnItemSelected(this); - } - + public void Click() { - _parent.OnItemSelected(this); + if (_button.enabled) + { + _parent.OnItemSelected(this); + } } public void OnPointerEnter(PointerEventData eventData) { + if (!_button.enabled) { print("Not enough education"); } } } diff --git a/Assets/Scripts/UIElements/JobTabUITemplate.cs b/Assets/Scripts/UIElements/JobTabUITemplate.cs index 0018c745..2fa84d1a 100644 --- a/Assets/Scripts/UIElements/JobTabUITemplate.cs +++ b/Assets/Scripts/UIElements/JobTabUITemplate.cs @@ -1,5 +1,4 @@ using TMPro; -using Unity.VisualScripting; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; From c96ca850b4d9f536aabf5789471d7017c1f062df Mon Sep 17 00:00:00 2001 From: Vova Date: Mon, 15 May 2023 18:00:37 +0300 Subject: [PATCH 2/3] Fix not found job position --- Assets/Scripts/InteractableObjects/CashierDesk.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Scripts/InteractableObjects/CashierDesk.cs b/Assets/Scripts/InteractableObjects/CashierDesk.cs index b88be1a7..a3e5c728 100644 --- a/Assets/Scripts/InteractableObjects/CashierDesk.cs +++ b/Assets/Scripts/InteractableObjects/CashierDesk.cs @@ -20,7 +20,7 @@ public class CashierDesk : BaseInteractableObject } else { - _playerJob = _jobsInfoList.First(x => x.JobPosition == player.JobPosition); + _playerJob = _jobsInfoList.Where(x => x.JobPosition == player.JobPosition).FirstOrDefault(); print($"playerJob is {_playerJob}"); if (_playerJob != null) { From 48ad336bbae1d907371d8807445d5a3fb206b5ac Mon Sep 17 00:00:00 2001 From: Vova Date: Mon, 12 Jun 2023 13:22:57 +0300 Subject: [PATCH 3/3] update --- Packages/manifest.json | 4 ++-- Packages/packages-lock.json | 6 +++--- ProjectSettings/ProjectVersion.txt | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Packages/manifest.json b/Packages/manifest.json index 2e979ffe..10a3a85a 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -3,9 +3,9 @@ "com.unity.ai.navigation": "1.1.3", "com.unity.animation.rigging": "1.2.1", "com.unity.cinemachine": "2.9.5", - "com.unity.collab-proxy": "2.0.3", + "com.unity.collab-proxy": "2.0.4", "com.unity.formats.fbx": "4.2.1", - "com.unity.ide.rider": "3.0.20", + "com.unity.ide.rider": "3.0.21", "com.unity.ide.visualstudio": "2.0.18", "com.unity.ide.vscode": "1.2.5", "com.unity.render-pipelines.universal": "14.0.7", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 9bea43a3..4be08de6 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -45,7 +45,7 @@ "url": "https://packages.unity.com" }, "com.unity.collab-proxy": { - "version": "2.0.3", + "version": "2.0.4", "depth": 0, "source": "registry", "dependencies": {}, @@ -69,7 +69,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.rider": { - "version": "3.0.20", + "version": "3.0.21", "depth": 0, "source": "registry", "dependencies": { @@ -117,7 +117,7 @@ "source": "builtin", "dependencies": { "com.unity.mathematics": "1.2.1", - "com.unity.burst": "1.8.2", + "com.unity.burst": "1.8.4", "com.unity.render-pipelines.core": "14.0.7", "com.unity.shadergraph": "14.0.7" } diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 9a1a5024..56ddb83a 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2022.2.17f1 -m_EditorVersionWithRevision: 2022.2.17f1 (54cb9bda89c4) +m_EditorVersion: 2022.3.0f1 +m_EditorVersionWithRevision: 2022.3.0f1 (fb119bb0b476)