Core/NetworkPackage/DTCFile/ServerPack/HB2_DemonJar/DTCB201_tagMCFMTDoubleState.cs
@@ -18,6 +18,7 @@ var package = vNetPack as HB201_tagMCFMTDoubleState; demonJarModel.isDoubleAward = package.IsDouble == 1; demonJarModel.oldDouble = package.OldDouble == 1; } } Core/NetworkPackage/ServerPack/HB2_DemonJar/HB201_tagMCFMTDoubleState.cs
@@ -6,6 +6,7 @@ public class HB201_tagMCFMTDoubleState : GameNetPackBasic { public byte IsDouble; //是否双倍 public byte OldDouble; //是否曾经允许双倍 public HB201_tagMCFMTDoubleState() { @@ -15,6 +16,7 @@ public override void ReadFromBytes(byte[] vBytes) { TransBytes(out IsDouble, vBytes, NetDataType.BYTE); TransBytes(out OldDouble, vBytes, NetDataType.BYTE); } } System/Dungeon/DungeonInspireWin.cs
@@ -23,23 +23,19 @@ [SerializeField] Text m_FairyCost; [SerializeField] Text m_InspireLevel; [SerializeField] Text m_Remind; [SerializeField] Text m_DemonJarDoubleRemind; [SerializeField] Button m_Confirm; [SerializeField] Button m_Cancel; [SerializeField] Button m_Close; DungeonModel m_Model; DungeonModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); } } DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } } private bool coinInspire = false; private bool fairyInspire = false; private DungeonInspireConfig coinInspireConfig = null; private DungeonInspireConfig fairyInspireConfig = null; #region Built-in protected override void BindController() { @@ -88,8 +84,6 @@ model.dungeonInspireLvEvent += DungeonEncourageEvent; } protected override void OnAfterOpen() { @@ -178,9 +172,14 @@ } else { var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); var isDouble = dataMapId == DemonJarModel.DEMONJAR_MAPID && demonJarModel.isDoubleAward; bool mix = fairyInspireConfig.InspireType == 5 && PlayerDatas.Instance.baseData.GoldPaper < cost && PlayerDatas.Instance.baseData.GoldPaper > 0; var fairyCost = fairyInspireConfig.InspireType == 5 ? cost - PlayerDatas.Instance.baseData.GoldPaper : cost; fairyCost *= isDouble ? 2 : 1; if (fairyCost > 0 && (!model.inspireRemindEffective || !model.inspireNoRemind)) { ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), @@ -236,19 +235,32 @@ private void DisplayCost() { var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); var isDouble = dataMapId == DemonJarModel.DEMONJAR_MAPID && demonJarModel.isDoubleAward; if (coinInspireConfig != null) { m_CoinCost.text = Language.Get("FairyLand_Func9", model.GetDungeonInspireCost(coinInspireConfig), coinInspireConfig.InspireCount); m_CoinCost.text = Language.Get("FairyLand_Func9", model.GetDungeonInspireCost(coinInspireConfig) * (isDouble ? 2 : 1), coinInspireConfig.InspireCount); } if (fairyInspireConfig != null) { m_FairyCost.text = Language.Get("FairyLand_Func10", model.GetDungeonInspireCost(fairyInspireConfig)); m_FairyCost.text = Language.Get("FairyLand_Func10", model.GetDungeonInspireCost(fairyInspireConfig) * (isDouble ? 2 : 1)); } } void DisplayRemind() { m_Remind.gameObject.SetActive(fairyInspireConfig != null && fairyInspireConfig.InspireType == 5); if (demonJarModel.isDoubleAward) { var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); m_DemonJarDoubleRemind.gameObject.SetActive(dataMapId == DemonJarModel.DEMONJAR_MAPID); } else { m_DemonJarDoubleRemind.gameObject.SetActive(false); } } bool InGuiding() System/Dungeon/DungeonModel.cs
@@ -8,8 +8,8 @@ namespace Snxxz.UI { [XLua.LuaCallCSharp] public class DungeonModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize [XLua.LuaCallCSharp] public class DungeonModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize { Dictionary<int, Dictionary<int, int>> dungeonMap = new Dictionary<int, Dictionary<int, int>>();//mapid,lineId,DungeonId; Dictionary<int, Dictionary<int, int>> dungeonHintMap = new Dictionary<int, Dictionary<int, int>>(); @@ -992,6 +992,16 @@ break; case DemonJarModel.DEMONJAR_MAPID: WindowCenter.Instance.Open<DemonJarVictoryWin>(); var demonJarModel = ModelCenter.Instance.GetModel<DemonJarModel>(); if (demonJarModel.autoChallengeBoss > 0 && demonJarModel.autoChallengeBoss == demonJarModel.GetBossIdByLine(m_DungeonResult.lineID)) { var bossId = demonJarModel.autoChallengeBoss; var isDouble = demonJarModel.isDoubleAward; var rank = m_DungeonResult.rank; demonJarModel.AddAutoChallengeLog(bossId, isDouble, rank); demonJarModel.autoChallengeBoss = 0; } break; case FairyLeagueModel.FAIRY_LEAGUE_DUNGEON: case 31160: System/FindPrecious/DemonJarAutoChallengeLogBehaviour.cs
New file @@ -0,0 +1,41 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, November 13, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { public class DemonJarAutoChallengeLogBehaviour : ScrollItem { [SerializeField] Text m_Content; public override void Display(object _data) { base.Display(_data); var log = (DemonJarModel.AutoChallengeLog)_data; var npcConfig = Config.Instance.Get<NPCConfig>(log.bossId); var npcLevel = npcConfig.NPCLV; var time = log.time.ToString("yyyy-MM-dd hh:mm:ss"); var doubleTip = Language.Get(log.isDouble ? "DemonJarAutoDiary2" : "DemonJarAutoDiary1"); var rankTip = Language.Get(log.rank == 1 ? "DemonJarAutoDiary3" : "DemonJarAutoDiary4"); m_Content.text = UIHelper.ReplaceNewLine(Language.Get("DemonJarAutoDiary", npcLevel, time, doubleTip, rankTip)); } public override void Dispose() { base.Dispose(); } } } System/FindPrecious/DemonJarAutoChallengeLogBehaviour.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 082c7575aaf72fa4c9c522f0d5e23e7a timeCreated: 1542080573 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FindPrecious/DemonJarAutoChallengeLogWin.cs
New file @@ -0,0 +1,65 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, November 13, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class DemonJarAutoChallengeLogWin : Window { [SerializeField] CyclicScroll m_LogsCyclicScroll; [SerializeField] Button m_Close; DemonJarModel model { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close.SetListener(CloseClick); } protected override void OnPreOpen() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { m_LogsCyclicScroll.Dispose(); } protected override void OnAfterClose() { } protected override void OnActived() { base.OnActived(); m_LogsCyclicScroll.Init(model.GetAutoChallengeLogs()); } #endregion } } System/FindPrecious/DemonJarAutoChallengeLogWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: cfb20c44b133fc6499596e78102a3b83 timeCreated: 1542080537 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FindPrecious/DemonJarAutoDoubleSettingWin.cs
New file @@ -0,0 +1,112 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, November 13, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class DemonJarAutoDoubleSettingWin : Window { [SerializeField] OnOffToggle m_AutoChallenge; [SerializeField] OnOffToggle m_DoubleChallenge; [SerializeField] Button m_ViewLog; [SerializeField] Button m_Close; DemonJarModel model { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_AutoChallenge.AddListener(SetAutoChallenge); m_DoubleChallenge.AddListener(SetDoubleChallenge); m_ViewLog.SetListener(ViewLog); m_Close.SetListener(CloseClick); } protected override void OnPreOpen() { DisplayAutoChallenge(); DisplayDoubleChallenge(); } protected override void OnAfterOpen() { model.autoChallengeChangeEvent += DisplayAutoChallenge; model.doubleAwardChangeEvent += DisplayDoubleChallenge; } protected override void OnPreClose() { model.autoChallengeChangeEvent -= DisplayAutoChallenge; model.doubleAwardChangeEvent -= DisplayDoubleChallenge; } protected override void OnAfterClose() { } #endregion private void SetAutoChallenge() { var autoable = vipModel.GetVipPrivilegeCnt(VipPrivilegeType.DemonJarAuto) >= 1; if (autoable || model.oldDouble) { model.autoChallenge = !model.autoChallenge; } else { var needLevel = vipModel.GetPrivilegeVipLv(VipPrivilegeType.DemonJarAuto, 0); SysNotifyMgr.Instance.ShowTip("DemonJarAutoVip", needLevel); } } private void SetDoubleChallenge() { var candouble = vipModel.GetVipPrivilegeCnt(VipPrivilegeType.DemonJarDouble) >= 1; if (candouble) { model.RequestSetDoubleAward(!model.isDoubleAward); } else { var needLevel = vipModel.GetPrivilegeVipLv(VipPrivilegeType.DemonJarDouble, 0); SysNotifyMgr.Instance.ShowTip("DemonJarDoubleVip", needLevel); } } private void ViewLog() { WindowCenter.Instance.Open<DemonJarAutoChallengeLogWin>(); } private void DisplayAutoChallenge() { m_AutoChallenge.isOn = model.autoChallenge; } private void DisplayDoubleChallenge() { m_DoubleChallenge.isOn = model.isDoubleAward; } } } System/FindPrecious/DemonJarAutoDoubleSettingWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 5916d9cbfc9a60446b98ea2c009dde97 timeCreated: 1542074967 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FindPrecious/DemonJarModel.cs
@@ -7,21 +7,23 @@ using System.Collections.Generic; using System; using TableConfig; using LitJson; namespace Snxxz.UI { [XLua.LuaCallCSharp] public class DemonJarModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, ISwitchAccount, IPlayerLoginOk public class DemonJarModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, ISwitchAccount, IPlayerLoginOk { public const int TOTALTIME_LIMIT = 5; public const int DEMONJAR_SINGLEMAPID = 52020; public const int DEMONJAR_MAPID = 52010; public const int DEMONJAR_REDPOINTID = 77001; public Redpoint redpoint = new Redpoint(FindPreciousModel.LOOTPRECIOUs_REDPOINTID, DEMONJAR_REDPOINTID); public bool oldDouble = false; bool m_IsDoubleAward = false; public bool isDoubleAward { @@ -39,8 +41,23 @@ } } public bool doubleToKillLowerBossHint { get; set; } bool m_AutoChallenge = false; public bool autoChallenge { get { return m_AutoChallenge; } set { if (m_AutoChallenge != value) { m_AutoChallenge = value; if (autoChallengeChangeEvent != null) { autoChallengeChangeEvent(); } } } } public int autoChallengeBoss { get; set; } public bool doubleToKillLowerBossHint { get; set; } public bool lockSelectedBoss = false; int m_SelectedBoss = 0; @@ -66,15 +83,17 @@ public event Action<int> bossSelectedEvent; public event Action<int> participantChangeEvent; public event Action doubleAwardChangeEvent; public event Action autoChallengeChangeEvent; List<int> sortedBossIds = new List<int>(); Dictionary<int, DemonJarBossData> demonBosses = new Dictionary<int, DemonJarBossData>(); Dictionary<int, int> lineToBoss = new Dictionary<int, int>(); List<AutoChallengeLog> autoChallengeLogs = new List<AutoChallengeLog>(); FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } TreasureSoulModel treasureSoulModel { get { return ModelCenter.Instance.GetModel<TreasureSoulModel>(); } } public override void Init() @@ -117,11 +136,13 @@ var bossId = GetLatestUnLockBoss(); AutoSubscribeLastUnLockBoss(bossId); ParseLocalSaveAutoChallengeLogs(); } public void OnSwitchAccount() { doubleToKillLowerBossHint = true; autoChallenge = false; } public bool TryGetBossData(int _bossId, out DemonJarBossData _data) @@ -250,6 +271,58 @@ } return records; } public void UpdateAutoChallengeLogs() { autoChallengeLogs.Sort(AutoChallengeLog.SortPredicate); } private void ParseLocalSaveAutoChallengeLogs() { autoChallengeLogs.Clear(); var localSaves = LocalSave.GeStringArray(StringUtility.Contact("DemonJarAutoChallengeLog_", PlayerDatas.Instance.PlayerId)); if (localSaves != null) { for (var i = 0; i < localSaves.Length; i++) { autoChallengeLogs.Add(JsonMapper.ToObject<AutoChallengeLog>(localSaves[i])); } } } public void AddAutoChallengeLog(int bossId, bool isDouble, int rank) { var newLog = new AutoChallengeLog() { bossId = bossId, isDouble = isDouble, rank = rank, time = TimeUtility.ServerNow }; autoChallengeLogs.Add(newLog); for (var i = autoChallengeLogs.Count - 1; i >= 0; i--) { var log = autoChallengeLogs[i]; if ((TimeUtility.ServerNow - log.time).TotalDays > 2) { autoChallengeLogs.RemoveAt(i); } } var jsons = new string[autoChallengeLogs.Count]; for (var i = 0; i < autoChallengeLogs.Count; i++) { jsons[i] = JsonMapper.ToJson(autoChallengeLogs[i]); } LocalSave.SetStringArray(StringUtility.Contact("DemonJarAutoChallengeLog_", PlayerDatas.Instance.PlayerId), jsons); } public List<AutoChallengeLog> GetAutoChallengeLogs() { return new List<AutoChallengeLog>(autoChallengeLogs); } public void UpdateDemonJarSoul() @@ -430,6 +503,29 @@ } } public struct AutoChallengeLog { public int bossId; public DateTime time; public bool isDouble; public int rank; public AutoChallengeLog(string dateTime) { this.bossId = 1000000; DateTime.TryParse("", out time); this.isDouble = true; this.rank = 1; } public static int SortPredicate(AutoChallengeLog lhs, AutoChallengeLog rhs) { return lhs.time < rhs.time ? -1 : 1; } } } public class DemonJarBossData @@ -449,6 +545,8 @@ } } } System/FindPrecious/DemonJarWin.cs
@@ -12,7 +12,6 @@ namespace Snxxz.UI { public class DemonJarWin : Window { public static bool guideChallenge = false; @@ -29,11 +28,13 @@ [SerializeField] ToggleButton m_Subscribe; [SerializeField] RectTransform m_ContainerDouble; [SerializeField] ToggleButton m_ToggleDouble; [SerializeField] Button m_BtnAutoAndDouble; [SerializeField] Text m_AutoAndDoubleTitle; DemonJarModel model { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } } FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } } int enterTimes = 0; int totalTimes = 0; @@ -48,7 +49,7 @@ m_KillRecord.AddListener(ShowSkillRecord); m_Subscribe.AddListener(SwitchSubscribeBoss); m_BuyTimes.AddListener(BuyTimes); m_ToggleDouble.AddListener(SwitchDoubleAward); m_BtnAutoAndDouble.AddListener(OpenAutoDuoubleSettingWin); } protected override void OnPreOpen() @@ -58,7 +59,7 @@ m_Times.text = StringUtility.Contact(totalTimes - enterTimes, "/", DemonJarModel.TOTALTIME_LIMIT); OnRemaintimeUpdate(DemonJarModel.DEMONJAR_MAPID); ModelCenter.Instance.GetModel<MapModel>().RequestQueryMapLineState(DemonJarModel.DEMONJAR_MAPID); mapModel.RequestQueryMapLineState(DemonJarModel.DEMONJAR_MAPID); } protected override void OnAfterOpen() @@ -69,6 +70,7 @@ dungeonModel.countRemainTimeChangeEvent += OnRemaintimeUpdate; dungeonModel.updateDungeonBuyCnt += OnBuyTimesOk; model.doubleAwardChangeEvent += OnDoubleAwardChange; model.autoChallengeChangeEvent += OnAutoChallengeChange; } protected override void OnPreClose() @@ -80,6 +82,7 @@ dungeonModel.countRemainTimeChangeEvent -= OnRemaintimeUpdate; dungeonModel.updateDungeonBuyCnt -= OnBuyTimesOk; model.doubleAwardChangeEvent -= OnDoubleAwardChange; model.autoChallengeChangeEvent -= OnAutoChallengeChange; } protected override void OnAfterClose() @@ -92,6 +95,7 @@ ShowBosses(); model.lockSelectedBoss = false; DisplayAutoAndDoubleTitle(); CheckTaskGuide(); CheckAchievementGuideByTimes(); CheckAchievementGuideKillBoss(); @@ -134,15 +138,6 @@ m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss); var demonJarConfig = Config.Instance.Get<DemonJarConfig>(model.selectedBoss); var doubleShowable = demonJarConfig.CanEnterTimes == 0; m_ContainerDouble.gameObject.SetActive(doubleShowable); if (doubleShowable) { m_ToggleDouble.isOn = model.isDoubleAward; } m_BossIntroduce.Display(model.selectedBoss, true); m_Bosses.Init(bosses); m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss)); @@ -184,32 +179,37 @@ m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss); } private void SwitchDoubleAward() private void OpenAutoDuoubleSettingWin() { var vipModel = ModelCenter.Instance.GetModel<VipModel>(); var privilege = vipModel.GetVipPrivilegeCnt(VipPrivilegeType.DemonJarDouble) == 1; if (privilege) var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); if (dataMapId == DemonJarModel.DEMONJAR_MAPID) { var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); if (dataMapId == DemonJarModel.DEMONJAR_MAPID) { SysNotifyMgr.Instance.ShowTip("CantChangeInDemon"); } else { model.RequestSetDoubleAward(!model.isDoubleAward); } SysNotifyMgr.Instance.ShowTip("CantChangeInDemon"); } else { var vipLevel = vipModel.GetPrivilegeVipLv(VipPrivilegeType.DemonJarDouble, 0); SysNotifyMgr.Instance.ShowTip("DemonJarDoubleVip", vipLevel); WindowCenter.Instance.Open<DemonJarAutoDoubleSettingWin>(); } } private void OnDoubleAwardChange() { m_ToggleDouble.isOn = model.isDoubleAward; DisplayAutoAndDoubleTitle(); } private void OnAutoChallengeChange() { DisplayAutoAndDoubleTitle(); } private void DisplayAutoAndDoubleTitle() { var config = Config.Instance.Get<DemonJarConfig>(model.selectedBoss); var doubleAllow = config.CanEnterTimes == 0; var doubleString = UIHelper.AppendStringColor(model.isDoubleAward && doubleAllow ? TextColType.Green : TextColType.NavyBrown, Language.Get("DemonJarDoubleWord"), true); var autoString = UIHelper.AppendStringColor(model.autoChallenge ? TextColType.Green : TextColType.NavyBrown, Language.Get("DemonJarAutoWord"), true); m_AutoAndDoubleTitle.text = StringUtility.Contact(autoString, "/", doubleString); } private void GotoKillBoss() @@ -391,12 +391,7 @@ var demonJarConfig = Config.Instance.Get<DemonJarConfig>(model.selectedBoss); m_RewardDescription.text = Language.Get(demonJarConfig.RewardDescription); var doubleShowable = demonJarConfig.CanEnterTimes == 0; m_ContainerDouble.gameObject.SetActive(doubleShowable); if (doubleShowable) { m_ToggleDouble.isOn = model.isDoubleAward; } DisplayAutoAndDoubleTitle(); } private void CheckAchievementGuideByTimes() System/FindPrecious/FindPreciousBossRebornBehaviour.cs
@@ -59,15 +59,24 @@ { if (model.currentBossNotify != 0) { m_ContainerBossReborn.gameObject.SetActive(true); var bossId = model.currentBossNotify; var config = Config.Instance.Get<NPCConfig>(bossId); if (config != null) var type = model.GetBossFindPreciousType(bossId); if (type == FindPreciousType.DemonJar && AutoGotoSkillDemonJarBoss(bossId)) { m_BossIcon.SetSprite(config.HeadPortrait); m_BossName.text = config.charName; m_BossLevel.text = Language.Get("FindPrecious_11", config.NPCLV); m_ContainerBossReborn.gameObject.SetActive(false); ReportConfirmBossRebornNotify(); } else { m_ContainerBossReborn.gameObject.SetActive(true); var config = Config.Instance.Get<NPCConfig>(bossId); if (config != null) { m_BossIcon.SetSprite(config.HeadPortrait); m_BossName.text = config.charName; m_BossLevel.text = Language.Get("FindPrecious_11", config.NPCLV); } } } else @@ -118,6 +127,49 @@ } } private bool AutoGotoSkillDemonJarBoss(int bossId) { if (!demonJarModel.autoChallenge) { return false; } var surplusTimes = demonJarModel.GetSurplusTimes(); var needTimes = demonJarModel.isDoubleAward ? 2 : 1; if (surplusTimes < needTimes) { return false; } var mapId = PlayerDatas.Instance.baseData.MapID; var mapConfig = Config.Instance.Get<MapConfig>(mapId); if (mapConfig.MapFBType != (int)MapType.OpenCountry) { return false; } if (PlayerDatas.Instance.extersion.bossState == 1) { return false; } if (PlayerDatas.Instance.extersion.pkState == 1) { return false; } if (WindowCenter.Instance.IsOpen("DemonJarWin") || WindowCenter.Instance.IsOpen("DemonJarAutoDoubleSettingWin")) { return false; } var config = Config.Instance.Get<DemonJarConfig>(bossId); dungeonModel.SingleChallenge(DemonJarModel.DEMONJAR_MAPID, config.LineID); demonJarModel.autoChallengeBoss = bossId; return true; } private void GotoKillDemonJarBoss(int _bossId) { var mapId = PlayerDatas.Instance.baseData.MapID; Utility/EnumHelper.cs
@@ -1113,6 +1113,7 @@ DemonJarDouble = 28, BindJadeWheel=30, PrayForDrug = 31, DemonJarAuto=32, }