public uint GetCharacterInstanceIDAt(FormationPosition formationPosition) { uint characterInstanceID = 0; FormationsDictionary.TryGetValue(formationPosition, out characterInstanceID); return(characterInstanceID); }
//死亡下阵 public void CheckDeadHeroAtFormation() { LuaTable formationModelLua = (LuaTable)LuaScriptMgr.Instance.CallLuaFunction("gamemanager.GetModel", "formation_model")[0]; LuaTable formationTeamInfoLua = (LuaTable)formationModelLua.GetLuaFunction("GetFormationTeam").Call((int)FormationTeamType.expeditionTeam)[0]; List <FormationPosition> posList = FormationsDictionary.GetKeys(); int count = posList.Count; bool hasDead = false; for (int i = 0; i < count; i++) { FormationPosition key = posList[i]; ExpeditionHeroInfo info = GetExpeditionHeroInfo(FormationsDictionary[key]); if (info.hpRate <= 0) { hasDead = true; FormationsDictionary.Remove(key); formationTeamInfoLua.GetLuaFunction("RemoveHeroByFormationPosition").Call(formationTeamInfoLua, (int)key); } } if (hasDead) { ExpeditionController.instance.CLIENT2LOBBY_Expedition_Formation_Change_REQ(); } }