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();
            }
Exemple #2
0
        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);
        }
Exemple #3
0
        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
                }
            }
        }