private static void CreateSpeiclHandlerScript(LegoInteractableType interactableType) { var uiMeta = metaHelper.GetMeta(CurrentGo.transform.parent.name); ////var app = YuU3dAppSettingDati.CurrentActual; ////var fullName = app.LocAppId + "_" + uiMeta.RootMeta.Name + "_" + CurrentGo.name + "_" + interactableType; ////YuLegoHandlerScriptCreator.CreateHandlerScript( //// uiMeta, app, fullName, CurrentGo.name); ////AssetDatabase.Refresh(); }
public void RegisterHandler ( LegoInteractableType interactableType, IYuLegoActionHandler handler ) { if (handlerDict.ContainsKey(interactableType)) { handlerDict[interactableType] = handler; #if DEBUG || DEBUG //YuDebugUtility.Log($"控件{name}的{interactableType}处理已经重定向!"); #endif return; } handlerDict.Add(interactableType, handler); }
protected virtual void InvokeInteractableMethod ( LegoInteractableType interactableType ) { if (!interactable) { return; } if (handlerDict.ContainsKey(interactableType)) { try { handlerDict[interactableType].Execute(this); } catch (System.Exception e) { #if DEBUG Debug.LogError("调用交互处理异常:" + e.Message + "\n" + e.StackTrace); #endif } } }