private bool CheckIsCompleted() // 检查任务是否完成,如果已完成则跳出当前帧。 { if (BuildedCount == willBuildCount && sonBuildedNum == sonNum && containerBuildedNum == containerNum) { IsComplete = true; buildAble = false; TaskMeta.Reset(); taskCurrentElementIndex = -1; m_OnBuilded(this); m_ParentTask?.OnSonCompleted(RootRect); return(true); } return(false); }
public void Init(string id, Action <LegoBuildTask> onBuilded, RectTransform parent) { ParentRect = parent; TaskMeta = metaHelper.GetMeta(id); TaskMeta.Reset(); // 每次开始构建都重置元数据 m_OnBuilded = onBuilded; sonNum = TaskMeta.ComponentRefs.Count; containerNum = TaskMeta.ContainerRefs.Count; willBuildCount = TaskMeta.WillBuildCount; CreateRootAtOnce(); // 构建组件根对象 TryMountAtOnce(); AddRootButton(); // 添加根按钮 #if DEBUG AddHelper(); // 编辑器下添加开发助手组件 #endif buildAble = true; }