39 lines
1.4 KiB
C#

using System.Collections.Generic;
//что то типа Service Locator
public static class G
{
public static WeaponModel WeaponModel { get; private set; }
public static ScoreModel ScoreModel { get; private set; }
public static PlayerStateModel PlayerStateModel { get; private set; }
public static DangersModel DangersModel { get; private set; }
public static EndGameConditionChecker EndGameChecker;
public static GameSessionTerminator Terminator;
public static void Initialize(Player player, Health playerHealth, List<EnemyShip> enemyPrefabsToSpawn)
{
WeaponModel = new WeaponModel(player.ActiveWeapon, player.weaponsContainer);
ScoreModel = new ScoreModel(enemyPrefabsToSpawn);
PlayerStateModel = new PlayerStateModel(player, playerHealth);
DangersModel = new DangersModel();
string playtime = SettingsManager.GetString(SettingKey.PlayTime, "2 мин.");
int sessionTimeMinutes = PluralizeUtil.PlaytimeToMinutes(playtime);
EndGameChecker = new EndGameConditionChecker(WeaponModel, playerHealth, sessionTimeMinutes);
Terminator = new GameSessionTerminator();
EndGameChecker.OnEndGameCondition += Terminator.TerminateGame;
}
public static void Clear()
{
WeaponModel = null;
ScoreModel = null;
PlayerStateModel = null;
DangersModel = null;
}
}