70 lines
1.7 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace rabi_splitter_WPF
{
2017-05-04 22:08:21 +08:00
enum InGameActivity
{
STARTING,
WALKING,
BOSS_BATTLE,
}
2017-05-04 22:08:21 +08:00
class InGameState
{
public int nRestarts;
public int nDeaths;
public int nDeathsAlt;
2017-05-04 22:08:21 +08:00
public InGameActivity currentActivity;
2017-05-08 21:59:24 +08:00
public BossFight currentBossFight;
public DateTime currentBossStartTime;
public BossFight lastBossFight;
public TimeSpan lastBossFightDuration;
public int lastNonZeroPlayTime = -1;
2017-05-04 22:08:21 +08:00
public InGameState()
{
2017-05-04 22:08:21 +08:00
currentActivity = InGameActivity.STARTING;
2017-05-08 21:59:24 +08:00
currentBossFight = null;
lastBossFight = null;
}
2017-05-04 22:08:21 +08:00
public bool CurrentActivityIs(InGameActivity gameActivity)
{
return currentActivity == gameActivity;
}
public bool IsGameStarted()
{
2017-05-04 22:08:21 +08:00
return !CurrentActivityIs(InGameActivity.STARTING);
}
2017-05-08 21:59:24 +08:00
public void StartBossFight(BossFight bossFight)
{
currentActivity = InGameActivity.BOSS_BATTLE;
currentBossStartTime = DateTime.Now;
currentBossFight = bossFight;
}
public void StopBossFight()
{
currentActivity = InGameActivity.WALKING;
currentBossFight = null;
}
2017-05-08 21:59:24 +08:00
public void FinishBossFight()
{
lastBossFight = currentBossFight;
lastBossFightDuration = (DateTime.Now - currentBossStartTime);
currentActivity = InGameActivity.WALKING;
currentBossFight = null;
}
}
}