/// <summary> /// 攻击 /// </summary> /// <param name="MyPos"></param> private void Fight(int MyPos) { GameManager.MyClientManager.CurrentActiveCard = GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.BattleField.BattleMinions[MyPos - 1]; var YourPos = SelectPanel(SelectUtility.GetFightSelectOpt()); List <string> actionlst = RunAction.Fight(GameManager.MyClientManager.actionStatus, MyPos, YourPos.位置, true); actionlst.AddRange(SecretCard.奥秘计算(actionlst, GameManager.MyClientManager.actionStatus, GameManager.MyClientManager.GameId)); GameManager.MyClientManager.actionStatus.AllRole.MyPrivateInfo.ResetHandCardCost(GameManager.MyClientManager.actionStatus); if (SystemManager.游戏类型 != SystemManager.GameType.单机版) { ClientRequest.WriteAction(GameManager.MyClientManager.GameId.ToString(GameServer.GameIdFormat), actionlst); } DisplayMyInfo(); }
/// <summary> /// 使用手牌 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnUseHandCard_Click(object sender, EventArgs e) { CardBasicInfo UseHandCard; if ((sender.GetType()) == typeof(Button)) { UseHandCard = (CardBasicInfo)((ctlHandCard)(((Button)sender).Parent)).Tag; } else { UseHandCard = (CardBasicInfo)(((ctlHeroAbility)sender).Tag); } GameManager.MyClientManager.CurrentActiveCard = UseHandCard; var msg = CardBasicInfo.CheckCondition(UseHandCard, GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo); if (!string.IsNullOrEmpty(msg)) { MessageBox.Show(msg); return; } var actionlst = RunAction.StartAction(GameManager.MyClientManager.actionStatus, UseHandCard.序列号); if (actionlst.Count != 0) { if ((sender.GetType()) == typeof(Button)) { actionlst.Insert(0, ActionCode.strCard + CardUtility.strSplitMark + CardUtility.strMe); GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.crystal.CurrentRemainPoint -= UseHandCard.使用成本; GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.HandCardCount--; GameManager.MyClientManager.actionStatus.AllRole.MyPrivateInfo.RemoveUsedCard(UseHandCard.序列号); } else { GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.crystal.CurrentRemainPoint -= UseHandCard.使用成本; GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.Hero.IsUsedHeroAbility = true; } actionlst.Add(ActionCode.strCrystal + CardUtility.strSplitMark + CardUtility.strMe + CardUtility.strSplitMark + GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.crystal.CurrentRemainPoint + CardUtility.strSplitMark + GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.crystal.CurrentFullPoint); //奥秘计算 actionlst.AddRange(SecretCard.奥秘计算(actionlst, GameManager.MyClientManager.actionStatus, GameManager.MyClientManager.GameId)); GameManager.MyClientManager.actionStatus.AllRole.MyPrivateInfo.ResetHandCardCost(GameManager.MyClientManager.actionStatus); if (SystemManager.游戏类型 != SystemManager.GameType.单机版) { ClientRequest.WriteAction(GameManager.MyClientManager.GameId.ToString(GameServer.GameIdFormat), actionlst); } DisplayMyInfo(); } }