protected virtual void InstantiateView(InstantiateViewCommand data) { var scene = data.Scene as Scene; GameObject viewPrefab = null; if (data.Prefab != null) { viewPrefab = data.Prefab; } else if (data.ViewModelObject != null) { viewPrefab = ViewResolver.FindView(data.ViewModelObject); } else { throw new Exception("No Prefab or Viewmodel were passed in."); //viewPrefab = uFrameMVVMKernel.ViewResolver.FindView(data.Identifier); } var result = Instantiate(viewPrefab) as GameObject; var resultView = result.GetComponent <ViewBase>(); if (data.ViewModelObject != null) { resultView.Identifier = data.ViewModelObject.Identifier; resultView.ViewModelObject = data.ViewModelObject; } else if (!string.IsNullOrEmpty(data.Identifier)) { resultView.Identifier = data.Identifier; } resultView.CreateEventData = new ViewCreatedEvent() { IsInstantiated = true, View = resultView, Scene = data.Scene, }; if (scene != null) { resultView.transform.parent = scene.transform; } data.Result = resultView; }
protected virtual void InstantiateView(InstantiateViewCommand data) { var scene = data.Scene as Scene; GameObject viewPrefab = null; if (data.Prefab != null) { viewPrefab = data.Prefab; } else if (data.ViewModelObject != null) { viewPrefab = ViewResolver.FindView(data.ViewModelObject); } else { throw new Exception("No Prefab or Viewmodel were passed in."); //viewPrefab = uFrameMVVMKernel.ViewResolver.FindView(data.Identifier); } var result = Instantiate(viewPrefab) as GameObject; var resultView = result.GetComponent<ViewBase>(); if (data.ViewModelObject != null) { resultView.Identifier = data.ViewModelObject.Identifier; resultView.ViewModelObject = data.ViewModelObject; } else if (!string.IsNullOrEmpty(data.Identifier)) { resultView.Identifier = data.Identifier; } resultView.CreateEventData = new ViewCreatedEvent() { IsInstantiated = true, View = resultView, Scene = data.Scene, }; if (scene != null) resultView.transform.parent = scene.transform; data.Result = resultView; }
public static ViewBase InstantiateView(this Transform parent, GameObject prefab, ViewModel model, Vector3 position, Quaternion rotation, string identifier = null) { var parentScene = parent.GetComponent <Scene>(); var command = new InstantiateViewCommand() { Identifier = identifier, ViewModelObject = model, Scene = parentScene, Prefab = prefab }; uFrameKernel.EventAggregator.Publish(command); command.Result.transform.position = position; command.Result.transform.rotation = rotation; return(command.Result); }