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); }
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); }
public IDefinitionClass CreateInstance(UiController controller, object context) { IDefinitionClass obj = (IDefinitionClass)Activator.CreateInstance(Class); if (obj.Init(controller, context, this)) { return(obj); } return(null); }
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)); }
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); }