public ShipFactory(IGalaxyRegistrationManager rm, WarpManager wm, ILocalIDManager galaxyIdManager, LocatorService ls, IDatabaseManager dbm) { _galaxyRegistrationManager = rm; _warpManager = wm; _galaxyIdManager = galaxyIdManager; _locatorService = ls; _databaseManager = dbm; }
public AccountManager(ILocalIDManager idm, IDatabaseManager dbm) { _accountIDManager = idm; _databaseManager = dbm; if (idm.IDType != IDTypes.AccountID) { throw new Exception("Error: " + idm.GetType().ToString() + " must be of type " + IDTypes.AccountID + " in " + this.GetType().ToString()); } }
public StructureManager(IDatabaseManager dbm, IAreaLocator areaLocator, ILocalIDManager galaxyIDManager, CargoSynchronizer cargoSynchronizer) : base(dbm) { if (galaxyIDManager.IDType != IDTypes.GalaxyID) { throw new Exception("Error: LocalIDManager required for StructureManager must be of IDTypes.GalaxyID"); } _galaxyIDManager = galaxyIDManager; _cargoSynchronizer = cargoSynchronizer; _areaLocator = areaLocator; }
/// <summary> /// Initializes account manager by filling accounts with passed List /// </summary> /// <param name="fileName"></param> public AccountManager_MasterServer(ILocalIDManager idm, IDatabaseManager dbm, bool fetchAccountsFromDB = true) : base(idm, dbm) { if (fetchAccountsFromDB) { var accountModels = _databaseManager.GetAllAccountsAsync().Result; foreach (var a in accountModels) { Account newAccount = new Account(a); RegisterAccount(newAccount); } } }
async Task AddCargoToPlayerShips(IEnumerable <IShip> ships, ILocalIDManager galaxyIDManager, GalaxyRegistrationManager registrationManager, CargoSynchronizer cargoSynchronizer) { //Making this into a grand test of transaction sequences, there's really no reason to put this all into one sequence CargoTransactionSequence cs = new CargoTransactionSequence(); foreach (var s in ships) { for (int i = 0; i < _config.CARGO_NumTurrets; i++)//Sending ship state over a network might be painful while this is here... { CargoLaserTurret c = new CargoLaserTurret(galaxyIDManager.PopFreeID(), 666, new LaserWeaponStats()); TransactionAddStatefulCargo t = new TransactionAddStatefulCargo(s, c, true); cs.Add(t); registrationManager.RegisterObject(c); } TransactionAddStatelessCargo tr = new TransactionAddStatelessCargo(s, StatelessCargoTypes.AmbassadorMissile, _config.CARGO_NumMissiles, true); cs.Add(tr); tr = new TransactionAddStatelessCargo(s, StatelessCargoTypes.HellHoundMissile, _config.CARGO_NumMissiles, true); cs.Add(tr); tr = new TransactionAddStatelessCargo(s, StatelessCargoTypes.MissileType1, _config.CARGO_NumMissiles, true); cs.Add(tr); tr = new TransactionAddStatelessCargo(s, StatelessCargoTypes.MissileType2, _config.CARGO_NumMissiles, true); cs.Add(tr); tr = new TransactionAddStatelessCargo(s, StatelessCargoTypes.MissileType3, _config.CARGO_NumMissiles, true); cs.Add(tr); tr = new TransactionAddStatelessCargo(s, StatelessCargoTypes.MissileType4, _config.CARGO_NumMissiles, true); cs.Add(tr); tr = new TransactionAddStatelessCargo(s, StatelessCargoTypes.Biodome, _config.CARGO_NumBiodomes, true); cs.Add(tr); } cargoSynchronizer.RequestAtomicTransactionSequence(cs); await cs.ResultTask; if (cs.ResultTask.Result != CargoResult.Success) { ConsoleManager.WriteLine(cs.ResultTask.Result.ToString()); } return; }