コード例 #1
0
 public EditorStarMapArea GetPreviewArea(EditorPlanet planet, ulong areaId)
 {
     if (planet == null)
     {
         return(null);
     }
     if (m_PreviewStarMap != null)
     {
         EditorStarMapArea[] areas = planet.arealist;
         if (areas != null && areas.Length > 0)
         {
             for (int iArea = 0; iArea < areas.Length; iArea++)
             {
                 EditorStarMapArea starMapArea = areas[iArea];
                 if (starMapArea == null)
                 {
                     continue;
                 }
                 if (starMapArea.areaId == areaId)
                 {
                     return(starMapArea);
                 }
             }
         }
     }
     return(null);
 }
コード例 #2
0
    /// <summary>
    /// 设置当前星域数据
    /// </summary>
    /// <param name="gamingmapId"></param>
    /// <param name="data"></param>
    /// <param name="isCurrentPoint"></param>
    public void SetData(uint gamingmapId, EditorStarMapArea data, bool isCurrentPoint)
    {
        Initialize();
        m_Data = data;

        SetName($"area_name_{gamingmapId}_{m_Data.areaId}");
        SetLocationVisible(isCurrentPoint);
        SetSelectState(isCurrentPoint);
    }
コード例 #3
0
        private void CreateElement(EditorArea editorArea, EditorPlanet planet)
        {
            GameObject planetArea = GameObject.Instantiate(m_Panel.m_PlanetAreaElementPrefab);

            planetArea.SetActive(true);
            planetArea.transform.SetParent(transform);
            planetArea.transform.localPosition = Vector3.zero;
            PlanetAreaElement planetElement = planetArea.GetComponent <PlanetAreaElement>();

            if (planetElement != null)
            {
                EditorStarMapArea starMapArea = m_Panel.m_Root.GetPreviewArea(planet, editorArea.areaId);
                planetElement.Init(editorArea, starMapArea);
                m_PlanetAreas.Add(planetElement);
            }
        }
コード例 #4
0
        public void Init(EditorArea area, EditorStarMapArea starMapArea)
        {
            if (area == null)
            {
                return;
            }
            if (rectTrans == null)
            {
                rectTrans = GetComponent <RectTransform>();
            }

            if (starMapArea != null)
            {
                m_Res = starMapArea.area_res;
                rectTrans.anchoredPosition = starMapArea.position.ToVector2();
                m_Resobj = StarMapEditorRoot.FindResAsset(m_Res);
            }
            m_AreaData      = area;
            gameObject.name = area.areaName;
            if (m_Tip == null)
            {
                Transform tipTrans = transform.Find("tip");
                if (tipTrans != null)
                {
                    m_Tip = tipTrans.gameObject.GetComponent <Text>();
                }
            }

            if (m_Tip != null)
            {
                m_Tip.text = "";
                EditorLeap[] leaps = area.leapList;
                if (leaps != null && leaps.Length > 0)
                {
                    EditorLeap leap = leaps[0];
                    if (leap.leapType == (int)LeapType.Main)
                    {
                        m_Tip.text = "主";
                    }
                    else if (leap.leapType == (int)LeapType.Child)
                    {
                        m_Tip.text = "副";
                    }
                }
            }
        }
コード例 #5
0
        private void SaveArea(EditorGamingMap gamingData, List <EditorStarMapArea> areaList, ref ulong areaId)
        {
            if (gamingData == null || gamingData.areaList == null || gamingData.areaList.Length <= 0)
            {
                return;
            }
            EditorArea[] editorAreas = gamingData.areaList;
            for (int iArea = 0; iArea < editorAreas.Length; iArea++)
            {
                EditorArea editorArea = editorAreas[iArea];
                if (editorArea == null)
                {
                    continue;
                }

                EditorStarMapArea starMapArea = new EditorStarMapArea();
                areaList.Add(starMapArea);
                starMapArea.areaId   = editorArea.areaId;
                starMapArea.areaType = editorArea.areaType;
                starMapArea.areaName = editorArea.areaName;
                PlanetAreaElement areaElement = m_PlanetPanel.GetElement(gamingData.gamingmapId, editorArea.areaId);
                if (areaElement != null)
                {
                    starMapArea.area_res         = areaElement.m_Res;
                    starMapArea.childrenAreaList = editorArea.childrenAreaList;
                    if (editorArea.leapList != null && editorArea.leapList.Length > 0)
                    {
                        starMapArea.area_leap_type = editorArea.leapList[0].leapType;
                    }
                    starMapArea.position = new EditorPosition2D(areaElement.GetPosition());
                }
                if (editorArea.areaType == (int)AreaType.Titan)
                {
                    if (areaId > 0)
                    {
                        Debug.LogError(gamingData.gamingmapName + "存在多个泰坦区域:" + editorArea.areaId);
                    }
                    else
                    {
                        areaId = editorArea.areaId;
                    }
                }
            }
        }