コード例 #1
0
    void Init()
    {
        //m_strDataPath = Application.persistentDataPath + "/EditorData/terrainConfig_txtpkg.bytes";
        m_strDataPath = Application.dataPath + "/EditorCommon/EditorResources/mmAdv/1.0/terrainConfig_txtpkg.bytes";

        GameObject RootObj = GameObject.Find("TerrainEditorRoot");

        m_ObjSceneRoot   = GameObject.Find("SceneRoot");
        m_ObjTriggerRoot = GameObject.Find("TriggerRoot");
        var TriggerTemplateRoot = GameObject.Find("TriggerTemplateRoot");

        m_ObjNpcRoot = GameObject.Find("NpcRoot");

        if (null == RootObj || null == m_ObjSceneRoot || null == m_ObjTriggerRoot || null == TriggerTemplateRoot)
        {
            Debug.LogError("wrong scene");
        }

        // init trigger
        int triggrCount = TriggerTemplateRoot.transform.childCount;

        m_TriggerTemplateMap = new Dictionary <ETriggerAreaType, GameObject>(triggrCount);
        m_TriggerTypeList    = new string[triggrCount];

        for (int i = 0; i < triggrCount; ++i)
        {
            ETriggerAreaType type = (ETriggerAreaType)(i);
            GameObject       elem = TriggerTemplateRoot.transform.GetChild(i).gameObject;
            m_TriggerTemplateMap.Add(type, elem);
            m_TriggerTypeList[i] = type.ToString();
        }

        NpcConfigTable npcConfigTable = ConfigManager.Instance.GetNpcTable();

        if (null == npcConfigTable)
        {
            EditorUtility.DisplayDialog("", "npc配置文件读取失败", "ok");
            ClearData();
            CloseWindow();
            return;
        }

        m_NpcTypeList = new string[npcConfigTable.NpcCofigMap.Count];
        int tmpIndex = 0;

        foreach (var elem in npcConfigTable.NpcCofigMap)
        {
            m_NpcTypeList[tmpIndex++] = elem.Key.ToString();
        }

        m_RemovingNpcList     = new System.Collections.Generic.List <NpcEditorData>();
        m_NpcList             = new System.Collections.Generic.List <NpcEditorData>();
        m_TriggerList         = new System.Collections.Generic.List <TriggerEditorData>();
        m_ETriggerAreaType    = ETriggerAreaType.Sphere;
        m_RemovingTriggerList = new System.Collections.Generic.List <TriggerEditorData>();
        m_MapNameInputBuffer  = string.Empty;
        m_iSelectedNpcId      = 0;

        CharactorConfigTable playerConfigTable = ConfigManager.Instance.GetCharactorConfigTable();

        if (null == playerConfigTable)
        {
            EditorUtility.DisplayDialog("", "playerConfigTable 配置文件读取失败", "ok");

            return;
        }
        m_PlayerTypeList = new string[playerConfigTable.CharactorCofigMap.Count];
        tmpIndex         = 0;
        foreach (var elem in playerConfigTable.CharactorCofigMap)
        {
            m_PlayerTypeList[tmpIndex++] = elem.Key.ToString();
        }
        TerrainEditorRuntime.Instance.SetSelectCallBack(OnClickCallBack);
        Debug.Log(" initialize terrain");
    }