自動調理の進捗計算修正

This commit is contained in:
kimura 2022-04-15 11:16:43 +09:00
parent 5938a90aa6
commit b5c0c871b9
2 changed files with 5 additions and 4 deletions

View File

@ -42,7 +42,7 @@ namespace MyGame.Scenes.Main.Scripts
}); });
}).AddTo(this); }).AddTo(this);
ResetTimer((int) remainingTime.TotalSeconds, autoCookData.duration); ResetTimer((int)remainingTime.TotalSeconds, (int)TimeSpan.FromHours(autoCookData.duration).TotalSeconds);
} }
private void SetProgressImage(float value) private void SetProgressImage(float value)
@ -61,6 +61,7 @@ namespace MyGame.Scenes.Main.Scripts
// タイマーの更新処理 // タイマーの更新処理
timerDisposable?.Dispose(); timerDisposable?.Dispose();
SetTime(remainingTime); SetTime(remainingTime);
SetProgressImage(1f - (float)remainingTime/duration);
timerDisposable = Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f)) timerDisposable = Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f))
.Select(x => (int)(remainingTime - x)) .Select(x => (int)(remainingTime - x))
.TakeWhile(x => x > 0) .TakeWhile(x => x > 0)

View File

@ -83,7 +83,7 @@ public class KitchenManager : MonoBehaviour
var isReady = gameData.AutoCookProducts.Length == 0; var isReady = gameData.AutoCookProducts.Length == 0;
if (!isReady) if (!isReady)
{ {
autoCookView.ResetTimer((int)remainingTime.TotalSeconds, autoCookData.duration); autoCookView.ResetTimer((int)remainingTime.TotalSeconds, (int)TimeSpan.FromHours(autoCookData.duration).TotalSeconds);
} }
autoCookView.Button.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => autoCookView.Button.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ =>
{ {
@ -97,7 +97,7 @@ public class KitchenManager : MonoBehaviour
autoCookView.ShowDialog(CookState.Ready, () => autoCookView.ShowDialog(CookState.Ready, () =>
{ {
remainingTime = DateTime.FromBinary(gameData.AutoCookFinishTime).Subtract(DateTime.UtcNow); remainingTime = DateTime.FromBinary(gameData.AutoCookFinishTime).Subtract(DateTime.UtcNow);
autoCookView.ResetTimer((int)remainingTime.TotalSeconds, autoCookData.duration); autoCookView.ResetTimer((int)remainingTime.TotalSeconds, (int)TimeSpan.FromHours(autoCookData.duration).TotalSeconds);
}); });
}); });
return; return;
@ -122,7 +122,7 @@ public class KitchenManager : MonoBehaviour
autoCookView.ShowDialog(state, () => autoCookView.ShowDialog(state, () =>
{ {
remainingTime = DateTime.FromBinary(gameData.AutoCookFinishTime).Subtract(DateTime.UtcNow); remainingTime = DateTime.FromBinary(gameData.AutoCookFinishTime).Subtract(DateTime.UtcNow);
autoCookView.ResetTimer((int)remainingTime.TotalSeconds, autoCookData.duration); autoCookView.ResetTimer((int)remainingTime.TotalSeconds, (int)TimeSpan.FromHours(autoCookData.duration).TotalSeconds);
}); });
}).AddTo(this); }).AddTo(this);
} }