public void CreateBinding(GameObject obj) { _viewGameObject = obj; _viewCanvas = _viewGameObject.GetComponent <Canvas>(); bool bFirst = false; var view = obj.GetComponent <CommonMenuView>(); if (view == null) { bFirst = true; view = obj.AddComponent <CommonMenuView>(); view.FillField(); } DataInit(view); SpriteReset(); view.BindingContext().DataContext = this; if (bFirst) { SaveOriData(view); ViewBind(view); } _view = view; view.GenerateTrigger(); EventTriggerBind(view); }
void ViewBind(CommonMenuView view) { BindingSet <CommonMenuView, CommonMenuViewModel> bindingSet = view.CreateBindingSet <CommonMenuView, CommonMenuViewModel>(); bindingSet.Bind(view.rootActiveSelf).For(v => v.activeSelf).To(vm => vm.rootActiveSelf).OneWay(); bindingSet.Build(); }
private void EventTriggerBind(CommonMenuView view) { _onOnBackGameETHoverChanged = (val) => view.OnBackGameETHover = val; _onOnBackGameETClickChanged = (val) => view.OnBackGameETClick = val; _onOnBackGameETMouseDownChanged = (val) => view.OnBackGameETMouseDown = val; _onOnBackGameETMouseUpChanged = (val) => view.OnBackGameETMouseUp = val; _onOnBackGameETHoverExitChanged = (val) => view.OnBackGameETHoverExit = val; _onOnSettingETHoverChanged = (val) => view.OnSettingETHover = val; _onOnSettingETClickChanged = (val) => view.OnSettingETClick = val; _onOnSettingETMouseDownChanged = (val) => view.OnSettingETMouseDown = val; _onOnSettingETMouseUpChanged = (val) => view.OnSettingETMouseUp = val; _onOnSettingETHoverExitChanged = (val) => view.OnSettingETHoverExit = val; _onOnBackHallETHoverChanged = (val) => view.OnBackHallETHover = val; _onOnBackHallETClickChanged = (val) => view.OnBackHallETClick = val; _onOnBackHallETMouseDownChanged = (val) => view.OnBackHallETMouseDown = val; _onOnBackHallETMouseUpChanged = (val) => view.OnBackHallETMouseUp = val; _onOnBackHallETHoverExitChanged = (val) => view.OnBackHallETHoverExit = val; }
void SaveOriData(CommonMenuView view) { view.orirootActiveSelf = _rootActiveSelf; }
void DataInit(CommonMenuView view) { _rootActiveSelf = view.rootActiveSelf.activeSelf; }