Exemple #1
0
    public bool OnSchemeLoad(ICsvReader reader)
    {
        int nRowCount = reader.GetRowCount();

        m_SceneDic.Clear();
        try
        {
            for (int i = 0; i < nRowCount; i++)
            {
                int          j    = 0;
                SceneCsvData data = new SceneCsvData();

                reader.GetData(out data.sceneID, i, j++, "场景ID");
                reader.GetData(out data.sceneName, i, j++, "场景名称");
                reader.GetData(out data.resourceId, i, j++, "场景资源ID");
                reader.GetData(out data.musicId, i, j++, "场景背景音乐ID");

                if (m_SceneDic.ContainsKey(data.sceneID))
                {
                    Debug.Log("SceneCsv::OnSchemeLoad 存在相同的资源包名称 sceneID=" + data.sceneID);
                    continue;
                }

                m_SceneDic.Add(data.sceneID, data);
            }
        }
        catch (Exception e)
        {
            Debug.Log("SceneCsv OnSchemeLoad Load Config error.. msg=" + e.Message);
            return(false);
        }

        return(true);
    }
Exemple #2
0
    override public void OnSceneLoaded()
    {
        SceneCsvData csvData = GameMgr.Instance.m_csvMgr.mSceneCsv.Lookup(SceneID);

        if (csvData == null)
        {
            Debug.LogError("EctypeScene::OnSceneLoaded sceneCsvData load error id = " + SceneID);
            return;
        }

        GameObject scene = GameMgr.Instance.m_resMgr.LoadResource(csvData.sceneID);

        scene.name = csvData.sceneName;

        EctypeCsvData ectypeCsvData = GameMgr.Instance.m_csvMgr.mEctypeCsv.Lookup((int)EctypeId);

        if (ectypeCsvData == null)
        {
            Debug.LogError(string.Format("EctypeScene::OnSceneLoaded, m_ectypeId={0}", EctypeId));
            return;
        }

        int monsterID        = ectypeCsvData.monsterID; //副本Monster表
        EctypeMonsterCsv csv = GameMgr.Instance.m_csvMgr.MonsterCsvs.Lookup(monsterID);

        if (csv == null)
        {
            Debug.LogError(string.Format("EctypeScene::OnSceneLoaded, monsterID={0}", monsterID));
            return;
        }
        EctypeCreatContext ctx = new EctypeCreatContext();

        ctx.dwEctypeID = EctypeId;
        ctx.sceneID    = SceneID;

        foreach (EctypeMonsterCsvData data in csv.EctypeMonsterDic.Values)
        {
            EntityCreateCtx defenders = new EntityCreateCtx();
            int             enemyID   = data.monsterID;
            defenders.type  = (EntityType)GameMgr.Instance.m_csvMgr.mMonsterCsv.LookUpType(enemyID);
            defenders.id    = enemyID;
            defenders.pos   = new Vector3(2f, 0f, 0f);
            defenders.dir   = Vector3.zero;
            defenders.scene = this;
            defenders.camp  = EntityCamp.Defender;

            ctx.defenderTeam.entityList.Add(defenders);
        }

        EntityCreateCtx attackers = CreateAttacker();

        ctx.attackerTeam.entityList.Add(attackers);

        GameMgr.Instance.m_ectypeMgr.CreateEctype(ctx);
    }