Esempio n. 1
0
        private void CreateFixedStarElement(StarMapVO starVo)
        {
            GameObject starObj = GameObject.Instantiate(m_StarMapPrefab);

            starObj.SetActive(true);
            starObj.transform.SetParent(m_StarContainer);
            if (m_Root.m_PreviewStarMap != null)
            {
                //starObj.transform.position =m_Root.GetPreviewStarMapPos(starVo.FixedStarid);
                RectTransform starRect = starObj.GetComponent <RectTransform>();
                if (starRect == null)
                {
                    starRect = starObj.AddComponent <RectTransform>();
                }
                starRect.anchoredPosition = m_Root.GetPreviewStarMapPos(starVo.FixedStarid);
            }
            else
            {
                starObj.transform.localPosition = Vector3.zero;
            }

            starObj.transform.localRotation = Quaternion.identity;
            starObj.transform.localScale    = Vector3.one;
            FixedStarElement fixedElement = starObj.GetComponent <FixedStarElement>();

            if (fixedElement != null)
            {
                fixedElement.Init(this, starVo);
                m_FixedStarElements.Add(fixedElement);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 初始化恒星id列表
        /// </summary>
        public void LoadFixedStarIds()
        {
            if (m_FixedStarIds != null && m_FixedStarIds.Count > 0)
            {
                return;
            }
            if (m_Type != GamingMapType.mapDeepSpace)
            {
                return;
            }

            m_FixedStarIds    = new List <int>();
            m_FixedStarIdStrs = new List <string>();
            EditorGamingMapData.LoadStarMapVO();
            List <StarMapVO> starVoList = ConfigVO <StarMapVO> .Instance.GetList();

            if (starVoList != null && starVoList.Count > 0)
            {
                for (int iStar = 0; iStar < starVoList.Count; iStar++)
                {
                    StarMapVO starMapVo = starVoList[iStar];
                    if (starMapVo == null)
                    {
                        continue;
                    }
                    m_FixedStarIds.Add(starMapVo.FixedStarid);
                    m_FixedStarIdStrs.Add(string.Format("{0}_{1}", starMapVo.FixedStarid, starMapVo.Name));
                }
            }
        }
Esempio n. 3
0
 private void InitGamingMapDatas()
 {
     //if(m_AllGamingMaps == null)
     //{
     //    return;
     //}
     m_GamingMapDatas.Clear();
     if (m_StarMapVoList != null && m_StarMapVoList.Count > 0)
     {
         for (int iStar = 0; iStar < m_StarMapVoList.Count; iStar++)
         {
             StarMapVO starVo = m_StarMapVoList[iStar];
             if (starVo == null)
             {
                 continue;
             }
             List <EditorGamingMap> editorGamings = new List <EditorGamingMap>();
             for (int iAll = 0; iAll < m_AllGamingMaps.Count; iAll++)
             {
                 EditorGamingMap editorGaming = m_AllGamingMaps[iAll];
                 if (editorGaming.belongFixedStar == starVo.FixedStarid)
                 {
                     editorGamings.Add(editorGaming);
                 }
             }
             m_GamingMapDatas.Add(starVo.FixedStarid, editorGamings);
         }
     }
 }
Esempio n. 4
0
 public void ExportStarMap()
 {
     if (m_StarMapVoList != null && m_StarMapVoList.Count > 0)
     {
         EditorStarMap            starMapData = new EditorStarMap();
         List <EditorFixedStar>   fixedStars  = new List <EditorFixedStar>();
         List <EditorPlanet>      planets     = new List <EditorPlanet>();
         List <EditorStarMapArea> planetAreas = new List <EditorStarMapArea>();
         FixedStarElement         element     = null;
         for (int iStar = 0; iStar < m_StarMapVoList.Count; iStar++)
         {
             StarMapVO       starMapVo = m_StarMapVoList[iStar];
             EditorFixedStar fixedStar = new EditorFixedStar();
             fixedStars.Add(fixedStar);
             fixedStar.fixedStarId   = starMapVo.FixedStarid;
             fixedStar.fixedStarName = starMapVo.Name;
             fixedStar.fixedStarRes  = starMapVo.AssetName;
             fixedStar.relations     = starMapVo.Relation_Id;
             element = m_StarMapMainPanel.GetElement(starMapVo.FixedStarid);
             if (element != null)
             {
                 fixedStar.position = new EditorPosition2D(element.GetPosition());
             }
             planets.Clear();
             SavePlanet(planets, starMapVo.FixedStarid, planetAreas, fixedStar);
             fixedStar.planetList = planets.ToArray();
         }
         starMapData.fixedStars = fixedStars.ToArray();
         EditorGamingMapData.SaveStarMapToJson(starMapData);
     }
 }
Esempio n. 5
0
 public void Init(StarMapMainPanel panel, StarMapVO starVo)
 {
     m_StarMainPanel = panel;
     m_FixedStarid   = starVo.FixedStarid;
     if (starVo != null)
     {
         gameObject.name = starVo.Name;
     }
 }
Esempio n. 6
0
        private void CreateFixedStarElement(StarMapVO starVo)
        {
            GameObject container = new GameObject(starVo.Name);

            container.transform.SetParent(transform);
            container.transform.localPosition = Vector3.zero;
            container.transform.localScale    = Vector3.one;
            container.SetActive(false);
            PlanetContainer planetContainer = container.AddComponent <PlanetContainer>();

            m_PlanetContains.Add(planetContainer);
            List <EditorGamingMap> gamingMaps = new List <EditorGamingMap>();

            GetGamingMap(starVo.FixedStarid, gamingMaps);
            planetContainer.Init(starVo.FixedStarid, this, gamingMaps);
        }
Esempio n. 7
0
        /// <summary>
        /// 判断excel表中是否有新增或者删除 有的话刷新对应的
        /// </summary>
        private void Check()
        {
            if (m_StarMapVoList == null || m_StarMapVoList.Count <= 0)
            {
                return;
            }
            ///判断是否有新增的 有的话添加
            for (int iStar = 0; iStar < m_StarMapVoList.Count; iStar++)
            {
                StarMapVO starMapVo = m_StarMapVoList[iStar];
                if (starMapVo == null)
                {
                    continue;
                }
                PlanetContainer container = ExistElement(starMapVo.FixedStarid);
                if (container == null)
                {
                    CreateFixedStarElement(starMapVo);
                }
                else
                {
                    List <EditorGamingMap> gamingMaps = new List <EditorGamingMap>();
                    GetGamingMap(starMapVo.FixedStarid, gamingMaps);
                    container.UpdateElements(gamingMaps);
                }
            }
            //判断是否有删除的 有的话删除
            if (m_PlanetContains != null && m_PlanetContains.Count > 0)
            {
                for (int iStar = m_PlanetContains.Count - 1; iStar >= 0; iStar--)
                {
                    PlanetContainer element = m_PlanetContains[iStar];
                    if (element == null || element.gameObject == null)
                    {
                        continue;
                    }
                    int       fixedStarId = element.m_StarMapId;
                    StarMapVO vo          = ConfigVO <StarMapVO> .Instance.GetData(fixedStarId);

                    if (vo == null)
                    {
                        GameObject.DestroyImmediate(element.gameObject);
                        m_PlanetContains.Remove(element);
                    }
                }
            }
        }
Esempio n. 8
0
        public void InitFixedStar(StarMapEditorRoot root, bool needReset = false)
        {
            m_Root          = root;
            m_StarMapVoList = ConfigVO <StarMapVO> .Instance.GetList();

            if (!needReset)
            {
                Check();
                return;
            }
            Clear();
            if (m_StarMapVoList != null && m_StarMapVoList.Count > 0)
            {
                for (int iStar = 0; iStar < m_StarMapVoList.Count; iStar++)
                {
                    StarMapVO starVo = m_StarMapVoList[iStar];
                    CreateFixedStarElement(starVo);
                }
            }
        }
Esempio n. 9
0
        /// <summary>
        /// 判断excel表中是否有新增或者删除 有的话刷新对应的
        /// </summary>
        private void Check()
        {
            if (m_StarMapVoList == null || m_StarMapVoList.Count <= 0)
            {
                return;
            }
            ///判断是否有新增的 有的话添加
            for (int iStar = 0; iStar < m_StarMapVoList.Count; iStar++)
            {
                StarMapVO starMapVo = m_StarMapVoList[iStar];
                if (starMapVo == null)
                {
                    continue;
                }
                bool exist = ExistElement(starMapVo.FixedStarid);
                if (!exist)
                {
                    CreateFixedStarElement(starMapVo);
                }
            }
            //判断是否有删除的 有的话删除
            if (m_FixedStarElements != null && m_FixedStarElements.Count > 0)
            {
                for (int iStar = m_FixedStarElements.Count - 1; iStar >= 0; iStar--)
                {
                    FixedStarElement element = m_FixedStarElements[iStar];
                    if (element == null || element.gameObject == null)
                    {
                        continue;
                    }
                    int       fixedStarId = element.m_FixedStarid;
                    StarMapVO vo          = ConfigVO <StarMapVO> .Instance.GetData(fixedStarId);

                    if (vo == null || vo.ID <= 0)
                    {
                        GameObject.DestroyImmediate(element.gameObject);
                        m_FixedStarElements.Remove(element);
                    }
                }
            }
        }
 private void OnEnable()
 {
     m_Target    = target as FixedStarElement;
     m_StarMapVo = ConfigVO <StarMapVO> .Instance.GetData(m_Target.m_FixedStarid);
 }
Esempio n. 11
0
        public IEnumerator DoEditorUpdate(StarMapEditorRoot root)
        {
            m_Root = root;
            if (m_RectTrans != null)
            {
                m_RectTrans = GetComponent <RectTransform>();
            }
            if (m_RectTrans != null)
            {
                m_RectTrans.anchoredPosition = Vector2.zero;
            }
            yield return(null);

            m_FixedStarElements.Clear();
            FixedStarElement[] elements = GetComponentsInChildren <FixedStarElement>(true);
            if (elements != null && elements.Length > 0)
            {
                for (int iElement = 0; iElement < elements.Length; iElement++)
                {
                    m_FixedStarElements.Add(elements[iElement]);
                }
            }
            yield return(null);

            if (m_FixedStarElements != null && m_FixedStarElements.Count > 0)
            {
                for (int iStarElement = 0; iStarElement < m_FixedStarElements.Count; iStarElement++)
                {
                    FixedStarElement element = m_FixedStarElements[iStarElement];
                    if (element != null)
                    {
                        IEnumerator elementEnumer = element.DoEditorUpdate(this);
                        while (elementEnumer.MoveNext())
                        {
                            yield return(null);
                        }
                    }
                }
            }
            yield return(null);


            m_Trails.Clear();
            TrailRenderer[] trails = GetComponentsInChildren <TrailRenderer>();
            if (trails != null && trails.Length > 0)
            {
                for (int iTrail = 0; iTrail < trails.Length; iTrail++)
                {
                    m_Trails.Add(trails[iTrail]);
                    //trails[iTrail].Clear();
                }
            }
            yield return(null);

            if (m_StarMapVoList != null && m_StarMapVoList.Count > 0)
            {
                int           trailIndex  = 0;
                TrailRenderer trailRender = null;
                for (int iStar = 0; iStar < m_StarMapVoList.Count; iStar++)
                {
                    StarMapVO starMapVo = m_StarMapVoList[iStar];
                    if (starMapVo == null)
                    {
                        continue;
                    }
                    FixedStarElement beginElement = GetElement(starMapVo.FixedStarid);
                    if (beginElement == null)
                    {
                        continue;
                    }
                    int[] relationIds = starMapVo.Relation_Id;
                    if (relationIds != null && relationIds.Length > 0)
                    {
                        for (int iRelation = 0; iRelation < relationIds.Length; iRelation++)
                        {
                            FixedStarElement endElement = GetElement(relationIds[iRelation]);
                            if (endElement == null)
                            {
                                continue;
                            }
                            if (m_Trails.Count > trailIndex)
                            {
                                trailRender = m_Trails[trailIndex];
                            }
                            else
                            {
                                GameObject trailObj = new GameObject("Trail_" + trailIndex);
                                trailRender = trailObj.AddComponent <TrailRenderer>();
                            }
                            trailRender.transform.SetParent(beginElement.transform);
                            trailIndex++;
                            trailRender.Clear();
                            trailRender.startWidth = 0.3f;
                            trailRender.AddPosition(beginElement.transform.position);
                            trailRender.AddPosition(endElement.transform.position);
                            trailRender.transform.position = endElement.transform.position;
                        }
                    }
                }
            }
        }