public EnemyFactory(ITickManager tickManager, ICameraManager cameraManager,
                     IEnemyProvider enemyProvider)
 {
     _tickManager   = tickManager;
     _cameraManager = cameraManager;
     _enemyProvider = enemyProvider;
 }
 public PlayerManager(IPlayerConfig playerConfig, ITickManager tickManager,
                      ICameraManager cameraManager, ISpellManager spellManager)
 {
     _playerConfig  = playerConfig;
     _tickManager   = tickManager;
     _cameraManager = cameraManager;
     _spellManager  = spellManager;
 }
예제 #3
0
파일: DM.cs 프로젝트: TheFuseGamer/FGMM-DM
 public DM(Logger logger, IEventManager events, IRpcHandler rpc, ITickManager tickManager)
 {
     Logger      = logger;
     Events      = events;
     Rpc         = rpc;
     TickManager = tickManager;
     GameService = new GameService(new Logger("DM | GameService"), Events, Rpc, TickManager);
     Start();
 }
예제 #4
0
 protected Service(ILogger logger, ITickManager ticks, IEventManager events, IRpcHandler rpc, ICommandManager commands, OverlayManager overlayManager, User user)
 {
     this.Logger         = logger;
     this.Ticks          = ticks;
     this.Events         = events;
     this.Rpc            = rpc;
     this.Commands       = commands;
     this.OverlayManager = overlayManager;
     this.User           = user;
 }
예제 #5
0
        public GameService(ILogger logger, IEventManager events, IRpcHandler rpc, ITickManager tickManager) : base(logger, events, rpc, tickManager)
        {
            Logger.Info("Game service started.");
            Rpc.Event(DMEvents.Spawn).On <SpawnData>(OnSpawnRequested);
            Rpc.Event(DMEvents.Start).On(OnGameStarted);
            Rpc.Event(DMEvents.UpdateTimer).On <int>(OnTimerUpdated);
            Rpc.Event(ServerEvents.MissionEnded).On(OnMissionEnded);

            TickManager.Attach(MissionTimerTick);
        }
예제 #6
0
        public void Dispose()
        {
            InputManager inputManager = _context.GetInputManager();

            inputManager.OnKeyPressed  -= OnKeyPressed;
            inputManager.OnKeyReleased -= OnKeyReleased;

            ITickManager tickManager = _context.GetITickManager();

            tickManager.OnFrameQueued -= OnFrameQueued;
        }
예제 #7
0
        protected Service(ILogger logger, ITickManager ticks, ICommunicationManager comms, ICommandManager commands, IOverlayManager overlayManager, User user)
        {
            this.Logger         = logger;
            this.Ticks          = ticks;
            this.Comms          = comms;
            this.Commands       = commands;
            this.OverlayManager = overlayManager;
            this.User           = user;

            // Load empty default catalog
            this.Catalog = new LocaleCatalog(new Catalog(CultureInfo.InvariantCulture));

            var type = GetType();

            // Get all embedded resources
            var catalogs = type.Assembly.GetManifestResourceNames();

            if (!catalogs.Any())
            {
                return;
            }

            // Match found cultures with server cultures
            var matches = ClientConfiguration.Locale.Culture.Where(c => catalogs.Contains($"{type.Namespace}.Locales.{c.Name}.mo")).ToList();

            foreach (var culture in matches)
            {
                using (var resourceStream = type.Assembly.GetManifestResourceStream($"{type.Namespace}.Locales.{culture.Name}.mo"))
                {
                    if (resourceStream == null)
                    {
                        continue;
                    }

                    try
                    {
                        // Load MO file locale
                        this.Catalog = new LocaleCatalog(new Catalog(new MoLoader(resourceStream, new MoFileParser(Encoding.UTF8, false)), culture));

                        this.Logger.Debug($"Loaded locale: {type.Namespace}.Locales.{culture.Name}.mo");

                        break;
                    }
                    catch (Exception ex)
                    {
                        this.Logger.Error(ex, $"Loading plugin locale catalog failed: {type.Namespace}.Locales.{culture.Name}.mo");
                    }
                }
            }
        }
예제 #8
0
        public PlayerInputComponent(IContext context, IEntity entity)
        {
            _context = context;
            _entity  = entity;

            InputManager inputManager = context.GetInputManager();

            inputManager.OnKeyPressed  += OnKeyPressed;
            inputManager.OnKeyReleased += OnKeyReleased;

            ITickManager tickManager = context.GetITickManager();

            tickManager.OnFrameQueued += OnFrameQueued;
        }
예제 #9
0
파일: Game.cs 프로젝트: Pedlar/PacmanOgre
        public Game(ApplicationContextBase applicationContextBase)
        {
            _applicationContextBase = applicationContextBase;
            _disposables            = new List <IDisposable>();
            _keyListener            = new KeyListener(applicationContextBase);
            _inputManager           = new InputManager(this);
            _tickManager            = new TickManager();
            _sceneManager           = new Scene.SceneManager(this);

            _disposables
            .Append(_inputManager)
            .Append(_keyListener)
            .Append(_tickManager)
            .Append(_sceneManager);
        }
예제 #10
0
 public VehiclesService(ILogger logger, ITickManager ticks, IEventManager events, IRpcHandler rpc,
                        ICommandManager commands, OverlayManager overlay, User user) : base(logger, ticks, events, rpc, commands,
                                                                                            overlay, user)
 {
 }
 public CameraManager(ICameraConfig cameraConfig, ITickManager tickManager)
 {
     _cameraConfig = cameraConfig;
     _tickManager  = tickManager;
 }
예제 #12
0
 public InventoryService(ILogger logger, ITickManager ticks, ICommunicationManager comms, ICommandManager commands, IOverlayManager overlay, User user) : base(logger, ticks, comms, commands, overlay, user)
 {
     this.comms = comms;
 }
예제 #13
0
 public MetricsService(ILogger logger, ITickManager ticks, IEventManager events, IRpcHandler rpc, ICommandManager commands, OverlayManager overlay, User user) : base(logger, ticks, events, rpc, commands, overlay, user)
 {
     this.Rpc.Event("metric").On(new Action <IRpcEvent, object>((e, data) => this.Rpc.Event("metric").Trigger(data)));
 }
 public DisableDispatchService(ILogger logger, ITickManager ticks, ICommunicationManager comms, ICommandManager commands, IOverlayManager overlay, User user) : base(logger, ticks, comms, commands, overlay, user)
 {
 }
예제 #15
0
 public TickModuleInitializeCommand(ITickManager tickManager)
 {
     _tickManager = tickManager;
 }
예제 #16
0
 public CharacterService(ILogger logger, ITickManager ticks, ICommunicationManager comms, ICommandManager commands, IOverlayManager overlay, User user) : base(logger, ticks, comms, commands, overlay, user)
 {
 }
예제 #17
0
 public PluginAdminService(ILogger logger, ITickManager ticks, IEventManager events, IRpcHandler rpc, ICommandManager commands, OverlayManager overlay, User user) : base(logger, ticks, events, rpc, commands, overlay, user)
 {
     this.Commands.Register("car", new Action <string>(Car));
     this.Commands.Register("dv", new Action(Dv));
     this.Commands.Register("noclip", new Action(ToggleNoclip));
 }