public GlobalModel(IArmletDeliveryServece armletService, IGateDeliveryService gateService, ShipDamageServiceObj shipDamageService) { _armletService = armletService; _gateDeliveryService = gateService; _shipDamageService = shipDamageService; _gates = new Lazy <GateModel> [Byte.MaxValue + 1]; for (var gateIndex = 0; gateIndex <= Byte.MaxValue; gateIndex++) { var index = (byte)gateIndex; //To prevent closure problems. C# 5.0 will fix it _gates[gateIndex] = new Lazy <GateModel>(() => new GateModel(gateService, index)); } for (var armletIndex = 1; armletIndex <= 120; armletIndex++) { _armletList.CreateIfNeeded((byte)armletIndex, armletId => _armletStorage.CreateObject(armletId, this)); } foreach (var shipIdx in _shipStorage.Keys) { _shipList.CreateIfNeeded(shipIdx, id => _shipStorage.CreateObject(id, this)); } _armletService.ArmletsStatusUpdate += ArmletServiceArmletsStatusUpdate; gateService.GateConnected += OnNewGateOnline; _armletService.ArmletSuccess += OnArmletListSuccess; _armletService.ArmletSendsData += _armletService_ArmletSendsData; shipDamageService.ShipDamaged += ShipDamageServiceOnShipDamaged; shipDamageService.ShipDestroyed += ShipDamageServiceOnShipDestroyed; shipDamageService.SimulatorDisconnectedEvent += ShipDamageServiceOnSimulatorDisconnectedEvent; // ReSharper disable once ObjectCreationAsStatement heartBeat_timer = new Timer(SendHeartBeat, 0, 0, 1 * 1000); // ReSharper disable once ObjectCreationAsStatement effectTimer = new Timer(ApplyShipEffects, 0, 0, 60 * 1000); }
public GlobalModel(IArmletDeliveryServece armletService, IGateDeliveryService gateService, ShipDamageServiceObj shipDamageService) { _armletService = armletService; _gateDeliveryService = gateService; _shipDamageService = shipDamageService; _gates = new Lazy<GateModel>[Byte.MaxValue + 1]; for (var gateIndex = 0; gateIndex <= Byte.MaxValue; gateIndex++) { var index = (byte) gateIndex; //To prevent closure problems. C# 5.0 will fix it _gates[gateIndex] = new Lazy<GateModel>(() => new GateModel(gateService, index)); } for (var armletIndex = 1; armletIndex <= 120; armletIndex++) { _armletList.CreateIfNeeded((byte)armletIndex, armletId => _armletStorage.CreateObject(armletId, this)); } foreach (var shipIdx in _shipStorage.Keys) { _shipList.CreateIfNeeded(shipIdx, id => _shipStorage.CreateObject(id, this)); } _armletService.ArmletsStatusUpdate +=ArmletServiceArmletsStatusUpdate; gateService.GateConnected += OnNewGateOnline; _armletService.ArmletSuccess += OnArmletListSuccess; _armletService.ArmletSendsData += _armletService_ArmletSendsData; shipDamageService.ShipDamaged += ShipDamageServiceOnShipDamaged; shipDamageService.ShipDestroyed += ShipDamageServiceOnShipDestroyed; shipDamageService.SimulatorDisconnectedEvent += ShipDamageServiceOnSimulatorDisconnectedEvent; // ReSharper disable once ObjectCreationAsStatement heartBeat_timer = new Timer(SendHeartBeat, 0, 0, 1 * 1000); // ReSharper disable once ObjectCreationAsStatement effectTimer = new Timer(ApplyShipEffects, 0, 0, 60*1000); }
public ShipDamageServiceCallback(ShipDamageServiceObj serviceObj) { _serviceObj = serviceObj; }