public static void CreateScript(RectTransform rect, UIPipelineType pipelineType) { var creator = new YuLegoPipelineHandlerScriptCreator(rect, pipelineType); creator.CreateScript(); }
private void InvokePipeline(UIPipelineType pipeline) { if (pipelineHandlers.Count == 0) { return; } if (!pipelineHandlers.ContainsKey(pipeline)) { return; } var handlers = pipelineHandlers[pipeline]; if (handlers.Count == 0) { return; } try { foreach (var handler in handlers) { handler.Execute(this); } } catch (Exception e) { #if DEBUG Debug.LogError(e.Message + e.StackTrace); #endif } }
private YuLegoPipelineHandlerScriptCreator(RectTransform rect, UIPipelineType pipelineType) { //this.u3DAppSetting = u3DAppSetting; uiRect = rect; this.pipelineType = pipelineType; }
private static void CreateLegoUIPipelineHandler(UIPipelineType pipelineType) { if (CurrentGo.GetComponent <YuLegoViewHelper>() == null && CurrentGo.GetComponent <YuLegoComponentHelper>() == null) { EditorUtility.DisplayDialog( "错误", "必须是一个界面或者组件!", "OK" ); return; } YuLegoPipelineHandlerScriptCreator.CreateScript( CurrentGo.GetComponent <RectTransform>(), pipelineType); AssetDatabase.Refresh(); }
public void Register(string id, UIPipelineType pipelineType, Action <ILegoUI> callback) { if (!PipelineActions.ContainsKey(id)) { PipelineActions.Add(id, new Dictionary <UIPipelineType, List <Action <ILegoUI> > >()); } var uiActions = PipelineActions[id]; if (!uiActions.ContainsKey(pipelineType)) { uiActions.Add(pipelineType, new List <Action <ILegoUI> >()); } var actions = uiActions[pipelineType]; if (!actions.Contains(callback)) { actions.Add(callback); } }
public List <Action <ILegoUI> > GetPipelineAction(string id, UIPipelineType pipelineType) { if (!PipelineActions.ContainsKey(id)) { #if DEBUG Debug.LogError($"目标UI{id}没有生命周期委托存在!"); #endif return(null); } var uiActions = PipelineActions[id]; if (uiActions.ContainsKey(pipelineType)) { #if DEBUG Debug.LogError($"目标UI{id}的生命周期{pipelineType}没有对应的委托存在!"); #endif return(null); } var actions = uiActions[pipelineType]; return(actions); }
public void Remove(string id, UIPipelineType pipelineType, Action <ILegoUI> callback) { if (!PipelineActions.ContainsKey(id)) { return; } var uiActions = PipelineActions[id]; if (!uiActions.ContainsKey(pipelineType)) { return; } var actions = uiActions[pipelineType]; if (!actions.Contains(callback)) { return; } actions.Remove(callback); }