Ejemplo n.º 1
0
        void LoadedRsSegment(LevelSegment lseg, LevelSegmentMeta meta)
        {
            if (meta.state == LevelSegmentMeta.LoadState.loaded)
            {
                Log.Debug("ignore lated segment load. {0}", meta);

                return;
            }
            lseg       = Instantiate(lseg);
            meta.state = LevelSegmentMeta.LoadState.loaded;
            lseg.gameObject.transform.position = meta.position;
            lseg.gameObject.transform.SetParent(copyParent);
            SegmentKV skv = new SegmentKV();

            skv.level = lseg;
            skv.meta  = meta;
            _loadedSegments.Add(skv);
            Log.Debug("LOAD SEGMENT:{0}", lseg);
        }
Ejemplo n.º 2
0
        public void EdCollectEditorLevelData()
        {
            if (null == metas)
            {
                metas = new List <LevelSegmentMeta>();
            }

            metas.Clear();
            LevelSegment[] lsegs = EdGetCorespondingSegments();

            if (null == lsegs)
            {
                Log.Debug(" no segments for level " + gameObject.name);
                return;
            }
            foreach (LevelSegment l in lsegs)
            {
                LevelSegmentMeta sm = new LevelSegmentMeta();
                sm.position = l.gameObject.transform.position;
                string path = autoSavePrefabsFolder + "/" + GameObjectUtils.GetUniqNameByHierarchy(l.gameObject);
                //string path = AssetsUtils.GetPrefabsResourceRelativePathWithoutExtention (l.gameObject);
                if (string.IsNullOrEmpty(path))
                {
                    Log.Error("the segment {0} is not a prefabs yet.", l);
                    continue;
                }
                sm.length   = l.segmentLength;
                sm.prefPath = path;
                Log.Debug("{0} > {1}", l.gameObject.name, sm);
                metas.Add(sm);
            }
            metaCount = metas.Count;

            metas.Sort(CompareListByPosition);
            EdStore();
        }
Ejemplo n.º 3
0
 private static int CompareListByPosition(LevelSegmentMeta i1, LevelSegmentMeta i2)
 {
     return((i1.position.x).CompareTo(i2.position.x));
 }