Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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;
        }