Пример #1
0
        public bool Start(Configuration ConfigFromUI)
        {
            _container.Config = ConfigFromUI;


            try
            {
                _container.Start();

                Msgbox.ShowMsgbox("Manager started", "Manager is Running!", "", "", "OK");

                //for heirarchical stuff
                //				if (Config.Intermediate)
                //				{
                //					//Config.Id = Manager.Id;
                //					//Config.Dedicated = Manager.Dedicated;
                //				}
                return(true);
            }
            catch (Exception ex)
            {
                _container = null;
                string errorMsg = string.Format("Could not start Manager. Reason: {0}{1}", Environment.NewLine, ex.Message);
                if (ex.InnerException != null)
                {
                    errorMsg += string.Format("{0}", ex.InnerException.Message);
                }
                //Log(errorMsg);
                logger.Error(errorMsg, ex);
                return(false);
            }


            //Application should refresh UI controls now
        }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        public MainViewModel()
        {
            ViewportManager  = new ViewportManager();
            LayersManager    = new LayersManager(ViewportManager);
            ToolsManager     = new ToolsManager(LayersManager, ViewportManager);
            ManagerContainer = new ManagerContainer(ViewportManager, LayersManager, ToolsManager);
            if (!IsInDesignMode)
            {
                ToolsManager.InitInstance();
            }

            RestoreWindowCommand = new RelayCommand(SetWindowActive);
            DisplaySettings      = new RelayCommand(() =>
            {
                var sw = new SettingsWindow();
                sw.Show();
            });

            CloseAppCommand = new RelayCommand(() =>
            {
                Application.Current.Shutdown();
            });

            StartUsingToolCommand = new RelayCommand(() => ToolsManager.ActivateTool());
            EndUsingToolCommand   = new RelayCommand(() => ToolsManager.DeactivateTool());
            MoveMoveCommand       = new RelayCommand(() => ToolsManager.ReactOnMouseMove());
        }
Пример #3
0
        protected override void StopManager()
        {
            if (Started)
            {
                uiProgressBar.Value = 0;
                uiProgressBar.Show();
                uiProgressBar.Value = uiProgressBar.Maximum / 2;

                uiStatusBar.Text = "Stopping Manager...";
                Log("Stopping Manager...");
                uiStopButton.Enabled  = false;
                uiStartButton.Enabled = false;
                ucEndPoints.Enabled   = true;
                try
                {
                    _container.Stop();
                    _container = null;
                }
                catch (Exception ex)
                {
                    logger.Error("Error stopping manager", ex);
                }

                uiProgressBar.Value = uiProgressBar.Maximum;

                Log("Manager stopped.");
            }
            if (_container == null)
            {
                _container = new ManagerContainer();
            }

            _container.Config = GetConfigFromUI();
            RefreshUIControls(_container.Config);
        }
Пример #4
0
        protected override void StartManager()
        {
            if (Started)
            {
                RefreshUIControls();
                return;
            }

            //to avoid people from clicking this again
            btStart.Enabled = false;
            btReset.Enabled = false;
            btStop.Enabled  = false;

            statusBar.Text = "Starting Manager...";

            Log("Attempting to start Manager...");

            pbar.Value = 0;
            pbar.Show();

            Config = GetConfigFromUI();

            if (_container == null)
            {
                _container = new ManagerContainer();
            }

            _container.Config             = Config;
            _container.RemotingConfigFile = "Alchemi.ManagerExec.exe.config";

            Log("app name == " + System.IO.Path.GetFileName(Application.ExecutablePath));

            try
            {
                _container.Start();

                Log("Manager started");

                //for heirarchical stuff
                //				if (Config.Intermediate)
                //				{
                //					//Config.Id = Manager.Id;
                //					//Config.Dedicated = Manager.Dedicated;
                //				}
            }
            catch (Exception ex)
            {
                _container = null;
                string errorMsg = string.Format("Could not start Manager. Reason: {0}{1}", Environment.NewLine, ex.Message);
                if (ex.InnerException != null)
                {
                    errorMsg += string.Format("{0}", ex.InnerException.Message);
                }
                Log(errorMsg);
                logger.Error(errorMsg, ex);
            }
            RefreshUIControls();
        }
Пример #5
0
        private Configuration ReadManagerConfig(bool useDefault)
        {
            //in case it is a service, the container would be null since we dont need it really.
            //but we still need to get the config from it, so create a new one and read the config.
            ManagerContainer mc = new ManagerContainer();

            mc.ReadConfig();
            return(mc.Config);
        }
Пример #6
0
        //-----------------------------------------------------------------------------------------------

        private void ManagerMainForm_Load(object sender, EventArgs e)
        {
            //normal startup. not a service
            _container = new  ManagerContainer();
            _container.ReadConfig();

            RefreshUIControls(_container.Config);
            uiStartButton.Focus();
        }
Пример #7
0
 void Awake()
 {
     m_instance = null;
     m_instance = FindObjectOfType <ManagerContainer>();
     if (m_instance == null)
     {
         Debug.LogError("Failed to find ManagerContainer... Why? Just f*****g why?");
     }
 }
Пример #8
0
 public ManagerContainerWrapper()
 {
     ManagerContainer.ManagerStartEvent += new ManagerStartStatusEventHandler(this.Manager_StartStatusEvent);
     _container = new ManagerContainer();
     _container.RemotingConfigFile = "eduGRID_ManagerApp.exe.config";
     _container.ReadConfig(false, AppDomain.CurrentDomain.BaseDirectory, "eduGRIDManager.config.xml");
     Config = _container.Config;
     //After this is initialized, Application should read Config and fill up ui with default values
 }
        private void Awake()
        {
            Debug.Log("===Bootstrap запущен===");

            //Добавляем все менеджеры из списка в контейнер
            Managers.ForEach(manager =>
            {
                ManagerContainer.AddManager(manager);
            });
        }
Пример #10
0
        //-----------------------------------------------------------------------------------------------

        private void ManagerMainForm_Load(object sender, EventArgs e)
        {
            //normal startup. not a service
            _container = new  ManagerContainer();
            _container.ReadConfig(false);
            Config = _container.Config;

            RefreshUIControls();
            btStart.Focus();
        }
Пример #11
0
        private void ReadManagerConfig(bool useDefault)
        {
            //in case it is a service, the container would be null since we dont need it really.
            //but we still need to get the config from it, so create a new one and read the config.
            ManagerContainer mc = new ManagerContainer();

            mc.ReadConfig(useDefault);
            Config = mc.Config;
            mc     = null;
        }
Пример #12
0
        protected override void StartManager()
        {
            if (Started && _container != null)
            {
                RefreshUIControls(_container.Config);
                return;
            }

            //to avoid people from clicking this again
            uiStartButton.Enabled = false;
            uiResetButton.Enabled = false;
            uiStopButton.Enabled  = false;
            ucEndPoints.Enabled   = false;

            uiStatusBar.Text = "Starting Manager...";

            Log("Attempting to start Manager...");

            uiProgressBar.Value = 0;
            uiProgressBar.Show();

            if (_container == null)
            {
                _container = new ManagerContainer();
            }

            _container.Config             = GetConfigFromUI();
            _container.RemotingConfigFile = Assembly.GetExecutingAssembly().Location + ".config";

            try
            {
                _container.Start();

                Log("Manager started");

                //for heirarchical stuff
                //				if (Config.Intermediate)
                //				{
                //					//Config.Id = Manager.Id;
                //					//Config.Dedicated = Manager.Dedicated;
                //				}
            }
            catch (Exception ex)
            {
                string errorMsg = string.Format("Could not start Manager. Reason: {0}{1}", Environment.NewLine, ex.Message);
                if (ex.InnerException != null)
                {
                    errorMsg += string.Format("{0}", ex.InnerException.Message);
                }
                Log(errorMsg);
                logger.Error(errorMsg, ex);
            }
            RefreshUIControls(_container.Config);
        }
    public static T GetManager <T>(Scene scene) where T : Manager
    {
        T manager = null;
        ManagerContainer sceneContainer = null;

        if (ManagerAttributeCache.IsManagerAlwaysGlobal(typeof(T)))
        {
            return(GetGlobalManager <T>());
        }

        if (!s_managerContainers.TryGetValue(scene, out sceneContainer))
        {
            // if a a global container exists, check it before creating a scene one
            // while creating a blank scene manager would be valid, it is unexpected beahaviour.
            if (s_globalContainer != null)
            {
                manager = s_globalContainer.LookupManager(typeof(T)) as T;
                if (manager != null)
                {
                    return(manager);
                }
            }

            var gameObject = new GameObject(scene.name + " ManagerContainer (autogenerated)");
            sceneContainer = gameObject.AddComponent <ManagerContainer>();
        }

        manager = sceneContainer.LookupManager(typeof(T)) as T;
        if (manager != null)
        {
            return(manager);
        }

        if (s_globalContainer != null)
        {
            manager = s_globalContainer.LookupManager(typeof(T)) as T;
            if (manager != null)
            {
                return(manager);
            }
        }

        if (sceneContainer != null)
        {
            manager = sceneContainer.AutoconstructManager(typeof(T)) as T;
            if (manager != null)
            {
                return(manager);
            }
        }

        return(null);
    }
        /// <summary>
        /// Метод запуска игры
        /// </summary>
        public void InitGame()
        {
            var spawnMng = ManagerContainer.Get <SpawnManager>();

            //Создаем танк
            spawnMng.SpawnRandomTank();

            //Создаем 10 врагов
            for (int i = 0; i < 10; i++)
            {
                spawnMng.SpawnRandomEnemy();
            }
        }
    public static T GetGlobalManager <T>() where T : Manager
    {
        T manager = null;

        if (s_globalContainer == null)
        {
            var gameObject = new GameObject("Global ManagerContainer (autogenerated)");
            DontDestroyOnLoad(gameObject);
            s_globalContainer = gameObject.AddComponent <ManagerContainer>();
        }

        manager = s_globalContainer.GetManager <T>();
        return(manager);
    }
Пример #16
0
        public ManagerService()
        {
            // This call is required by the Windows.Forms Component Designer.
            InitializeComponent();
            try
            {
                _container = new  ManagerContainer();
                _container.RemotingConfigFile = "Alchemi.ManagerService.exe.config";

                Logger.LogHandler += new LogEventHandler(this.Log);
            }
            catch (Exception ex)
            {
                HandleAllUnknownErrors(null, ex);
            }
        }
Пример #17
0
        public bool Stop()
        {
            try
            {
                _container.Stop();
                _container = null;
                return(true);
            }
            catch (Exception ex)
            {
                logger.Error("Error stopping manager", ex);
                return(false);
            }

            //Refresh ui controlls
        }
Пример #18
0
        private void StopContainer()
        {
            try
            {
                if (_container != null)
                {
                    _container.Stop();
                }

                logger.Info("Stopped Alchemi Manager Service.");
            }
            catch (Exception ex)
            {
                logger.Error("Error stopping manager container", ex);
            }
            finally
            {
                _container = null;
            }
        }
Пример #19
0
        /// <summary>
        /// Обработчик события смены оружия
        /// </summary>
        private void WeaponChangedHandler()
        {
            //TODO: Не нравится обращение к контейнеру
            var weapon = ManagerContainer.Get <WeaponManager>().CurrentWeapon;

            switch (weapon.WeaponType)
            {
            case WeaponTypeEnum.Canon:
            {
                Canon.SetActive(true);
                MachineGun.SetActive(false);
                break;
            }

            case WeaponTypeEnum.MachineGun:
            {
                Canon.SetActive(false);
                MachineGun.SetActive(true);
                break;
            }
            }
        }
    public static T GetManager <T>(Scene scene) where T : Manager
    {
        T manager = null;
        ManagerContainer sceneContainer = null;

        if (!s_managerContainers.TryGetValue(scene, out sceneContainer))
        {
            var gameObject = new GameObject(scene.name + " ManagerContainer (autogenerated)");
            sceneContainer = gameObject.AddComponent <ManagerContainer>();
        }
        manager = sceneContainer.LookupManager(typeof(T)) as T;

        if (manager == null && s_globalContainer != null)
        {
            manager = s_globalContainer.LookupManager(typeof(T)) as T;
        }

        if (manager == null && sceneContainer != null)
        {
            manager = sceneContainer.AutoconstructManager(typeof(T)) as T;
        }

        return(manager);
    }
 public T GetManager <T>(Scene scene) where T : Manager
 {
     return(ManagerContainer.GetManager <T>(scene));
 }
 void LateUpdate()
 {
     ManagerContainer.Execute(x => x.OnLateUpdate());
 }
 void FixedUpdate()
 {
     ManagerContainer.Execute(x => x.OnFixedUpdate());
 }
 void Awake()
 {
     ManagerContainer.InitAllContainers();  m_initialized = true;
 }
 void Update()
 {
     ManagerContainer.StartOfFrame();
     ManagerContainer.ExecuteOnAllManagers(callOnUpdate);
 }
Пример #26
0
 public MoveState(TankControllingManager controllingManager) : base(controllingManager)
 {
     _controllingManager = controllingManager;
     _player             = ManagerContainer.Get <SpawnManager>().SpawnedTank;
 }
 void FixedUpdate()
 {
     ManagerContainer.ExecuteOnAllManagers(callFixedUpdate);
 }
 void LateUpdate()
 {
     ManagerContainer.ExecuteOnAllManagers(callLateUpdate);
 }
 public T GetGlobalManager <T>() where T : Manager
 {
     return(ManagerContainer.GetGlobalManager <T>());
 }
Пример #30
0
 public T GetManager <T>() where T : Manager
 {
     return(ManagerContainer.GetManager <T>(gameObject.scene));
 }