Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
        }