public override void BindEntityController(DisplayableEntityController controller) { base.BindEntityController(controller); this.controller = base.controller as ComponentController; for (int i = 0; i != inputFields.Count; ++i) { int channel = i; // to fix the c# closure problem this.inputFields[i].onEndEdit.AddListener((val) => this.controller.UpdateModelProperty(channel, val)); } }
public void CombineMVC(DisplayableEntityModel model, EntityView view, DisplayableEntityController controller) { view.BindEntityModel(model); model.BindEntityView(view); controller.BindEntityModel(model); model.BindEntityController(controller); view.BindEntityController(controller); controller.Init(); }
private EntityController CreateEntityController(DisplayableEntityModel model) { LoadConfigData(model); GameObject gObj = Instantiate(model.prefabPath); EntityView view = gObj.AddComponent(model.GetViewType()) as EntityView; DisplayableEntityController controller = Activator.CreateInstance(model.GetControllerType()) as DisplayableEntityController; CombineMVC(model, view, controller); return(controller); }
public EntityController CreateEntityController(Type modelType, Type viewType, Type controllerType, string assetID) { DisplayableEntityModel model = Activator.CreateInstance(modelType) as DisplayableEntityModel; model.assetID = assetID; LoadConfigData(model); GameObject gObj = Instantiate(model.prefabPath); EntityView view = gObj.AddComponent(viewType) as EntityView; DisplayableEntityController controller = Activator.CreateInstance(controllerType) as DisplayableEntityController; CombineMVC(model, view, controller); return(controller); }
public virtual void BindEntityController(EntityController controller) { this.controller = controller as DisplayableEntityController; }