バイト報酬の羽の付与処理追加
This commit is contained in:
parent
2a5d3dd8c6
commit
0c286fd8c8
|
|
@ -35,8 +35,8 @@ namespace MyGame.Scenes.Main.Scripts
|
||||||
var (coin, heart) = PartTimerManager.CalcEarnings(partTimerData, cityGameData.PartTimerElapsed);
|
var (coin, heart) = PartTimerManager.CalcEarnings(partTimerData, cityGameData.PartTimerElapsed);
|
||||||
coinText.text = coin.ToString();
|
coinText.text = coin.ToString();
|
||||||
heartText.text = heart.ToString();
|
heartText.text = heart.ToString();
|
||||||
shopCustomizeCoinText.text = 0.ToString();
|
shopCustomizeObject.SetActive(PartTimerManager.Instance.CheckEarningsCustomizeCoin(true));
|
||||||
shopCustomizeObject.SetActive(false);
|
shopCustomizeCoinText.text = "1";
|
||||||
|
|
||||||
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,7 @@ public class KitchenManager : MonoBehaviour
|
||||||
CoinManager.Instance.AddCoinForBulkOrder(coin, coinPos);
|
CoinManager.Instance.AddCoinForBulkOrder(coin, coinPos);
|
||||||
cityGameData.Coin = CoinManager.Instance.OwnCoin;
|
cityGameData.Coin = CoinManager.Instance.OwnCoin;
|
||||||
cityGameData.PartTimerElapsed -= partTimerElapsed;
|
cityGameData.PartTimerElapsed -= partTimerElapsed;
|
||||||
|
globalGameData.ShopCustomizeCoin += PartTimerManager.Instance.GetCustomizeCoin();
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -200,6 +200,7 @@ public sealed class GameData {
|
||||||
// バイト君
|
// バイト君
|
||||||
public int PartTimerLevel;
|
public int PartTimerLevel;
|
||||||
public int PartTimerElapsed; // ゲーム起動中経過時間
|
public int PartTimerElapsed; // ゲーム起動中経過時間
|
||||||
|
public int CustomizeCoinElapsed; // 羽の獲得用経過時間
|
||||||
|
|
||||||
// mission
|
// mission
|
||||||
[DataMember(Name = "Data1001")]
|
[DataMember(Name = "Data1001")]
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ using System.Linq;
|
||||||
using UniRx;
|
using UniRx;
|
||||||
using UniRx.Triggers;
|
using UniRx.Triggers;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using Random = UnityEngine.Random;
|
||||||
|
|
||||||
namespace MyGame.Scripts
|
namespace MyGame.Scripts
|
||||||
{
|
{
|
||||||
|
|
@ -11,6 +12,9 @@ namespace MyGame.Scripts
|
||||||
{
|
{
|
||||||
[SerializeField] private int updateTiming = 2;
|
[SerializeField] private int updateTiming = 2;
|
||||||
[SerializeField] private int saveTiming = 10;
|
[SerializeField] private int saveTiming = 10;
|
||||||
|
[SerializeField] private int shopCustomizeCoinTiming = 86400; // 1day
|
||||||
|
[SerializeField] private int targetCount = 3;
|
||||||
|
private int checkCount;
|
||||||
private float saveElapsed;
|
private float saveElapsed;
|
||||||
private List<GameData> partTimerList;
|
private List<GameData> partTimerList;
|
||||||
private void Start()
|
private void Start()
|
||||||
|
|
@ -34,6 +38,8 @@ namespace MyGame.Scripts
|
||||||
cityGameData.PartTimerElapsed += updateTiming;
|
cityGameData.PartTimerElapsed += updateTiming;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GameDataManager.GameData.CustomizeCoinElapsed += updateTiming;
|
||||||
|
|
||||||
saveElapsed += updateTiming;
|
saveElapsed += updateTiming;
|
||||||
if (saveTiming < saveElapsed)
|
if (saveTiming < saveElapsed)
|
||||||
{
|
{
|
||||||
|
|
@ -66,6 +72,46 @@ namespace MyGame.Scripts
|
||||||
saveElapsed = 0f;
|
saveElapsed = 0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// バイト報酬の羽を取得
|
||||||
|
/// アプリ起動中の報酬受取回数によって付与を決める
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int GetCustomizeCoin()
|
||||||
|
{
|
||||||
|
if (CheckEarningsCustomizeCoin())
|
||||||
|
{
|
||||||
|
checkCount = 0;
|
||||||
|
GameDataManager.GameData.CustomizeCoinElapsed -= shopCustomizeCoinTiming;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 受取可能チェック
|
||||||
|
/// checkCountがTargetCount以上になれば受取可能
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool CheckEarningsCustomizeCoin(bool withCount = false)
|
||||||
|
{
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
Debug.Log($"CustomizeCoinElapsed:{GameDataManager.GameData.CustomizeCoinElapsed}/{shopCustomizeCoinTiming} checkCount:{checkCount}/{targetCount}");
|
||||||
|
#endif
|
||||||
|
if (shopCustomizeCoinTiming <= GameDataManager.GameData.CustomizeCoinElapsed)
|
||||||
|
{
|
||||||
|
if (withCount)
|
||||||
|
{
|
||||||
|
checkCount++;
|
||||||
|
}
|
||||||
|
if (targetCount <= checkCount)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public static (int coin, int heart) CalcEarnings(PartTimerData partTimerData, int elapsed)
|
public static (int coin, int heart) CalcEarnings(PartTimerData partTimerData, int elapsed)
|
||||||
{
|
{
|
||||||
var coin = (int)Mathf.Min((float)partTimerData.sales / 10 * elapsed, partTimerData.maxSales);
|
var coin = (int)Mathf.Min((float)partTimerData.sales / 10 * elapsed, partTimerData.maxSales);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue