39 lines
1.4 KiB
C#
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;
|
|
}
|
|
|
|
}
|