Example #1
0
    public TerrainEditorDataArray GetTerrainEditorDataArray()
    {
        TerrainEditorDataArray config =
            TryGetConfig <TerrainEditorDataArray>(ConfigPath_TerrainConfig);

        return(config);
    }
Example #2
0
    public void SaveTerrainEditFileList(TerrainEditorDataArray filedata, TerrainEditorData editorData)
    {
        if (null == filedata)
        {
            filedata          = new TerrainEditorDataArray();
            filedata.DataList = new System.Collections.Generic.List <TerrainEditorData>();
        }

        if (null != editorData)
        {
            bool bIsNeedAddNew = true;
            for (int i = 0; i < filedata.DataList.Count; ++i)
            {
                if (filedata.DataList[i].ID == editorData.ID)
                {
                    filedata.DataList[i] = editorData;
                    bIsNeedAddNew        = false;
                    break;
                }
            }
            if (bIsNeedAddNew)
            {
                filedata.DataList.Add(editorData);
            }
        }

        byte[] data = ThriftSerialize.Serialize(filedata);
        FileUtils.WriteByteFile(m_strDataPath, data);
    }
Example #3
0
    public TerrainEditorData GetTerrainEditorData(int terrainId)
    {
        TerrainEditorDataArray config =
            TryGetConfig <TerrainEditorDataArray>(ConfigPath_TerrainConfig);

        for (int i = 0; i < config.DataList.Count; ++i)
        {
            if (terrainId == config.DataList[i].ID)
            {
                return(config.DataList[i]);
            }
        }
        return(null);
    }
Example #4
0
    private void UpdateTerrainConfig()
    {
        TerrainEditorDataArray newList = new TerrainEditorDataArray();

        newList.DataList = new List <TerrainEditorData>();

        TerrainEditorDataArray remoteConfig = ConfigManager.Instance.GetTerrainEditorDataArray();
        TerrainEditorDataArray localConfig  = GetTerrainEditFileList();

        if (null == remoteConfig || remoteConfig.DataList == null || remoteConfig.DataList.Count == 0)
        {
            return;
        }

        if (remoteConfig != null || remoteConfig.DataList != null)
        {
            foreach (var elemRemote in remoteConfig.DataList)
            {
                //add remote
                newList.DataList.Add(elemRemote);
            }
        }

        if (null != localConfig && null != localConfig.DataList)
        {
            foreach (var elemLocal in localConfig.DataList)
            {
                bool isExistInRemote = false;
                foreach (var elemRemote in remoteConfig.DataList)
                {
                    if (elemLocal.ID == elemRemote.ID)
                    {
                        isExistInRemote = true;
                        break;
                    }
                }
                if (!isExistInRemote)
                {
                    //add local
                    newList.DataList.Add(elemLocal);
                }
            }
        }

        byte[] data = ThriftSerialize.Serialize(newList);
        FileUtils.WriteByteFile(m_strDataPath, data);
    }
Example #5
0
    private void SaveData()
    {
        if (null == m_TriggerList)
        {
            EditorUtility.DisplayDialog("保存失败", "!!!", "ok");
            return;
        }
        if (string.IsNullOrEmpty(m_CurrentEditiongMapName) || string.IsNullOrEmpty(m_CurrentMapResPath) || m_CurrentEditiongMapId <= 0)
        {
            EditorUtility.DisplayDialog("保存失败", "地图信息不完整", "ok");
            return;
        }
        if (null == m_PlayerChar)
        {
            EditorUtility.DisplayDialog("保存失败", "必须编辑玩家的出生位置", "ok");
            return;
        }
        m_OutputData            = new TerrainEditorData();
        m_OutputData.ID         = m_CurrentEditiongMapId;
        m_OutputData.MapName    = m_CurrentEditiongMapName;
        m_OutputData.MapResName = m_CurrentMapResPath;

        m_OutputData.TriggerDataList = new System.Collections.Generic.List <TerrainTriggerData>(m_TriggerList.Count);

        for (int i = 0; i < m_TriggerList.Count; ++i)
        {
            m_OutputData.TriggerDataList.Add(m_TriggerList[i].TriggerData);
        }

        m_OutputData.NpcDataList = new System.Collections.Generic.List <TerrainNpcData>(m_NpcList.Count);
        for (int i = 0; i < m_NpcList.Count; ++i)
        {
            m_OutputData.NpcDataList.Add(m_NpcList[i].m_NpcData);
        }
        m_OutputData.PlayerInitPos     = new PlayerInitPosData();
        m_OutputData.PlayerInitPos.Pos = new ThriftVector3();
        m_OutputData.PlayerInitPos.Rot = new ThriftVector3();
        m_OutputData.PlayerInitPos.Id  = m_PlayerChar.GetInstanceId();
        m_OutputData.PlayerInitPos.Pos.SetVector3(m_PlayerChar.GetTransformData().GetPosition());
        m_OutputData.PlayerInitPos.Rot.SetVector3(m_PlayerChar.GetTransformData().GetRotation());
        m_DataList = GetTerrainEditFileList();

        SaveTerrainEditFileList(m_DataList, m_OutputData);
    }
Example #6
0
 public void OpenWindow()
 {
     m_DataList = TerrainEditorWindow.Instance.GetTerrainEditFileList();
 }