Beispiel #1
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);
    }
Beispiel #2
0
    public bool Create(EctypeCreatContext createContext)
    {
        mCreateContext = createContext;
        m_attackerTeam = new EctypeTeamAttacker(this);
        m_defenderTeam = new EctypeTeamDefender(this);

        for (int i = 0; i < mCreateContext.attackerTeam.entityList.Count; i++)
        {
            EntityCreateCtx ctx      = mCreateContext.attackerTeam.entityList[i];
            EctypeEntity    attacker = new EctypeEntity();
            attacker.entity = GameMgr.Instance.m_entityMgr.Build(ctx);

            if (attacker.entity == null)
            {
                Debug.Log("Ectype::Create Attacker failed !");
                continue;
            }
            attacker.Status = EntityEctypeStatus.Idle;
            attacker.Camp   = EntityCamp.Attacker;

            m_attackerTeam.m_entityList.Add(attacker);
            GameMgr.Instance.m_uiMgr.UIFight.CreateAttacker(attacker.entity);
        }

        for (int i = 0; i < mCreateContext.defenderTeam.entityList.Count; i++)
        {
            EntityCreateCtx ctx      = mCreateContext.defenderTeam.entityList[i];
            EctypeEntity    defender = new EctypeEntity();
            defender.entity = GameMgr.Instance.m_entityMgr.Build(ctx);

            if (defender.entity == null)
            {
                Debug.Log("Ectype::Create Defender failed !");
                continue;
            }
            defender.Status = EntityEctypeStatus.Idle;
            defender.Camp   = EntityCamp.Defender;

            m_defenderTeam.m_entityList.Add(defender);
            GameMgr.Instance.m_uiMgr.UIFight.CreateDeffender(defender.entity);
        }

        return(true);
    }
Beispiel #3
0
    public bool CreateEctype(EctypeCreatContext data)
    {
        m_Ectype = new Ectype();

        if (m_Ectype == null)
        {
            return(false);
        }

        if (!m_Ectype.Create(data))
        {
            return(false);
        }

        // 启动副本
        m_Ectype.Start();

        return(true);
    }
Beispiel #4
0
 public EnterEctypeContext()
 {
     m_EctypeCreateData = new EctypeCreatContext();
 }