収益報告ダイアログ処理追加

This commit is contained in:
kimura 2022-09-27 14:53:54 +09:00
parent 749bda4ab3
commit 02668100ba
6 changed files with 87 additions and 0 deletions

View File

@ -1216,6 +1216,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 3565416526630057446}
- component: {fileID: 3565416526630057447}
m_Layer: 5
m_Name: Window
m_TagString: Untagged
@ -1245,6 +1246,23 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 145}
m_SizeDelta: {x: 764, y: 830}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3565416526630057447
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3565416526630057445}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01ca388010e24120aa98f212127e2687, type: 3}
m_Name:
m_EditorClassIdentifier:
backgroundAnimator: {fileID: 3565416526696996281}
closeButton: {fileID: 3565416526814180894}
coinText: {fileID: 3565416525567727735}
heartText: {fileID: 3565416527223446235}
shopCustomizeCoinText: {fileID: 3565416527311284399}
--- !u!1 &3565416526696996279
GameObject:
m_ObjectHideFlags: 0

View File

@ -0,0 +1,55 @@
using System;
using System.Linq;
using I2.Loc;
using MyGame.Scripts;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
namespace MyGame.Scenes.Main.Scripts
{
public class EarningsReportDialog : MonoBehaviour
{
private static readonly string CallbackTag = "UpdateDialogCallback";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
private static readonly GameScenes SceneName = GameScenes.EarningsReport;
[SerializeField] private Animator backgroundAnimator;
[SerializeField] private Button closeButton;
[SerializeField] private Text coinText;
[SerializeField] private Text heartText;
[SerializeField] private Text shopCustomizeCoinText;
private void Start()
{
var onClose = LocalCacheManager.Load<Action>(CallbackTag, default);
LocalCacheManager.Remove(CallbackTag);
var cityGameData = GameDataManager.GetCurrentCityGameData();
var partTimersList = SpreadsheetDataManager.Instance.GetBaseDataList<PartTimerData>(Const.PartTimerDataSheet);
var partTimerData = partTimersList.First(data => data.level == cityGameData.PartTimerLevel);
var (coin, heart) = PartTimerManager.CalcEarnings(partTimerData, cityGameData.PartTimerElapsed);
coinText.text = coin.ToString();
heartText.text = heart.ToString();
shopCustomizeCoinText.text = 0.ToString();
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{
onClose?.Invoke();
transform.parent.SetLocalScale(0);
backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () =>
{
TransitionManager.Instance.UnloadScene(SceneName);
});
}).AddTo(this);
}
public static void ShowDialog(Action onClose = null)
{
LocalCacheManager.Save(CallbackTag, onClose);
TransitionManager.Instance.LoadSceneAdditive(SceneName);
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 01ca388010e24120aa98f212127e2687
timeCreated: 1664165347

View File

@ -63,5 +63,12 @@ namespace MyGame.Scripts
{
saveElapsed = 0f;
}
public static (int coin, int heart) CalcEarnings(PartTimerData partTimerData, int elapsed)
{
var coin = (int)Mathf.Min((float)partTimerData.sales / 10 * elapsed, partTimerData.maxSales);
var heart = (int)Mathf.Min((float)partTimerData.heart / 10 * elapsed, partTimerData.maxHeart);
return (coin, heart);
}
}
}

View File

@ -56,6 +56,7 @@ public enum GameScenes
WorldMapInvestment,
WorldMap_FoodStand,
EmploymentList,
EarningsReport
}
public enum SceneType

View File

@ -158,4 +158,7 @@ EditorBuildSettings:
- enabled: 1
path: Assets/MyGame/Scenes/Main/EmploymentList.unity
guid: 314b9b13d02d4904b936faaa05256203
- enabled: 1
path: Assets/MyGame/Scenes/Main/EarningsReport.unity
guid: 3360f0f6c15d62f4f97b27f999b72baf
m_configObjects: {}