Exemple #1
0
        protected override void LoadContent()
        {
            _inited = true;
            if (_mainView == null)
            {
                return;
            }

            _drawBatch = new AdvancedDrawBatch(GraphicsDevice);

            ContentLoading?.Invoke(this);

            IDefinitionClass obj = _mainView.CreateInstance(null, null);

            MainView = (UiContainer)obj;

            MainView.RecalculateAll();

            MainView.RegisterView();
            MainView.ViewAdded();

            ViewLoaded?.Invoke(this);

            MainView.Bounds = new Rectangle(0, 0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
        }
Exemple #2
0
        protected override void LoadContent()
        {
            _drawBatch = new AdvancedDrawBatch(GraphicsDevice);

            if (ContentLoading != null)
            {
                ContentLoading(this);
            }

            IDefinitionClass obj = _mainView.CreateInstance(null, null);

            MainView = (UiContainer)obj;

            MainView.RecalculateAll();

            MainView.RegisterView();
            MainView.ViewAdded();

            if (ViewLoaded != null)
            {
                ViewLoaded(this);
            }

            MainView.Bounds = new Rectangle(0, 0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
        }
Exemple #3
0
        public IDefinitionClass CreateInstance(UiController controller, object context)
        {
            IDefinitionClass obj = (IDefinitionClass)Activator.CreateInstance(Class);

            if (obj.Init(controller, context, this))
            {
                return(obj);
            }
            return(null);
        }
Exemple #4
0
        internal void NavigateTo(DefinitionFile def, InvokeParameters parameters)
        {
            if (def == null)
            {
                AddPage(null);
                return;
            }

            Type controllerType = def["PageController"] as Type;

            UiController controller = Controller;

            bool attachController = false;

            if (controllerType != null)
            {
                var newController = Activator.CreateInstance(controllerType) as UiController;

                if (newController != null)
                {
                    newController.Parent = Controller;
                    controller           = newController;
                    attachController     = true;
                }
            }

            IDefinitionClass obj = (IDefinitionClass)Activator.CreateInstance(def.Class);

            if (!(obj is UiPage))
            {
                throw new Exception("Error while navigating to page. The given file doesn't define UiPage.");
            }

            if (controller is UiNavigationController)
            {
                (controller as UiNavigationController).InitPage(parameters);
            }

            if (attachController)
            {
                (obj as UiView).Controller = controller;
            }

            if (!obj.Init(controller, Binding, def))
            {
                throw new Exception("Error while navigating to page.");
            }

            AddPage(obj as UiPage);
            _history.Add(new Tuple <DefinitionFile, InvokeParameters>(def, parameters));
        }
Exemple #5
0
        public void ReloadView(string path)
        {
            DefinitionFile file = ContentLoader.Current.Load <DefinitionFile>(path);

            _mainView = file;

            IDefinitionClass obj = _mainView.CreateInstance(null, null);

            MainView = (UiContainer)obj;

            MainView.RecalculateAll();

            MainView.RegisterView();
            MainView.ViewAdded();


            ViewLoaded?.Invoke(this);


            MainView.Bounds = new Rectangle(0, 0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
        }