From b71fa6a9eb50195b99bf5b7340d5b84d7bc12926 Mon Sep 17 00:00:00 2001 From: Vladimir Koshevarov Date: Tue, 28 Feb 2023 16:19:40 +0200 Subject: [PATCH] Refactor code --- Assets/Scripts/Actions/Eat.cs | 2 +- Assets/Scripts/Actions/Relax.cs | 2 +- .../DialogueSystem/ConversationController.cs | 2 +- Assets/Scripts/GameUIManager.cs | 6 +- Assets/Scripts/Player.meta | 8 ++ Assets/Scripts/{ => Player}/Player.cs | 14 ++-- Assets/Scripts/{ => Player}/Player.cs.meta | 0 .../{GameManager.cs => Player/PlayerStats.cs} | 20 +---- .../PlayerStats.cs.meta} | 0 Assets/Scripts/{ => Player}/PlayerTask.cs | 0 .../Scripts/{ => Player}/PlayerTask.cs.meta | 0 Assets/Scripts/{ => Player}/Stat.cs | 82 +++++++++---------- Assets/Scripts/{ => Player}/Stat.cs.meta | 0 13 files changed, 65 insertions(+), 71 deletions(-) create mode 100644 Assets/Scripts/Player.meta rename Assets/Scripts/{ => Player}/Player.cs (93%) rename Assets/Scripts/{ => Player}/Player.cs.meta (100%) rename Assets/Scripts/{GameManager.cs => Player/PlayerStats.cs} (79%) rename Assets/Scripts/{GameManager.cs.meta => Player/PlayerStats.cs.meta} (100%) rename Assets/Scripts/{ => Player}/PlayerTask.cs (100%) rename Assets/Scripts/{ => Player}/PlayerTask.cs.meta (100%) rename Assets/Scripts/{ => Player}/Stat.cs (95%) rename Assets/Scripts/{ => Player}/Stat.cs.meta (100%) diff --git a/Assets/Scripts/Actions/Eat.cs b/Assets/Scripts/Actions/Eat.cs index ab0ae6d3..65d56325 100644 --- a/Assets/Scripts/Actions/Eat.cs +++ b/Assets/Scripts/Actions/Eat.cs @@ -21,7 +21,7 @@ namespace Assets.Scripts.Actions public void ApplyAction(Player playerController) { - playerController.PlayerStats[StatsId.Food].increase(_energy); + playerController.Stats[StatsId.Food].increase(_energy); } } } diff --git a/Assets/Scripts/Actions/Relax.cs b/Assets/Scripts/Actions/Relax.cs index b8a1f592..053bcbd1 100644 --- a/Assets/Scripts/Actions/Relax.cs +++ b/Assets/Scripts/Actions/Relax.cs @@ -14,7 +14,7 @@ namespace Assets.Scripts.Actions public void ApplyAction(Player playerController) { - playerController.PlayerStats[StatsId.Energy].increase(_energyPerTick); + playerController.Stats[StatsId.Energy].increase(_energyPerTick); } } } diff --git a/Assets/Scripts/DialogueSystem/ConversationController.cs b/Assets/Scripts/DialogueSystem/ConversationController.cs index bfdd9060..c50c25d0 100644 --- a/Assets/Scripts/DialogueSystem/ConversationController.cs +++ b/Assets/Scripts/DialogueSystem/ConversationController.cs @@ -59,7 +59,7 @@ public class ConversationController : MonoBehaviour _selectedAction = action; if (action is ISellable) { - _btnApply.interactable = Player.Instance.PlayerStats[StatsId.Money].Value >= (action as ISellable).Price; + _btnApply.interactable = Player.Instance.Stats[StatsId.Money].Value >= (action as ISellable).Price; } } diff --git a/Assets/Scripts/GameUIManager.cs b/Assets/Scripts/GameUIManager.cs index 0e0351ca..8f0d801a 100644 --- a/Assets/Scripts/GameUIManager.cs +++ b/Assets/Scripts/GameUIManager.cs @@ -30,7 +30,7 @@ public class GameUIManager : MonoBehaviour // Update is called once per frame void Update() { - _moneyText.text = $"${Player.Instance.PlayerStats[StatsId.Money].Value}"; + _moneyText.text = $"${Player.Instance.Stats[StatsId.Money].Value}"; } @@ -42,7 +42,7 @@ public class GameUIManager : MonoBehaviour _timeText.text = TimeManager.CurrentTime.ToString(@"hh\:mm"); } - _energy.value = (float)Player.Instance.PlayerStats[StatsId.Energy].Value; - _food.value = (float)Player.Instance.PlayerStats[StatsId.Food].Value; + _energy.value = (float)Player.Instance.Stats[StatsId.Energy].Value; + _food.value = (float)Player.Instance.Stats[StatsId.Food].Value; } } diff --git a/Assets/Scripts/Player.meta b/Assets/Scripts/Player.meta new file mode 100644 index 00000000..802e8323 --- /dev/null +++ b/Assets/Scripts/Player.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 949ddc438e1560f4193667beb4e04308 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Player.cs b/Assets/Scripts/Player/Player.cs similarity index 93% rename from Assets/Scripts/Player.cs rename to Assets/Scripts/Player/Player.cs index 21e7c602..cfdb0f79 100644 --- a/Assets/Scripts/Player.cs +++ b/Assets/Scripts/Player/Player.cs @@ -7,7 +7,6 @@ using System.Runtime.Serialization; using UnityEngine; using UnityEngine.AI; - public class BlockingAnimation : Attribute { @@ -43,7 +42,7 @@ public class Player : MonoBehaviour private AnimationStates _currentAnimation; private Vector3 _groundDeltaPosition; - public Dictionary PlayerStats; + public Dictionary Stats; public IWorkPlace WorkPlace { get; set; } private readonly Queue _tasks = new Queue(); @@ -51,7 +50,6 @@ public class Player : MonoBehaviour private const string WALK_VELOCITY = "WalkVelocity"; - private bool _isInAnimation = false; private void Awake() { if (Instance != null) @@ -66,7 +64,7 @@ public class Player : MonoBehaviour TimeManager.OnMinuteChanged += UpdateStatsByClock; _isAllowMovement = true; _navAgent.updatePosition = false; - PlayerStats = GameManager.Instance.PlayerStats; + Stats = PlayerStats.CreateInitialStats(); } private void OnDestroy() @@ -197,21 +195,21 @@ public class Player : MonoBehaviour public void UpdateStatsByClock() { - PlayerStats[StatsId.Food].deduct(0.034m); // 48 hours it's 100, 100/2880=~0.034 per minute + Stats[StatsId.Food].deduct(0.034m); // 48 hours it's 100, 100/2880=~0.034 per minute if (_currentAnimation != AnimationStates.Sleeping) { - PlayerStats[StatsId.Energy].deduct(0.1m); // 24 hours it's 100, 100/1440=~0.096 per minute + Stats[StatsId.Energy].deduct(0.1m); // 24 hours it's 100, 100/1440=~0.096 per minute } else { - PlayerStats[StatsId.Energy].increase(1m); + Stats[StatsId.Energy].increase(1m); } } public void BuyAction(IPlayerAction action) { - PlayerStats[StatsId.Money].deduct(((ISellable)action).Price); + Stats[StatsId.Money].deduct(((ISellable)action).Price); action.ApplyAction(this); } diff --git a/Assets/Scripts/Player.cs.meta b/Assets/Scripts/Player/Player.cs.meta similarity index 100% rename from Assets/Scripts/Player.cs.meta rename to Assets/Scripts/Player/Player.cs.meta diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/Player/PlayerStats.cs similarity index 79% rename from Assets/Scripts/GameManager.cs rename to Assets/Scripts/Player/PlayerStats.cs index 9ab236a4..17a0f115 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/Player/PlayerStats.cs @@ -1,27 +1,15 @@ using System.Collections.Generic; -using UnityEngine; public enum StatsId { Money, RentAccount, Food, Energy, BankAccount, Job, } -public class GameManager : MonoBehaviour +public class PlayerStats { - public static GameManager Instance { get; private set; } - - public Dictionary PlayerStats; - // Start is called before the first frame update - void Awake() + public static Dictionary CreateInitialStats() { - Instance = this; - - InitPlayerStats(); - } - - private void InitPlayerStats() - { - PlayerStats = new Dictionary() + return new Dictionary() { {StatsId.Money, new Stat("Money", 100.0m)}, {StatsId.RentAccount, new Stat("Rent Account", 0)}, - {StatsId.Food, new Stat("Food Energy", 100) }, + {StatsId.Food, new Stat("Food Energy", 50) }, {StatsId.Energy,new Stat("Energy", 100) }, {StatsId.BankAccount,new Stat("Bank Account", 0) }, {StatsId.Job, new Stat("Unemployed", 0) }, diff --git a/Assets/Scripts/GameManager.cs.meta b/Assets/Scripts/Player/PlayerStats.cs.meta similarity index 100% rename from Assets/Scripts/GameManager.cs.meta rename to Assets/Scripts/Player/PlayerStats.cs.meta diff --git a/Assets/Scripts/PlayerTask.cs b/Assets/Scripts/Player/PlayerTask.cs similarity index 100% rename from Assets/Scripts/PlayerTask.cs rename to Assets/Scripts/Player/PlayerTask.cs diff --git a/Assets/Scripts/PlayerTask.cs.meta b/Assets/Scripts/Player/PlayerTask.cs.meta similarity index 100% rename from Assets/Scripts/PlayerTask.cs.meta rename to Assets/Scripts/Player/PlayerTask.cs.meta diff --git a/Assets/Scripts/Stat.cs b/Assets/Scripts/Player/Stat.cs similarity index 95% rename from Assets/Scripts/Stat.cs rename to Assets/Scripts/Player/Stat.cs index f5ca2d87..ba84f231 100644 --- a/Assets/Scripts/Stat.cs +++ b/Assets/Scripts/Player/Stat.cs @@ -1,41 +1,41 @@ -public class Stat -{ - public string Name { get; set; } - public decimal Value { get; set; } - public decimal Price { get; set; } - public decimal Quantity { get; set; } - - public Stat(string name, decimal startValue) - { - Name = name; - Value = startValue; - } - - public Stat(string name, decimal price, decimal quantity) - { - Name = name; - Price = price; - Quantity = quantity; - } - - public void increase(decimal byAmount) - { - Value += byAmount; - } - - public bool deduct(decimal amount) - { - if (Value >= amount) - { - Value -= amount; - return true; - } - return false; - } - - public void forceDeduct(decimal amount) - { - Value -= amount; - } - -} +public class Stat +{ + public string Name { get; set; } + public decimal Value { get; set; } + public decimal Price { get; set; } + public decimal Quantity { get; set; } + + public Stat(string name, decimal startValue) + { + Name = name; + Value = startValue; + } + + public Stat(string name, decimal price, decimal quantity) + { + Name = name; + Price = price; + Quantity = quantity; + } + + public void increase(decimal byAmount) + { + Value += byAmount; + } + + public bool deduct(decimal amount) + { + if (Value >= amount) + { + Value -= amount; + return true; + } + return false; + } + + public void forceDeduct(decimal amount) + { + Value -= amount; + } + +} diff --git a/Assets/Scripts/Stat.cs.meta b/Assets/Scripts/Player/Stat.cs.meta similarity index 100% rename from Assets/Scripts/Stat.cs.meta rename to Assets/Scripts/Player/Stat.cs.meta