public override bool TakeAction() { if (string.IsNullOrEmpty(ContextUser.MercenariesID)) { ErrorCode = LanguageManager.GetLang().ErrorCode; return(false); } FightCombat fightCombat = new FightCombat(); var cacheSet = new ShareCacheStruct <ServerFight>(); ServerFight fight = cacheSet.FindKey(fightCombat.FastID, ContextUser.MercenariesID); if (fight != null) { if (GuildFightCombat.IsFightDate()) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St6412_FightWarDate; return(false); } var fightUser = GuildFightCombat._fightUserList.Find(m => !m.IsRemove && m.UserId == ContextUser.UserID); if (fightUser == null) { fightUser = new FightUser(); fightUser.GuildID = fight.GuildID; fightUser.UserId = ContextUser.UserID; fightUser.UserName = ContextUser.NickName; fightUser.WinCount = 0; fightUser.CityID = fight.CityID; fightUser.ObtainNum = 0; fightUser.InspirePercent = 0; fightUser.IsRemove = false; fightUser.IsNotEnough = false; GuildFightCombat._fightUserList.Add(fightUser); } if (!string.IsNullOrEmpty(fight.CombatMember) && !GuildFightCombat.IsFightWar(ContextUser.UserID, fight.CombatMember)) { fight.CombatMember = fight.CombatMember + ContextUser.UserID + ","; } else { fight.CombatMember = ContextUser.UserID + ","; } ContextUser.UserStatus = UserStatus.FightCombat; ErrorCode = 0; ErrorInfo = LanguageManager.GetLang().St6412_FightWarSuccess; } else { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St6412_HaveSignedUp; return(false); } return(true); }
public override bool TakeAction() { if (string.IsNullOrEmpty(ContextUser.MercenariesID)) { ErrorCode = LanguageManager.GetLang().ErrorCode; return(false); } var cacheSet = new ShareCacheStruct <ServerFight>(); FightCombat combat = new FightCombat(); ServerFight fight = cacheSet.FindKey(combat.FastID, ContextUser.MercenariesID); if (fight != null) { if (!string.IsNullOrEmpty(fight.CombatMember)) { fight.CombatMember = fight.CombatMember.Replace(ContextUser.UserID, "").Replace(",,", ","); if (fight.CombatMember == ",") { fight.CombatMember = string.Empty; } } FightUser fightUser = GuildFightCombat._fightUserList.Find(m => m.UserId == ContextUser.UserID); if (fightUser != null) { GuildFightCombat._fightUserList.Remove(fightUser); } ContextUser.UserStatus = UserStatus.Normal; } else { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St6411_FailedToExit; return(false); } return(true); }