예제 #1
0
    public void     AddSceneTransData(SceneTransferData data)
    {
        if (nPos < m_nMaxData)
        {
            m_pTransferData[nPos++] = data;
            if (data.nSceneID < m_nMaxScene)
            {
                if (m_pSceneWayInfo[data.nSceneID] == null)
                {
                    m_pSceneWayInfo[data.nSceneID] = new SceneWayInfo();
                }

                if (!m_pSceneWayInfo[data.nSceneID].Add(nPos - 1))
                {
                    LogManager.LogError("ShortestPath::AddSceneTransData m_pSceneWayInfo[data.nSceneID].Add return false");
                }
                m_pSceneWayInfo[data.nSceneID].SetValid(true);
            }
            else
            {
                LogManager.LogError("ShortestPath::AddSceneTransData ");
            }
        }
        else
        {
            LogManager.LogError("ShortestPath::AddSceneTransData out bound of m_pTransferData");
        }
    }
예제 #2
0
 //接口函数
 public void     Initailize(int maxData, int maxScene)
 {
     if (maxData > 0 && maxScene > 0)
     {
         m_pTransferData = new SceneTransferData[maxData];
         m_pSceneWayInfo = new SceneWayInfo[maxScene];
         m_nMaxScene     = maxScene;
         m_nMaxData      = maxData;
     }
     else
     {
         LogManager.LogError("ShortestPath::Initailize Invalid Params");
     }
 }
예제 #3
0
    void InitSceneTransportData()
    {
        // 初始化传送点数据 [8/3/2011 ivan edit]
        if (!alreadyLoad)
        {
            DBC.COMMON_DBC <_DBC_SCENE_POS_DEFINE> allPos =
                CDataBaseSystem.Instance.GetDataBase <_DBC_SCENE_POS_DEFINE>((int)DataBaseStruct.DBC_SCENE_POS_DEFINE);

            SceneTransportPath.Instance.Initailize(allPos.StructDict.Count * 2 + 1, GAMEDEFINE.MAX_SCENE);

            foreach (_DBC_SCENE_POS_DEFINE scene in allPos.StructDict.Values)
            {
                SceneTransferData data = new SceneTransferData();
                data.nSceneID     = scene.nSceneID;
                data.xPos         = scene.nXPos;
                data.yPos         = scene.nZPos;
                data.nDestSceneID = scene.nDestSceneID;
                SceneTransportPath.Instance.AddSceneTransData(data);
            }

            alreadyLoad = true;
        }
    }