Exemplo n.º 1
0
        public GlobalModel(IArmletDeliveryServece armletService, IGateDeliveryService gateService)
        {
            _armletService = armletService;
            _gateService   = gateService;

            _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, CreateArmlet);
            }


            _armletService.ArmletsStatusUpdate += ArmletServiceArmletsStatusUpdate;
            _gateService.GateConnected         += OnNewGateOnline;
            _armletService.ArmletSuccess       += OnArmletListSuccess;
            _armletService.ArmletSendsData     += _armletService_ArmletSendsData;

            _timer = new Timer(SendHeartBeat, 0, 0, 1 * 1000);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public GlobalModel(IArmletDeliveryServece armletService, IGateDeliveryService gateService)
        {
            _armletService = armletService;
            _gateService = gateService;

            _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, CreateArmlet);
            }

            _armletService.ArmletsStatusUpdate +=ArmletServiceArmletsStatusUpdate;
            _gateService.GateConnected += OnNewGateOnline;
            _armletService.ArmletSuccess += OnArmletListSuccess;
            _armletService.ArmletSendsData += _armletService_ArmletSendsData;

            _timer = new Timer(SendHeartBeat, 0, 0, 1 * 1000);
        }
Exemplo n.º 4
0
        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);
        }