void AttackNpc(EnemyController ec, eBattleType battletype) { if (ec != null) { GameStateLoadGame loadState = GameStateManager.Instance.GetGameState <GameStateLoadGame>(); if (GameFlowControlManager.Instance != null) { // FsmStateAction[] actions = GameFlowControlManager.Instance.m_StateMachine.Fsm.ActiveState.Actions; // if (actions == null) // return; if (battletype != eBattleType.AllianceCampaignBattle) { // for (int i = 0; i < actions.Length; i++) // { // if (actions[i] is BaseFlowAction && actions[i].State.Name == "MainLandView") // { // Hotfix_LT.Messenger.Raise("AttackEnemyImediatly", ec, battletype); // } // } if (GameFlowControlManager.Instance.ActiveStateName == "MainLandView") { Hotfix_LT.Messenger.Raise("AttackEnemyImediatly", ec, battletype); } } } } }
/// <summary> /// 根据战斗类型获得可上阵的最大索引,从0开始 /// </summary> /// <param name="type"></param> /// <returns></returns> public static int GetTeamMaxIndex(eBattleType type) { if (type == eBattleType.LegionMercenary) { return(0); } if (type == eBattleType.HeroBattle)//英雄交锋只能4个 { return(3); } int maxIndex = 2; int level = BalanceResourceUtil.GetUserLevel(); for (int i = 0; i < OpenTeamFuncID.Count; ++i) { var func = Hotfix_LT.Data.FuncTemplateManager.Instance.GetFunc(OpenTeamFuncID[i]); if (func != null && func.IsConditionOK()) { maxIndex++; } } return(maxIndex); }
public static bool IsIndexVaild(eBattleType type, int index, out int maxIndex, out string message) { maxIndex = 0; message = ""; maxIndex = GetTeamMaxIndex(type); if (index > maxIndex) { if (type == eBattleType.HeroBattle || type == eBattleType.LegionMercenary) { } else if (index == 4) { message = Hotfix_LT.Data.FuncTemplateManager.Instance.GetFunc(10080).GetConditionStrShort(); } else if (index == 5) { message = Hotfix_LT.Data.FuncTemplateManager.Instance.GetFunc(10081).GetConditionStrShort(); } else { var func = Hotfix_LT.Data.FuncTemplateManager.Instance.GetFunc(10046); if (!func.IsConditionOK()) { message = func.GetConditionStrShort(); } } } return(index > maxIndex); }
public void SubtractStatus(eBattleType state, double value) { value = Math.Round(value); switch (state) { case eBattleType.Attack: mPlayerAtk -= value; break; case eBattleType.Defend: mTotalDef -= value; break; case eBattleType.Heal: mTotalHeal -= value; break; default: break; } mTotalAtk = mPlayerAtk; UIController.Instance.ShowTotalStatus(mTotalAtk, mTotalDef, mTotalHeal); }
public void RequestFastCombatTransition(eBattleType battletype, string campaign_name, System.Action <Response> callback) { EB.Sparx.Request request = m_endPoint.Post("/combat/startFirstCombat"); ///fastcampaign/requestPvECombatTransition request.AddData("campaignName", campaign_name); request.AddData("isFTE", GuideManager.Instance.GuideState); m_endPoint.Service(request, callback); }
public void Initialize(int id, int level, string name, double atk, double def, double heal, double hpmax, double hpcurrent, eBattleType battletype) { mID = id; mLevel = level; mName = name; Renew(atk, def, heal, hpmax, hpcurrent); mBattleType = battletype; }
public void ShowPlayerInfo(eBattleType state, double atk, double def, double heal, double hpCurrent, double hpMax, int conditionCurrent) { mPlayerInfoObj.SetActive(true); mPlayerInfoText[0].text = state.ToString(); mPlayerInfoText[1].text = "ATK : " + UnitBuilder.GetUnitStr(atk); mPlayerInfoText[2].text = "DEF : " + UnitBuilder.GetUnitStr(def); mPlayerInfoText[3].text = "HEAL : " + UnitBuilder.GetUnitStr(heal); mPlayerInfoText[4].text = string.Format("HP : {0}/{1}", UnitBuilder.GetUnitStr(hpCurrent), UnitBuilder.GetUnitStr(hpMax)); mPlayerInfoText[5].text = string.Format("Field : {0}", conditionCurrent); }
public override void SetMenuData(object param) { base.SetMenuData(param); if (param != null) { Hashtable table = param as Hashtable; callback = table["action"] as System.Action; isConfirm = (bool)table["isConfirm"]; _battleType = (eBattleType)table["battleType"]; } }
public static string GetCurrentTeamName(eBattleType battle_type = eBattleType.None) { if (battle_type == eBattleType.None) { battle_type = BattleReadyHudController.sBattleType; } if (battle_type == eBattleType.ArenaBattle) { return("arena"); } else if (battle_type == eBattleType.ChallengeCampaign) { return("lt_challenge_camp"); } else if (battle_type == eBattleType.NationBattle) { string teamName = "nation1"; if (!DataLookupsCache.Instance.SearchDataByID <string>("combat.useTeam", out teamName)) { Debug.LogError("Not Found NationBattle combat.useTeam "); } return(teamName); } else if (battle_type == eBattleType.AllieanceFinalBattle || battle_type == eBattleType.AllieancePreBattle) { return("awar"); } else if (battle_type == eBattleType.HeroBattle) { return("lt_coh"); } else if (battle_type == eBattleType.LadderBattle) { return("ladder_battle"); } else if (battle_type == eBattleType.AlienMazeBattle) { return("lt_aw_camp"); } else if (battle_type == eBattleType.SleepTower) { return("lt_st"); } else if (battle_type == eBattleType.LegionMercenary) { return("lt_mercenary"); } else { return(OnGetCurrentTeamName()); } }
public void NextState() { mBattleCount++; SubtractPlayerState(); mBattleType++; if ((int)mBattleType > 2) { mBattleType = 0; } CurrentBattleState(mBattleType); }
public void Show(eBattleType battletype, eCombatOutcome outcome, bool isCampaignFinished) { if (Instance == null) { return; } _isCampaignFinished = isCampaignFinished; _battleType = battletype; if (!_isShowingBattleResult) { RecordBattle(outcome); controller.gameObject.CustomSetActive(true); EB.Coroutines.Run(ShowOutcome(outcome)); _isShowingBattleResult = true; } }
public void RequestCombatTransition(eBattleType battletype, int sceneid, Vector3 pos, float dir, List <string> enemies, System.Action <Response> callback) { EB.Sparx.Request request; switch (battletype) { case eBattleType.CampaignBattle: request = m_endPoint.Post("/scenes/campaign/requestPvECombatTransition"); break; case eBattleType.HantBattle: request = m_endPoint.Post("/scenes/mainland/requestPvECombatTransition"); break; case eBattleType.GhostBattle: request = m_endPoint.Post("/specialactivity/startGhostChallenge"); break; case eBattleType.BossBattle: request = m_endPoint.Post("/worldboss/startChallenge"); break; case eBattleType.ComboTest: request = m_endPoint.Post("/combat/startComboPractice"); break; case eBattleType.AllianceCampaignBattle: request = m_endPoint.Post("/allianceCampaign/requestPvECombatTransition"); break; default: request = m_endPoint.Post("/scenes/mainland/requestPvECombatTransition"); break; } request.AddData("campaignId", sceneid); request.AddData("pos", pos.ToString()); request.AddData("dir", dir); if (enemies != null) { string json = EB.JSON.Stringify(enemies); request.AddData("enemyGroup", json); // fixme } else { request.AddData("enemyGroup", null); // fixme } m_endPoint.Service(request, callback); }
public void GetEnterVigor(eBattleType battleType, out int discountTime, out int discountVigor, out int norVigor) { string goodsStr = ""; switch (battleType) { // //金币副本 // case eBattleType.TreasuryBattle: // goodsStr = GetGameConfigStrValue("TreasureCost"); // break; // //经验副本 // case eBattleType.ExpSpringBattle: // goodsStr = GetGameConfigStrValue("ExpSpringCost"); // break; //极限试炼 case eBattleType.InfiniteChallenge: goodsStr = GetGameConfigStrValue("InfiniteChallengeCost"); break; //觉醒副本 case eBattleType.AwakeningBattle: goodsStr = GetGameConfigStrValue("AwakenDungeonCost"); break; } string[] tempGoodsStrs = goodsStr.Split(','); if (tempGoodsStrs.Length == 3) { int.TryParse(tempGoodsStrs[0], out discountTime); int.TryParse(tempGoodsStrs[1], out discountVigor); int.TryParse(tempGoodsStrs[2], out norVigor); if (battleType == eBattleType.InfiniteChallenge) { discountTime += VIPTemplateManager.Instance.GetTotalNum(VIPPrivilegeKey.InfiDiscountTimes); } if (battleType == eBattleType.AwakeningBattle) { discountTime += VIPTemplateManager.Instance.GetTotalNum(VIPPrivilegeKey.AwakenCampDiscountTimes); } } else { discountTime = 0; discountVigor = 0; norVigor = 0; } }
public void SetData(int lineupIndex, int[] lineupInfo, string lineupType, bool showSavePanel, int battleType, System.Action callback) { _lineupIndex = lineupIndex; _lineupType = lineupType; _labOrder.text = string.Format("{0}{1}", EB.Localizer.GetString("ID_LINEUP"), lineupIndex + 1); _btnSave.gameObject.SetActive(showSavePanel); _btnUse.gameObject.SetActive(!showSavePanel); _callback = callback; _battleType = (eBattleType)battleType; var battleCount = SetData(lineupInfo); // 一组阵容中无人出战,屏蔽使用按钮 if (!showSavePanel && battleCount == 0) { _btnUse.gameObject.SetActive(false); } }
public void AttackEnemyImediatly(EnemyController ec, eBattleType battletype) { if (SceneLogic.SceneState != SceneLogic.eSceneState.SceneLoop) { return; } PlayerController local_player_controller = PlayerManager.LocalPlayerController(); if (local_player_controller == null) { return; } m_EnemiesInCombatRange.Clear(); m_EnemiesInCombatRange.Add(ec); GameObject player = PlayerManager.LocalPlayerGameObject(); if (battletype == eBattleType.HantBattle) { MainLandLogic.GetInstance().RequestBountyTaskCombatTransition(); } else if (battletype == eBattleType.GhostBattle) { //夺宝奇兵 改成通过事件告诉给热更层 FusionAudio.PostEvent("SFX_CombatView_BattleStart"); Hotfix_LT.Messenger.Raise <string, string>("LTSpeedSnatchEvent.TouchEnemy", ec.name, MainLandLogic.GetInstance().SceneId.ToString()); } else { if (ec.name == "EnemySpawns_11") { EnemyController emCtrl = MainLandLogic.GetInstance().EnemyControllers["EnemySpawns_11"]; MainLandLogic.GetInstance().RequestCombatTransition(eBattleType.BossBattle, player.transform.position, player.transform.rotation, new List <EnemyController> { emCtrl }); } else { UIStack.Instance.ShowLoadingScreen(null, false, true); MainLandLogic.GetInstance().RequestCombatTransition(battletype, player.transform.position, player.transform.rotation, m_EnemiesInCombatRange); } } }
public void CurrentBattleState(eBattleType state) { switch (state) { case eBattleType.Attack: PlayerController.Instance.TotalStatus(state, mATK); break; case eBattleType.Defend: PlayerController.Instance.TotalStatus(state, mDEF); break; case eBattleType.Heal: PlayerController.Instance.TotalStatus(state, mHEAL); break; default: Debug.LogError("Wrong State : " + state); break; } }
public override void Awake() { base.Awake(); BattleType = eBattleType.TreasuryBattle; var t = mDMono.transform; VictoryAnimationObj = t.FindEx("Content/Title").gameObject; NameLabel = t.GetComponent <UILabel>("Content/Text/Name/Num"); DamageLabel = t.GetComponent <UILabel>("Content/Text/Damage/Num"); DamageDescLabel = t.GetComponent <UILabel>("Content/Text/Damage/Desc"); RewardLabel = t.GetComponent <UILabel>("Content/Text/Reward/Num"); PrivilegeAdditionLabel = t.GetComponent <UILabel>("Content/Privilege"); GoldSprite = t.GetComponent <UISprite>("Content/Text/Reward/Gold"); ExpSprite = t.GetComponent <UISprite>("Content/Text/Reward/Exp"); BuddyItemList = new List <UIBuddyShowItem>(); BuddyItemList.Add(t.GetMonoILRComponent <UIBuddyShowItem>("Content/Heros/Heros_Grid/0_Pos")); BuddyItemList.Add(t.GetMonoILRComponent <UIBuddyShowItem>("Content/Heros/Heros_Grid/0_Pos (1)")); BuddyItemList.Add(t.GetMonoILRComponent <UIBuddyShowItem>("Content/Heros/Heros_Grid/0_Pos (2)")); BuddyItemList.Add(t.GetMonoILRComponent <UIBuddyShowItem>("Content/Heros/Heros_Grid/0_Pos (3)")); BuddyItemList.Add(t.GetMonoILRComponent <UIBuddyShowItem>("Content/Heros/Heros_Grid/0_Pos (4)")); BuddyItemList.Add(t.GetMonoILRComponent <UIBuddyShowItem>("Content/Heros/Heros_Grid/0_Pos (5)")); Grid = t.GetComponent <UIGrid>("Content/Heros/Heros_Grid"); for (var i = 0; i < Grid.transform.childCount; i++) { var ts = Grid.transform.GetChild(i).GetComponent <TweenScale>(); if (ts != null) { var buddyBaseStats = ts.transform.GetMonoILRComponent <CamapignVictoryExpDataSet>("BuddyBaseStats"); ts.onFinished.Add(new EventDelegate(buddyBaseStats.OnTSFinished)); } } }
public override IEnumerator OnAddToStack() { Hashtable ht = mParam as Hashtable; eBattleType battleType = (eBattleType)ht["battleType"]; if (SceneLogic.BattleType != battleType) { SceneLogic.BattleType = battleType; } eCombatOutcome outCome = (eCombatOutcome)ht["outCome"]; bool isCampaignFinished = (bool)ht["campaignFinished"]; isCombatOut = (bool)ht["isCombatOut"]; isFastCombat = EB.Dot.Bool("isFastCombat", ht, false); yield return(base.OnAddToStack()); Show(battleType, outCome, isCampaignFinished); if (BattleReadyHudController.ShowMercenary()) { //战斗结束 预先把雇佣的伙伴换下 LTFormationDataManager.Instance.SetCurTeamMemberData(); } }
private string GetBattleIsFailedKey(eBattleType type) { return(string.Format("{0}-{1}-{2}", LoginManager.Instance.LocalUserId.Value, NodeMessageManager.CheckBattleIsFailed, type.ToString())); }