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); }
public override bool Create(EntityCreateCtx ctx) { if (base.Create(ctx) == false) { Debug.LogError("Monster::Create 创建Monster失败 !!!"); return(false); } m_csvData = GameMgr.Instance.m_csvMgr.mMonsterCsv.Lookup(ctx.id); MoveSpeed = m_csvData.moveSpeed; SkillID = m_csvData.skillID; EnType = EntityType.Monster; EntityViewCreateCtx ctxView = new EntityViewCreateCtx(); ctxView.Owner = this; ctxView.Type = EntityViewType.Monster; ctxView.Name = "Monster_" + UID.ToString(); ctxView.ResName = m_csvData.resourceID; m_entityView = GameMgr.Instance.m_entityViewMgr.CreateEntityView(ctxView); if (m_entityView == null) { Debug.LogError("Monster::Create Monster failed !!!"); return(false); } m_entityView.SetParent(null); Position = ctx.pos; Direction = ctx.dir; m_Part[(int)EntityPartType.MovePart] = new MovePart(); if (m_Part[(int)EntityPartType.MovePart].Init(this) == false) { Debug.LogError("Monster::Create 移动部件初始化失败 !!!"); return(false); } m_Part[(int)EntityPartType.SkillPart] = new SkillPart(); if (m_Part[(int)EntityPartType.SkillPart].Init(this) == false) { Debug.LogError("Monster::Create 技能部件初始化失败 !!!"); return(false); } if (!m_fightProp.Init()) { Debug.LogError("Monster::Create初始化战斗属性失败 !!!"); return(false); } return(true); }
public virtual bool Create(EntityCreateCtx ctx) { EnType = ctx.type; m_pos = ctx.pos; m_dir = ctx.dir; m_scene = ctx.scene; m_camp = ctx.camp; m_level = GameMgr.Instance.m_csvMgr.mMonsterCsv.LookUpLevel(ctx.id); ID = ctx.id; Name = GameMgr.Instance.m_csvMgr.mMonsterCsv.LookUpName(ID); return(true); }
private EntityCreateCtx CreateAttacker() { EntityCreateCtx attacker = new EntityCreateCtx(); attacker.type = (EntityType)GameMgr.Instance.m_csvMgr.mMonsterCsv.LookUpType(1); attacker.id = 1; attacker.pos = new Vector3(-2f, 0f, 0f); attacker.dir = Vector3.zero; attacker.scene = this; attacker.camp = EntityCamp.Attacker; return(attacker); }
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); }
private Entity BuildMonster(EntityCreateCtx ctx) { Monster monster = new Monster(); monster.UID = GetUID(); if (monster.Create(ctx) == false) { return(null); } if (m_entityDic.ContainsKey(monster.UID)) { m_entityDic[monster.UID] = monster; } else { m_entityDic.Add(monster.UID, monster); } return(monster); }
public Entity Build(EntityCreateCtx ctx) { if (ctx.type <= EntityType.None || ctx.type >= EntityType.Max) { return(null); } Entity entity = null; if (ctx.type == EntityType.Hero) { entity = BuildMonster(ctx); entity.EnType = EntityType.Hero; } else if (ctx.type == EntityType.Monster) { entity = BuildMonster(ctx); } return(entity); }
private Entity BuildHerro(EntityCreateCtx ctx) { return(new Entity()); }