added freetime etc

This commit is contained in:
j.mei7
2022-03-06 16:04:18 +01:00
parent a95431b836
commit 386a0db5ff
39 changed files with 7480 additions and 199 deletions

View File

@@ -0,0 +1,23 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EconomyManager : MonoBehaviour
{
public static EconomyManager instance;
[SerializeField]
float money = 0.0f;
private void Awake()
{
if (instance == null)
instance = this;
}
public void AddMoney(float value) => money += value;
public float GetMoney() => money;
public string GetMoneyStr() => money.ToString() + " <20>";
public void SetMoney(float value) => money = value;
public void RemoveMone(float value) => money -= value;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d01b08fa5ea32674c8ce7599f2d886ce
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,103 @@
using System;
using System.Globalization;
using System.Collections.Generic;
using UnityEngine;
public class TimeManager : MonoBehaviour
{
public static Action OnTimeUpdate;
public static Action OnSecondUpdate;
public static Action OnMinuteUpdate;
public static Action OnHourUpdate;
public static Action OnDayUpdate;
public static Action OnMonthUpdate;
public static Action OnYearUpdate;
public static TimeManager instance;
public enum PartOfDay
{
MORNING,
AFTERNOON,
EVENING,
NIGHT
}
public PartOfDay partOfDay;
[SerializeField]
float intervalTime = 1.0f; // 1.0f -> 1 real second is 1 ingame minute
int minutesPerInterval = 1;
public CultureInfo cultureInfo = new CultureInfo("en-us");
DateTime dateTime = new DateTime(1, 1, 1, 0, 0, 0);
DateTime prevDateTime;
float timer;
public DateTime GetDateTime() => dateTime;
public string GetTime() => dateTime.ToString("hh:mm tt", cultureInfo);
public string GetDate() => dateTime.ToString("dd/MM/yyyy", cultureInfo);
public float GetintervalTime() => intervalTime;
[Header("ReadOnly")]
[SerializeField]
string readOnlyTimeString;
private void Awake()
{
if (instance == null)
instance = this;
}
void Start()
{
timer = intervalTime;
prevDateTime = dateTime;
}
void Update()
{
timer -= Time.deltaTime;
if (timer <= 0)
{
prevDateTime = dateTime;
dateTime = dateTime.AddMinutes(minutesPerInterval);
CheckPartsOfDay();
timer = intervalTime;
readOnlyTimeString = GetTime() + " " + GetDate();
if (prevDateTime.Second != dateTime.Second)
OnSecondUpdate?.Invoke();
if (prevDateTime.Minute != dateTime.Minute)
OnMinuteUpdate?.Invoke();
if (prevDateTime.Hour != dateTime.Hour)
OnHourUpdate?.Invoke();
if (prevDateTime.Day != dateTime.Day)
OnDayUpdate?.Invoke();
if (prevDateTime.Month != dateTime.Month)
OnMonthUpdate?.Invoke();
if (dateTime.Year != dateTime.Year)
OnYearUpdate?.Invoke();
OnTimeUpdate?.Invoke();
}
}
void CheckPartsOfDay()
{
if (dateTime.Hour >= 22)
partOfDay = PartOfDay.NIGHT;
else if (dateTime.Hour < 6)
partOfDay = PartOfDay.NIGHT;
else if (dateTime.Hour >= 6 && dateTime.Hour < 12)
partOfDay = PartOfDay.MORNING;
else if (dateTime.Hour >= 12 && dateTime.Hour < 17)
partOfDay = PartOfDay.AFTERNOON;
else if (dateTime.Hour >= 17 && dateTime.Hour < 22)
partOfDay = PartOfDay.EVENING;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 19408a8c9044fc542b7045812e07e7fa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: