Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
@@ -398,6 +398,7 @@ EditorGUILayout.Space(); ClientPackage.auditOutTime = EditorGUILayout.TextField("AppStore Review OutTime",ClientPackage.auditOutTime, GUILayout.Height(20)); publishers = EditorGUILayout.TextField("Publishers", publishers, GUILayout.Height(50)); EditorGUILayout.Space(); Core/GameEngine/Login/Launch.cs
@@ -119,6 +119,9 @@ break; } #endif #if UNITY_ANDROID m_CurrentStage = LaunchStage.ClientVersion; if (!Application.isEditor || InGameDownTestUtility.enable) { @@ -136,23 +139,29 @@ } #endif #if UNITY_IOS && !UNITY_EDITOR m_CurrentStage = LaunchStage.ClientVersion; if (!Application.isEditor || InGameDownTestUtility.enable) #if UNITY_IOS if (!VersionUtility.Instance.InIosAuditTime()) { VersionUtility.Instance.RequestVersionCheck(); progressBuf = progress; timer = 0f; duration = 1f; while (!VersionUtility.Instance.completed) m_CurrentStage = LaunchStage.ClientVersion; if (!Application.isEditor || InGameDownTestUtility.enable) { timer += Time.deltaTime; progress = Mathf.Clamp(progressBuf + timer / duration * 0.1f, progressBuf, progressBuf + 0.1f); yield return null; VersionUtility.Instance.RequestVersionCheck(); progressBuf = progress; timer = 0f; duration = 1f; while (!VersionUtility.Instance.completed) { timer += Time.deltaTime; progress = Mathf.Clamp(progressBuf + timer / duration * 0.1f, progressBuf, progressBuf + 0.1f); yield return null; } } } #endif #if UNITY_IOS && !UNITY_EDITOR if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 1) { @@ -219,47 +228,40 @@ OperationLogCollect.Instance.RecordLauchEvent(2); OperationLogCollect.Instance.RecordEvent(2); if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 1) if (VersionUtility.Instance.NeedDownAsset()) { m_CurrentStage = LaunchStage.DownLoad; switch (VersionConfig.Get().assetAccess) progressBuf = progress; timer = 0f; duration = 1.5f; AssetVersionUtility.GetAssetVersionFile(); while (!AssetVersionUtility.checkAssetCompleted) { case InstalledAsset.IngoreDownLoad: break; case InstalledAsset.NullAsset: case InstalledAsset.HalfAsset: case InstalledAsset.FullAsset: AssetVersionUtility.GetAssetVersionFile(); timer += Time.deltaTime; progress = Mathf.Clamp(progressBuf + timer / duration * 0.3f, progressBuf, progressBuf + 0.3f); yield return null; } progressBuf = progress; timer = 0f; duration = 1.5f; while (!AssetVersionUtility.checkAssetCompleted) { timer += Time.deltaTime; progress = Mathf.Clamp(progressBuf + timer / duration * 0.3f, progressBuf, progressBuf + 0.3f); yield return null; } if (!AssetVersionUtility.priorAssetDownLoadDone) { AssetVersionUtility.BeginDownLoadTask(true); while (!AssetVersionUtility.priorAssetDownLoadDone) { yield return null; } if (!AssetVersionUtility.priorAssetDownLoadDone) { AssetVersionUtility.BeginDownLoadTask(true); while (!AssetVersionUtility.priorAssetDownLoadDone) { yield return null; } yield return WaitingForSecondConst.WaitMS200; } yield return WaitingForSecondConst.WaitMS200; } if (!AssetVersionUtility.unPriorAssetDownLoadDone) { AssetVersionUtility.BeginDownLoadTask(false); } break; if (!AssetVersionUtility.unPriorAssetDownLoadDone) { AssetVersionUtility.BeginDownLoadTask(false); } } GameNotice.OpenGameNotice(); if (!AssetSource.allFromEditor) { StartCoroutine(AssetBundleUtility.Instance.Initialize()); Core/GameEngine/Login/LoginStage.cs
@@ -18,6 +18,11 @@ backGroundWin.ShowLoginEffect(); } if (VersionUtility.Instance.InIosAuditTime()) { ServerListCenter.Instance.ParseServerLocalServerList(); } if (VersionConfig.Get().isBanShu) { WindowCenter.Instance.Open<BanShuLoginWin>(true); @@ -47,7 +52,7 @@ SoundPlayer.Instance.PlayLoginMusic(); if (!AssetVersionUtility.hasDownLoadFullAsset) if (VersionUtility.Instance.NeedDownAsset() && !AssetVersionUtility.hasDownLoadFullAsset) { InGameDownLoad.Instance.inGameDownLoadAllow = true; InGameDownLoad.Instance.TryDownLoad(InGameDownLoad.Dominant.None); Core/GameEngine/Model/Config/DemonJarConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, August 28, 2018 // [ Date ]: Friday, September 28, 2018 //-------------------------------------------------------- using UnityEngine; @@ -26,6 +26,7 @@ public int[] Job3; public int KillHurtMin { get ; private set ; } public int KillHurtMax { get ; private set ; } public string RewardDescription { get ; private set; } public override string getKey() { @@ -84,6 +85,8 @@ KillHurtMin=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0; KillHurtMax=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0; RewardDescription = rawContents[15].Trim(); } catch (Exception ex) { Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 7e442059ea96745478dd5787f9e84ef5 timeCreated: 1535448421 timeCreated: 1538136681 licenseType: Pro MonoImporter: serializedVersion: 2 Core/GameEngine/Model/Config/LoginSeverListConfig.cs
New file @@ -0,0 +1,50 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Saturday, September 29, 2018 //-------------------------------------------------------- using UnityEngine; using System; namespace TableConfig { public partial class LoginSeverListConfig : ConfigBase { public int ID { get ; private set ; } public string ip { get ; private set; } public string pagePort { get ; private set; } public int gatePort { get ; private set ; } public string serverName { get ; private set; } public override string getKey() { return ID.ToString(); } public override void Parse() { try { ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; ip = rawContents[1].Trim(); pagePort = rawContents[2].Trim(); gatePort=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; serverName = rawContents[4].Trim(); } catch (Exception ex) { DebugEx.Log(ex); } } } } Core/GameEngine/Model/Config/LoginSeverListConfig.cs.metacopy from Fight/Stage/PaintMapLine.cs.meta copy to Core/GameEngine/Model/Config/LoginSeverListConfig.cs.meta
File was copied from Fight/Stage/PaintMapLine.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 9202015b1077a91488a691347bdeafae timeCreated: 1508832157 guid: 26aef6c81733c0440a426102e8c58da7 timeCreated: 1538225014 licenseType: Pro MonoImporter: serializedVersion: 2 Core/GameEngine/Model/ConfigManager.cs
@@ -27,10 +27,16 @@ SnxxzGame.Instance.AddApplicationOutAction(OnApplicationOut); } public void LoadPriorBundleConfig() { StartSyncTask<PriorBundleConfig>(AssetPath.Resource); } public void PreLoadConfigs() { StartSyncTask<PriorBundleConfig>(AssetPath.Resource); StartSyncTask<PriorLanguageConfig>(AssetPath.Resource); StartSyncTask<LoginSeverListConfig>(AssetSource.refdataFromEditor ? AssetPath.ResourceOut : AssetPath.External); } List<ConfigTask> configTasks = new List<ConfigTask>(); @@ -204,7 +210,7 @@ } } var allowTaskCount = completedCount <= 7 ? GetMinWorkingTaskCount() : GetMaxWorkingTaskCount(); var allowTaskCount = completedCount <= 8 ? GetMinWorkingTaskCount() : GetMaxWorkingTaskCount(); var workingCount = 0; for (int i = 0; i < configTasks.Count; i++) { Core/GameEngine/SnxxzGame.cs
@@ -43,13 +43,51 @@ } } #if UNITY_EDITOR private void OnDrawGizmos() { if (m_OnDrawGizmosActions != null) { m_OnDrawGizmosActions(); } Gizmos.color = Color.black; if (RuntimeLogUtility.s_ShowMapLine) { GA_Hero _hero = PlayerDatas.Instance.hero; int row = 50; int column = 50; float size = 0.5f; float _startX = (int)_hero.Pos.x - 12.5f; float _startZ = (int)_hero.Pos.z - 12.5f; if (_hero != null) { Vector3 _start; Vector3 _end; for (int i = 0; i < row + 1; ++i) { _start = new Vector3(_startX, _hero.Pos.y + 0.1f, _startZ + i * size); _end = new Vector3(_startX + column * .5f, _hero.Pos.y + 0.1f, _startZ + i * size); Gizmos.DrawLine(_start, _end); } for (int i = 0; i < column + 1; ++i) { _start = new Vector3(_startX + i * size, _hero.Pos.y + 0.1f, _startZ); _end = new Vector3(_startX + i * size, _hero.Pos.y + 0.1f, _startZ + row* .5f); Gizmos.DrawLine(_start, _end); } } } } #endif protected sealed override void OnDestroy() { Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0439_tagPlayerChangeDienstgrad.cs
@@ -30,8 +30,8 @@ GActorPlayerBase _player = GAMgr.Instance.GetBySID(vNetData.PlayerID) as GActorPlayerBase; if (_player != null) { var titleId = PlayerDatas.Instance.baseData.MapID == 31160 ? 0 : vNetData.GradID;//上古战场不显示称号 _player.SwitchTitle(titleId); //var titleId = PlayerDatas.Instance.baseData.MapID == 31160 ? 0 : vNetData.GradID;//上古战场不显示称号 _player.SwitchTitle(vNetData.GradID); } } Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC09_tagGCFairyCeremonyInfo.cs
@@ -6,7 +6,8 @@ public class DTCAC09_tagGCFairyCeremonyInfo : DtcBasic { public class DTCAC09_tagGCFairyCeremonyInfo : DtcBasic { FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } Core/NetworkPackage/DebugPkgCache.cs
New file @@ -0,0 +1,31 @@ using System.Collections.Generic; public class DebugPkgCache { private string dataTime; private int code; private static List<DebugPkgCache> m_List = new List<DebugPkgCache>(); public static void Push(GameNetPackBasic package) { if (m_List.Count != 0) { if (m_List[m_List.Count - 1].code == 258) { return; } } DebugPkgCache _p = new DebugPkgCache(); _p.dataTime = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); _p.code = package.cmd; m_List.Add(_p); } public static void UpLoad() { } } Core/NetworkPackage/DebugPkgCache.cs.metacopy from Fight/Stage/PaintMapLine.cs.meta copy to Core/NetworkPackage/DebugPkgCache.cs.meta
File was copied from Fight/Stage/PaintMapLine.cs.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 guid: 9202015b1077a91488a691347bdeafae timeCreated: 1508832157 licenseType: Pro guid: 90b1b61b46516f047a22f3e5920983cd timeCreated: 1538230240 licenseType: Free MonoImporter: serializedVersion: 2 defaultReferences: [] Core/NetworkPackage/ServerPack/HAC_Activity/HAC09_tagGCFairyCeremonyInfo.cs
@@ -8,6 +8,7 @@ public string EndtDate; // 结束日期 y-m-d public ushort WorldLV; // 世界等级 public ushort LimitLV; // 限制等级 public byte ResetType; // 重置类型 0-0点重置 1-5点重置 public HAC09_tagGCFairyCeremonyInfo () { _cmd = (ushort)0xAC09; @@ -18,6 +19,7 @@ TransBytes (out EndtDate, vBytes, NetDataType.Chars, 10); TransBytes (out WorldLV, vBytes, NetDataType.WORD); TransBytes (out LimitLV, vBytes, NetDataType.WORD); TransBytes (out ResetType, vBytes, NetDataType.BYTE); } } Fight/BossFakeLineUtility.cs
@@ -15,8 +15,18 @@ bool m_ShowFakeLine = false; public bool showFakeLine { get { return m_ShowFakeLine; } set { m_ShowFakeLine = value; } get { if (TimeUtility.OpenDay < GeneralConfig.Instance.bossShuntDays && GeneralConfig.Instance.neutralMaps.Contains(PlayerDatas.Instance.baseData.MapID)) { return true; } return m_ShowFakeLine; } set { m_ShowFakeLine = value; } } public BossFakeLineUtility() @@ -70,6 +80,15 @@ public void RecordSawStone(int npcId, int lineId) { var bossInfo = BossInfoConfig.GetBossInfoByStoneId(npcId); if (bossInfo != null) { if (HasSawLineBossRecently(bossInfo.NPCID, lineId)) { bossSawRecorder.Clear(); } } stoneSawRecorder.Record(npcId, lineId, Time.realtimeSinceStartup); } @@ -93,6 +112,11 @@ public void RecordSawBoss(int bossId, int lineId) { if (HasSawLineStoneRecently(bossId, lineId)) { stoneSawRecorder.Clear(); } bossSawRecorder.Record(bossId, lineId, Time.realtimeSinceStartup); } Fight/GameActor/GA_Hero.cs
@@ -210,10 +210,9 @@ if (Time.realtimeSinceStartup - m_ChkOpenAutoEscapeTime > 2f) { int _dgDataID = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); var dungeonOpen = Config.Instance.Get<DungeonOpenTimeConfig>(_dgDataID); if (dungeonOpen != null) if (Config.Instance.ContainKey<DungeonOpenTimeConfig>(_dgDataID)) { var dungeonOpen = Config.Instance.Get<DungeonOpenTimeConfig>(_dgDataID); if (dungeonOpen.DoFight == 1) { forceAutoFight = true; @@ -419,8 +418,7 @@ var titleModel = ModelCenter.Instance.GetModel<TitleModel>(); var _title = titleModel.GetTitleEquip(); uint _titleID = 0; if (_title != null && titleModel.IsTitleGain(_title.id) && PlayerDatas.Instance.baseData.MapID != 31160)//上古战场不显示称号 if (_title != null && titleModel.IsTitleGain(_title.id))//上古战场不显示称号 { _titleID = (uint)_title.id; } @@ -440,7 +438,6 @@ } base.SetFairyLeagueHeadUp(PlayerDatas.Instance.baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON); CheckAncientHeadUp(); } public sealed override void SwitchRedName(bool on) Fight/GameActor/GA_Player.cs
@@ -352,8 +352,7 @@ m_HeadUpName = HeadUpName.RequireHeadUpName(HeadUpName.Pattern.Player, MP_Name, 0, CameraController.Instance.CameraObject); } var titleId = PlayerDatas.Instance.baseData.MapID == 31160 ? 0 : ActorInfo.titleID; m_HeadUpName.SetPlayerInfo((int)ActorInfo.realm, titleId, ActorInfo.PlayerName, ActorInfo.familyName, m_H0434.State == 1); m_HeadUpName.SetPlayerInfo((int)ActorInfo.realm, ActorInfo.titleID, ActorInfo.PlayerName, ActorInfo.familyName, m_H0434.State == 1); if (StatusMgr.Instance.IsExist(ServerInstID, StatusMgr.Instance.bossBelongBuffID)) { @@ -361,7 +360,6 @@ } base.SetFairyLeagueHeadUp(PlayerDatas.Instance.baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON); CheckAncientHeadUp(); } public sealed override void SwitchRedName(bool on) Fight/GameActor/GActorPlayerBase.cs
@@ -43,8 +43,6 @@ public JobSetupConfig JobSetup { get; protected set; } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } public override int NextAction { get @@ -218,7 +216,6 @@ MovingState = E_MovingState.Normal; SystemSetting.Instance.qualityLevelChangeEvent += OnGameQualityChange; dungeonModel.updateMissionEvent += CheckAncientHeadUp; base.OnInit(package); } @@ -340,7 +337,6 @@ JobSetup = null; SystemSetting.Instance.qualityLevelChangeEvent -= OnGameQualityChange; dungeonModel.updateMissionEvent -= CheckAncientHeadUp; base.OnUnit(); } @@ -352,20 +348,20 @@ UpdateRush(); } public void CheckAncientHeadUp() { if (PlayerDatas.Instance.baseData.MapID == 31160) { var help = dungeonModel.mission; SwitchAncientKing(help.topPlayerID == ServerInstID); SwitchAncientEnemy(help.enemyID == ServerInstID && ServerInstID != PlayerDatas.Instance.baseData.PlayerID); } else { SwitchAncientKing(false); SwitchAncientEnemy(false); } } //public void CheckAncientHeadUp() //{ // if (PlayerDatas.Instance.baseData.MapID == 31160) // { // var help = dungeonModel.mission; // SwitchAncientKing(help.topPlayerID == ServerInstID); // SwitchAncientEnemy(help.enemyID == ServerInstID && ServerInstID != PlayerDatas.Instance.baseData.PlayerID); // } // else // { // SwitchAncientKing(false); // SwitchAncientEnemy(false); // } //} #region 装备穿戴相关 Fight/MapTransferUtility.cs
@@ -180,8 +180,15 @@ } } public bool forceMove = false; public void MoveToNPC(int npcID, int sid = 0) { if (npcID != NpcID) { forceMove = false; } if (sid != 0) { GActor _actor = GAMgr.Instance.GetBySID((uint)sid); @@ -352,6 +359,8 @@ var mapId = _npcLocation.mapId; var position = new Vector3(_mapConfig.BornPoints[0].x, 0, _mapConfig.BornPoints[0].y); Send_WorldTransfer(mapId, position, MapTransferType.WorldTransport, (byte)_lineID, npcID); forceMove = true; if (BossFakeLineUtility.Instance.IsShuntBoss(npcID)) { @@ -376,14 +385,17 @@ if (((lastMoveToWorldBossNpcID == npcID && Time.realtimeSinceStartup - lastMoveToWorldBossTime < 60) && PlayerDatas.Instance.baseData.FBID == 0) || BossFakeLineUtility.Instance.showFakeLine || (BossFakeLineUtility.Instance.showFakeLine && ModelCenter.Instance.GetModel<FindPreciousModel>().IsBossAlive(npcID)) || (_fairyBossModel.bosses != null && _fairyBossModel.bosses.Contains(npcID))) && _fairyBossModel.bosses.Contains(npcID)) || forceMove) { //Debug.LogFormat(" |-- 非想去的boss为60秒内行为产生且为同一只boss, {0}, {1}", BossFakeLineUtility.Instance.showFakeLine, //PlayerDatas.Instance.baseData.FBID); Vector3 _destPos = new Vector3(_npcLocation.position.x, _hero.Pos.y, _npcLocation.position.y); _hero.MoveToPosition(_destPos, _npcLocation.scope); forceMove = false; } else { @@ -398,6 +410,7 @@ //Debug.LogFormat(" |-- 非想去的boss记录,或则见到boss时差超过60秒"); Send_WorldTransfer(_npcLocation.mapId, new Vector3(_hero.Pos.x * 2, 0, _hero.Pos.z * 2), MapTransferType.WorldTransport, 0, npcID); forceMove = true; } else { Fight/PreFightMission.cs
@@ -1395,7 +1395,11 @@ m_FabaoEffect = SFXPlayUtility.Instance.PlayWithEulerAngle(1051, new Vector3(129.98f, 51.548f, 33.13f), new Vector3(0, -90.81f, 0)); PlayerDatas.Instance.hero.MoveToPosition(m_SecondTransferStartPos); if (PlayerDatas.Instance.hero!=null) { PlayerDatas.Instance.hero.MoveToPosition(m_SecondTransferStartPos); } DebugEx.Log("第四个对话结束..."); } @@ -1556,6 +1560,8 @@ { yield break; } WindowCenter.Instance.Close<MainInterfaceWin>(); CameraController.Instance.MaskCamera.gameObject.SetActive(false); @@ -1746,9 +1752,11 @@ // } AssetBundleUtility.Instance.UnloadAssetBundle("maps/map000_xsdt", true, false); } } private bool mDestroy = false; public void Destroy() { SnxxzGame.Instance.StartCoroutine(Co_Destroy()); Fight/Stage/CreateRoleStage.cs
@@ -22,7 +22,7 @@ SystemSetting.Instance.SetQualityLevel(SystemSetting.Instance.GetCurrentQualityLevel()); SoundPlayer.Instance.PlayLoginMusic(); if (!AssetVersionUtility.hasDownLoadFullAsset) if (VersionUtility.Instance.NeedDownAsset() && !AssetVersionUtility.hasDownLoadFullAsset) { InGameDownLoad.Instance.TryDownLoad(InGameDownLoad.Dominant.None); } Fight/Stage/PaintMapLine.cs
File was deleted Fight/Stage/SelectRoleStage.cs
@@ -20,7 +20,7 @@ SystemSetting.Instance.SetQualityLevel(SystemSetting.Instance.GetCurrentQualityLevel()); SoundPlayer.Instance.PlayLoginMusic(); if (!AssetVersionUtility.hasDownLoadFullAsset) if (VersionUtility.Instance.NeedDownAsset() && !AssetVersionUtility.hasDownLoadFullAsset) { InGameDownLoad.Instance.TryDownLoad(InGameDownLoad.Dominant.None); } Fight/Stage/StageManager.cs
@@ -559,15 +559,15 @@ _hero.IdleImmediate(); _hero.SetFairyLeagueHeadUp(PlayerDatas.Instance.baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON); _hero.CheckAncientHeadUp(); var titleId = 0; if (PlayerDatas.Instance.baseData.MapID != 31160) { var titelModel = ModelCenter.Instance.GetModel<TitleModel>(); var title = titelModel.GetTitleEquip(); titleId = title != null && titelModel.IsTitleGain(title.id) ? title.id : 0; } _hero.SwitchTitle((uint)titleId); //_hero.CheckAncientHeadUp(); //var titleId = 0; //if (PlayerDatas.Instance.baseData.MapID != 31160) //{ // var titelModel = ModelCenter.Instance.GetModel<TitleModel>(); // var title = titelModel.GetTitleEquip(); // titleId = title != null && titelModel.IsTitleGain(title.id) ? title.id : 0; //} //_hero.SwitchTitle((uint)titleId); // 判断buff if (StatusMgr.Instance.IsExist(PlayerDatas.Instance.PlayerId, StatusMgr.Instance.redNameBuffID)) System/AssetVersion/AssetVersionUtility.cs
@@ -18,23 +18,13 @@ static bool m_PriorAssetDownLoadDone = false; public static bool priorAssetDownLoadDone { get { if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 0) if (VersionUtility.Instance.NeedDownAsset()) { return m_PriorAssetDownLoadDone; } else { return true; } else { switch (VersionConfig.Get().assetAccess) { case InstalledAsset.NullAsset: case InstalledAsset.HalfAsset: case InstalledAsset.FullAsset: return m_PriorAssetDownLoadDone; case InstalledAsset.IngoreDownLoad: return true; default: return true; } } } } @@ -42,23 +32,13 @@ static bool m_UnPriorAssetDownLoadDone = false; public static bool unPriorAssetDownLoadDone { get { if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 0) if (VersionUtility.Instance.NeedDownAsset()) { return m_UnPriorAssetDownLoadDone; } else { return true; } else { switch (VersionConfig.Get().assetAccess) { case InstalledAsset.NullAsset: case InstalledAsset.HalfAsset: case InstalledAsset.FullAsset: return m_UnPriorAssetDownLoadDone; case InstalledAsset.IngoreDownLoad: return true; default: return true; } } } } @@ -193,7 +173,14 @@ } else { path = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, _assetKey); if (Application.platform == RuntimePlatform.Android) { path = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, _assetKey); } else { path = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, _assetKey); } } return path; @@ -201,17 +188,14 @@ public static bool IsUnpriorAssetDownLoadOk() { if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 0) if (VersionUtility.Instance.NeedDownAsset()) { return true; return unPriorAssetDownLoadDone; } if (VersionConfig.Get().assetAccess == InstalledAsset.IngoreDownLoad) else { return true; } return unPriorAssetDownLoadDone; } System/AssetVersion/DownLoadAndDiscompressTask.cs
@@ -78,6 +78,8 @@ { step = Step.DownLoad; SnxxzGame.Instance.StartCoroutine(Co_StartDownLoad()); GameNotice.OpenGameNotice(); } IEnumerator Co_StartDownLoad() System/BlastFurnace/BlastFurnaceModel.cs
@@ -40,6 +40,9 @@ { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } PlayerPetDatas petModel { get { return ModelCenter.Instance.GetModel<PlayerPetDatas>(); } } PlayerMountDatas mountModel { get { return ModelCenter.Instance.GetModel<PlayerMountDatas>(); } } public override void Init() { @@ -91,8 +94,11 @@ playerPack.RefreshItemSumUseCntAct -= RefreshItemUsce; WindowCenter.Instance.windowAfterCloseEvent -= StoveUpgradAfterClose; PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshRealm; PlayerPetDatas.Event_H0704Add -= AddPetEvent; PlayerMountDatas.Event_MountHA301A -= AddMountEvent; } public void OnAfterPlayerDataInitialize() { @@ -106,6 +112,17 @@ CheckRecycleStoreRed(); } private void AddMountEvent(int _HorseID) { CheckMakerDandrugCondition(); } private void AddPetEvent() { CheckMakerDandrugCondition(); } public void OnPlayerLoginOk() { CheckMakerDandrugCondition(); @@ -117,6 +134,9 @@ WindowCenter.Instance.windowAfterCloseEvent += StoveUpgradAfterClose; playerPack.ItemCntReduceAct += RefreshDanReduce; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshRealm; PlayerPetDatas.Event_H0704Add += AddPetEvent; PlayerMountDatas.Event_MountHA301A += AddMountEvent; } public void RefreshAddSpecMat(AlchemySpecConfig alchemySpecModel) @@ -828,6 +848,20 @@ if (alchemyModellist == null || !FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlastFurnace)) return; for (int i = alchemyModellist.Count - 1; i > -1; i--) { if (StoveLV >= alchemyModellist[i].BlastFurnaceLV) { if (IsSpecMatEnough(alchemyModellist[i]) && IsNormalMatEnough(alchemyModellist[i]) && !CheckIsHavePetOrMount(alchemyModellist[i])) { danDrugRedPointlist[i].state = RedPointState.Simple; return; } } } for (int i = alchemyModellist.Count - 1; i > -1; i--) { if (StoveLV >= alchemyModellist[i].BlastFurnaceLV) @@ -857,6 +891,43 @@ } private bool CheckIsHavePetOrMount(AlchemyConfig alchemyConfig) { if (alchemyConfig == null) return true; Dictionary<int, List<int>> specDrugDict = null; IsSpecMatEnough(alchemyConfig,out specDrugDict); foreach(var key in specDrugDict.Keys) { List<int> idlist = specDrugDict[key]; for (int i = 0; i < idlist.Count; i++) { if (tipsModel.unlockPetDict.ContainsKey(idlist[i])) { PetInfoConfig petInfo = tipsModel.unlockPetDict[idlist[i]]; var petmodel = ModelCenter.Instance.GetModel<PlayerPetDatas>(); if (!petmodel._DicPetBack.ContainsKey(petInfo.ID)) { return false; } } if (tipsModel.unlockMountDict.ContainsKey(idlist[i])) { HorseConfig horseConfig = tipsModel.unlockMountDict[idlist[i]]; var mountModel = ModelCenter.Instance.GetModel<PlayerMountDatas>(); if (!mountModel._DicHorse.ContainsKey(horseConfig.HorseID)) { return false; } } } } return true; } public bool IsSpecMatEnough(AlchemyConfig alchemyConfig) { if (alchemyConfig == null) return false; @@ -876,6 +947,28 @@ return isEnough; } public bool IsSpecMatEnough(AlchemyConfig alchemyConfig,out Dictionary<int,List<int>> specDurgDict) { specDurgDict = new Dictionary<int, List<int>>(); if (alchemyConfig == null) return false; if (alchemyConfig.SpecialItem == null || alchemyConfig.SpecialItem.Length < 1) return false; bool isEnough = false; for (int i = 0; i < alchemyConfig.SpecialItem.Length; i++) { AlchemySpecConfig specConfig = Config.Instance.Get<AlchemySpecConfig>(alchemyConfig.SpecialItem[i]); int haveCnt = playerPack.GetItemCountByID(PackType.rptItem, specConfig.SpecialMaterialD); if (haveCnt >= specConfig.SpecialMateriaNUM) { isEnough = true; List<int> specIdlist = GetPreviewSpecMakeDruglist(specConfig).Keys.ToList(); specDurgDict.Add(specConfig.SpecialMaterialD,specIdlist); } } return isEnough; } public bool IsNormalMatEnough(AlchemyConfig alchemyConfig) { if (alchemyConfig == null) return false; System/BlastFurnace/GetEquipPathTips.cs
@@ -492,6 +492,16 @@ gemAttr.SetActive(false); return; } switch (itemAttrData.itemConfig.EquipPlace) { case 101: case 102: case 103: case 104: case 105: gemAttr.SetActive(false); return; } curAttrTypeNum += 1; gemAttr.SetActive(true); gemTitleText.text = Language.Get("EquipWin_GemPropObj_Text_1"); System/ClientVersion/VersionConfig.cs
@@ -98,24 +98,31 @@ public void Read(string _data) { var dataStrings = _data.Split('\t'); m_AppId = dataStrings[2]; m_VersionAuthority = (VersionAuthority)int.Parse(dataStrings[3]); m_Version = dataStrings[4]; m_ClientPackageFlag = dataStrings[5]; m_Branch = int.Parse(dataStrings[6]); m_AssetAccess = (InstalledAsset)int.Parse(dataStrings[7]); m_PartAssetPackage = int.Parse(dataStrings[8]) == 1; m_ProductName = dataStrings[9]; m_BundleIdentifier = dataStrings[10]; m_KeystoreFileName = dataStrings[11]; m_KeystorePassword = dataStrings[12]; m_KeystoreAlias = dataStrings[13]; m_KeystoreAliasPassword = dataStrings[14]; m_AppleDeveloperTeamID = dataStrings[15]; m_DebugVersion = int.Parse(dataStrings[16]) == 1; m_IsBanShu = int.Parse(dataStrings[17]) == 1; m_LogoPosition = dataStrings[18].Vector3Parse(); m_BanHao = dataStrings[19]; try { m_AppId = dataStrings[2]; m_VersionAuthority = (VersionAuthority)int.Parse(dataStrings[3]); m_Version = dataStrings[4]; m_ClientPackageFlag = dataStrings[5]; m_Branch = int.Parse(dataStrings[6]); m_AssetAccess = (InstalledAsset)int.Parse(dataStrings[7]); m_PartAssetPackage = int.Parse(dataStrings[8]) == 1; m_ProductName = dataStrings[9]; m_BundleIdentifier = dataStrings[10]; m_KeystoreFileName = dataStrings[11]; m_KeystorePassword = dataStrings[12]; m_KeystoreAlias = dataStrings[13]; m_KeystoreAliasPassword = dataStrings[14]; m_AppleDeveloperTeamID = dataStrings[15]; m_DebugVersion = int.Parse(dataStrings[16]) == 1; m_IsBanShu = int.Parse(dataStrings[17]) == 1; m_LogoPosition = dataStrings[18].Vector3Parse(); m_BanHao = dataStrings[19]; } catch (System.Exception ex) { DebugEx.Log(ex); } } #if UNITY_EDITOR System/ClientVersion/VersionUtility.cs
@@ -115,7 +115,7 @@ { if (IsMaoErGame()) { return versionInfo.downAsset == 0 && versionInfo.VersionCount > 0; return versionInfo != null && versionInfo.downAsset == 0 && versionInfo.VersionCount > 0; } else { @@ -125,7 +125,7 @@ public bool NeedNormalUpdate() { return versionInfo.downAsset == 1 && versionInfo.VersionCount > 0; return versionInfo != null && versionInfo.downAsset == 1 && versionInfo.VersionCount > 0; } public string GetApkLocalUrl() @@ -249,8 +249,6 @@ private void OnMaoErVersionCheckResult(bool ok, string result) { Debug.LogFormat("猫耳强更请求返回结果 result:{0}:{1}", ok, result); if (ok) { try @@ -281,6 +279,49 @@ } } public bool InIosAuditTime() { DateTime dateTime; try { var textAsset = Resources.Load<UnityEngine.TextAsset>("Config/AuditTime"); var content = string.Empty; if (textAsset != null) { content = textAsset.text; if (DateTime.TryParse(content, out dateTime)) { return DateTime.Now < dateTime; } else { return false; } } else { return false; } } catch (System.Exception ex) { return false; } } public bool NeedDownAsset() { if (versionInfo != null && versionInfo.downAsset == 1 && VersionConfig.Get().assetAccess != InstalledAsset.IngoreDownLoad) { return true; } else { return false; } } public class VersionInfo { public int ForceCount; System/Dogz/DogzModel.cs
@@ -229,6 +229,22 @@ } } public void MakeUseAddAssistNum() { if (IsAddMaxAssist()) { SysNotifyMgr.Instance.ShowTip("DogzNumLimit"); return; } var _itemConfig = Config.Instance.Get<ItemConfig>(AddAssistItem); ConfirmCancel.ShowItemConfirm(Language.Get("DogzFunc102", _itemConfig.ItemName,GetAssistItemCnt()), AddAssistItem, GetAssistItemCnt(), () => { SendBuyAssistCnt(); }); } public bool IsAddMaxAssist() { if (curSumAssistNum < DogzAssistMaxCnt) @@ -271,6 +287,21 @@ return false; } public bool CheckIsPutOn(int id) { ItemConfig config = Config.Instance.Get<ItemConfig>(id); if (config == null) return false; int index = config.EquipPlace % 100 - 1; int color = GetDogzEquipLimitByIndex(presentSelectDogz, index); if (config.ItemColor >= color) { return true; } SysNotifyMgr.Instance.ShowTip("DogzQualityAsk", GetDogzPartNameByIndex(index), GetItemColorName(color)); return false; } #region 协议 public int addAssistCnt { get; private set; } //额外购买的助战数 @@ -285,6 +316,7 @@ } UpdateDogzAssistRed(); UpdateDogzEquipPlaceRed(); UpdateAssistNumRed(); } public event Action UpdateAssistDogzEvent; @@ -575,6 +607,11 @@ private void SendPutOffEquip(int equipPlace) { if(playerPack.GetReaminGridCount(PackType.rptDogzItem) < 1) { SysNotifyMgr.Instance.ShowTip("DogzBagFull"); return; } GetDogzEquipPlaceStates(presentSelectDogz); CA5C1_tagCMDogzUnEquipItem dogzPutOff = new CA5C1_tagCMDogzUnEquipItem(); dogzPutOff.DogzID = (byte)presentSelectDogz; @@ -639,6 +676,23 @@ } dogzItemList.Sort(CompareByDogzItemPack); return dogzItemList; } public int GetDogzPackMatNum() { SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptDogzItem); if (singlePack == null) return 0; int num = 0; Dictionary<int, ItemModel> pairs = singlePack.GetPackModelIndexDict(); foreach (var value in pairs.Values) { if(value.chinItemModel.EquipPlace == 0) { num += 1; } } return num; } public bool IsReachSelectCondi(int itemId) @@ -708,6 +762,12 @@ y = end.equipScore; if (x.CompareTo(y) != 0) return -x.CompareTo(y); List<int> strenglist = start.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); x = strenglist != null ? strenglist[0] : 0; strenglist = end.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); y = strenglist != null ? strenglist[0] : 0; if (x.CompareTo(y) != 0) return -x.CompareTo(y); return 0; } #endregion System/Dogz/DogzPackCell.cs
@@ -1,30 +1,41 @@ using Snxxz.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace EnhancedUI.EnhancedScroller { public class DogzPackCell : ScrollerUI { [SerializeField] List<DogzItemCell> dogzItemlist; DogzPackModel m_Model; DogzPackModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DogzPackModel>()); } } public override void Refresh(CellView cell) { var _line = cell.index; for (int i = 0; i < 4; i++) { var _index = _line * 4 + i; dogzItemlist[i].Display(_index); } } } } using Snxxz.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace EnhancedUI.EnhancedScroller { public class DogzPackCell : ScrollerUI { [SerializeField] List<DogzItemCell> dogzItemlist; DogzModel m_Model; DogzModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DogzModel>()); } } public override void Refresh(CellView cell) { var _line = cell.index; for (int i = 0; i < 4; i++) { var _index = _line * 4 + i; dogzItemlist[i].gameObject.SetActive(true); if (model.SelectDogzItemQuality == 0 && model.SelectDogzItemStart == 0) { int hideIndex = model.DogzPackGridCnt - model.GetDogzPackMatNum(); if (_index >= hideIndex) { dogzItemlist[i].gameObject.SetActive(false); } } dogzItemlist[i].Display(_index); } } } } System/Dogz/DogzPackWin.cs
@@ -208,14 +208,7 @@ } else { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("DogzFunc101"), (bool isOk)=> { if(isOk) { } return; }); ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("DogzFunc101")); } } @@ -274,12 +267,28 @@ } else { int putStrenLv = 0; if (itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus) != null) { putStrenLv = itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus)[0]; } int selectStrenLv = 0; if (selectModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus) != null) { selectStrenLv = selectModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus)[0]; } if (itemModel.chinItemModel.ItemColor < selectModel.chinItemModel.ItemColor || (itemModel.chinItemModel.StarLevel < selectModel.chinItemModel.StarLevel && itemModel.chinItemModel.ItemColor == selectModel.chinItemModel.ItemColor) || (itemModel.equipScore < selectModel.equipScore && itemModel.chinItemModel.ItemColor == selectModel.chinItemModel.ItemColor && itemModel.chinItemModel.StarLevel == selectModel.chinItemModel.StarLevel)) && itemModel.chinItemModel.StarLevel == selectModel.chinItemModel.StarLevel) ||(itemModel.equipScore == selectModel.equipScore && itemModel.chinItemModel.ItemColor == selectModel.chinItemModel.ItemColor && itemModel.chinItemModel.StarLevel == selectModel.chinItemModel.StarLevel && putStrenLv < selectStrenLv)) { indexlist.Add(dogzModel.selectEquipPlacelist[0].itemInfo.ItemPlace); } @@ -290,6 +299,19 @@ { dogzModel.SendPutOnEquip(indexlist); } else { if(dogzModel.GetDogzEquips(dogzModel.presentSelectDogz) != null && dogzModel.GetDogzEquips(dogzModel.presentSelectDogz).Count == 5) { SysNotifyMgr.Instance.ShowTip("DogzOneKeyBest"); } else { SysNotifyMgr.Instance.ShowTip("DogzOneKeyNone"); } } } private void ClickStarSelect() System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs
@@ -116,7 +116,7 @@ if (_isUnLocked) { var config = Config.Instance.Get<DogzDungeonConfig>(bossId); var refreshTime = DateTime.Now; var refreshTime = TimeUtility.ServerNow; switch (config.MonsterType) { case 1: @@ -135,9 +135,9 @@ break; } if (refreshTime > DateTime.Now) if (refreshTime > TimeUtility.ServerNow) { m_CoolDown.Begin(refreshTime, OnBossCoolDownCompleted); m_CoolDown.Begin((int)(refreshTime - TimeUtility.ServerNow).TotalSeconds, OnBossCoolDownCompleted); } else { System/DogzDungeon/DogzDungeonModel.cs
@@ -396,7 +396,7 @@ public void UpdateBoxRefreshTime(int _seconds) { refreshTime = DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond); refreshTime = TimeUtility.ServerNow + new TimeSpan(_seconds * TimeSpan.TicksPerSecond); if (refreshTimeEvent != null) { refreshTimeEvent(); @@ -428,7 +428,7 @@ public void UpdateEliteRefreshTime(int _seconds) { refreshTime = DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond); refreshTime = TimeUtility.ServerNow + new TimeSpan(_seconds * TimeSpan.TicksPerSecond); if (refreshTimeEvent != null) { refreshTimeEvent(); System/Dungeon/DungeonAncientTargetWin.cs
@@ -1,57 +1,55 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class DungeonAncientTargetWin : Window { [SerializeField] Text m_DungeonName; [SerializeField] DungeonTargetBehaviour m_DungeonTargetBehaviour; DungeonModel m_Model; DungeonModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); } } protected override void AddListeners() { } protected override void BindController() { } protected override void OnAfterClose() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { //model.updateMissionEvent -= UpdateTargets; } protected override void OnPreOpen() { //model.updateMissionEvent += UpdateTargets; var line = PlayerDatas.Instance.baseData.FBID + 1; m_DungeonName.text = StringUtility.Contact(Language.Get("AncientBattle"), "(", Language.Get("FBLine", line), ")"); m_DungeonTargetBehaviour.Init(31160); //UpdateTargets(); } private void UpdateTargets() { //var _help = model.mission; //m_DungeonTargets[0].text = _help.topName; //m_DungeonTargets[1].text = UIHelper.ReplaceLargeNum(_help.topScore); } } } using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class DungeonAncientTargetWin : Window { [SerializeField] List<Text> m_DungeonTargets; [SerializeField] DungeonTargetBehaviour m_DungeonTargetBehaviour; DungeonModel m_Model; DungeonModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); } } protected override void AddListeners() { } protected override void BindController() { } protected override void OnAfterClose() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { model.updateMissionEvent -= UpdateTargets; } protected override void OnPreOpen() { model.updateMissionEvent += UpdateTargets; m_DungeonTargetBehaviour.Init(31160); UpdateTargets(); } private void UpdateTargets() { var _help = model.mission; m_DungeonTargets[0].text = _help.topName; m_DungeonTargets[1].text = UIHelper.ReplaceLargeNum(_help.topScore); } } } System/Dungeon/DungeonBossBriefInfoBehaviour.cs
@@ -57,7 +57,7 @@ { if (!bossInfo.IsBossAlive()) { m_RebornTime.Begin(bossInfo.refreshTime); m_RebornTime.Begin((int)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds); } else { @@ -92,7 +92,7 @@ } } var rebornAtOnce = bossInfo.refreshTime < DateTime.Now && !isAlive; var rebornAtOnce = bossInfo.refreshTime < TimeUtility.ServerNow && !isAlive; if (rebornAtOnce) { System/Dungeon/DungeonFightWin.cs
@@ -27,7 +27,6 @@ [SerializeField] RectTransform m_ContainerResPoint; [SerializeField] RectTransform m_ContainerAncient; [SerializeField] Button m_AncientBtn; [SerializeField] Button m_AncientKing; [SerializeField] DungeonItemCollect m_ItemCollect; [SerializeField] DungeonGuardSkyBehaviour m_GuardSky; [SerializeField] DungeonBossBriefInfoContainer m_BossInfosContainer; @@ -56,7 +55,6 @@ { m_ExitDungeon.AddListener(ExitDungeon); m_AncientBtn.onClick.AddListener(OnAncientBtn); m_AncientKing.onClick.AddListener(AncientKing); } protected override void OnPreOpen() @@ -319,18 +317,6 @@ else { WindowCenter.Instance.Open<DungeonAncientAchieveWin>(); } } private void AncientKing() { if (WindowCenter.Instance.IsOpen<DungeonAncientKingWin>()) { WindowCenter.Instance.CloseImmediately<DungeonAncientKingWin>(); } else { WindowCenter.Instance.Open<DungeonAncientKingWin>(); } } System/Dungeon/DungeonInspireWin.cs
@@ -170,17 +170,35 @@ money = PlayerDatas.Instance.baseData.GoldPaper + PlayerDatas.Instance.baseData.Gold; break; } if (money < model.GetDungeonInspireCost(fairyInspireConfig) && !InGuiding()) var cost = model.GetDungeonInspireCost(fairyInspireConfig); if (money < cost && !InGuiding()) { WindowCenter.Instance.Open<RechargeTipWin>(); } else { CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction(); pak.ActionType = 0; pak.ActionInfo = (uint)fairyInspireConfig.InspireType; GameNetSystem.Instance.SendInfo(pak); 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; if (fairyCost > 0 && (!model.inspireRemindEffective || !model.inspireNoRemind)) { ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), mix ? Language.Get("InspireRemind1", fairyCost, PlayerDatas.Instance.baseData.GoldPaper) : Language.Get("InspireRemind2", fairyCost), Language.Get("InspireNoMention"), (bool isOk, bool toggle) => { if (isOk) { SendInspire(fairyInspireConfig.InspireType); } model.inspireNoRemind = toggle; model.inspireRemindEffective = isOk; }, model.inspireNoRemind); } else { SendInspire(fairyInspireConfig.InspireType); } } } else if (coinInspire) @@ -192,14 +210,19 @@ } else { CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction(); pak.ActionType = 0; pak.ActionInfo = (uint)coinInspireConfig.InspireType; GameNetSystem.Instance.SendInfo(pak); SendInspire(coinInspireConfig.InspireType); } } } void SendInspire(int inspireType) { CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction(); pak.ActionType = 0; pak.ActionInfo = (uint)inspireType; GameNetSystem.Instance.SendInfo(pak); } private void Cancel() { CloseImmediately(); System/Dungeon/DungeonModel.cs
@@ -97,6 +97,9 @@ public int[] guardSkyBuffIds { get; private set; } public int[] guardSkyGuardNpcs { get; private set; } public bool inspireNoRemind { get; set; } public bool inspireRemindEffective { get; set; } public int cacheGradeMap = 0; public bool gradeTween = true; @@ -595,6 +598,8 @@ dungeonCoolDowns.Clear(); m_Mission = default(DungeonMissionData); dungeonInspireCounts.Clear(); inspireRemindEffective = false; inspireNoRemind = false; } public void UpdateRecords(HA320_tagMCPlayerFBInfoData.tagMCFBInfo[] _serverInfos) System/Dungeon/DungeonNuwaVictoryWin.cs
@@ -153,7 +153,10 @@ Serveritem.Clear(); var merged = false; var serveritems = dungeonModel.dungeonResult.itemInfo; if (serveritems== null) { return; } for (int i = 0; i < serveritems.Length; i++) { Serveritem.Add(serveritems[i]); System/Dungeon/TrialDungeonModel.cs
@@ -22,12 +22,19 @@ bool serverInited = false; public const int TRIALEXCHANGE_GUIDE = 91; int m_TrialExchangeRemindLevel = 250; public int trialExchangeRemindLevel { get { return m_TrialExchangeRemindLevel; } } public override void Init() { ParseConfig(); packModel.RefreshItemCountAct += RefreshItemCountAct; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; dungeonModel.dungeonRecordChangeEvent += DungeonRecordChangeEvent; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; } private void DungeonRecordChangeEvent(int _dungeonId) @@ -105,10 +112,27 @@ dict.Add(trialRewards[i].grade, items); } } funcConfig = Config.Instance.Get<FuncConfigConfig>("MunekadoRedPoint"); if (funcConfig != null) { m_TrialExchangeRemindLevel = int.Parse(funcConfig.Numerical1); } } public override void UnInit() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent; } private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType) { if (refreshType == PlayerDataRefresh.LV || refreshType == PlayerDataRefresh.LV2 || refreshType == PlayerDataRefresh.LVEx) { UpdateRedpoint(); } } private void RefreshItemCountAct(PackType packType, int arg2, int itemId) @@ -277,6 +301,7 @@ var dict = singlepack.GetPackModelIndexDict(); if (dict != null) { var badCompare = 1; foreach (var itemModel in dict.Values) { if (itemModel.chinItemModel.EquipPlace == config.EquipPlace @@ -285,11 +310,19 @@ && !ModelCenter.Instance.GetModel<PackModelInterface>().IsOverdue(itemModel.itemInfo.ItemGUID, itemModel.itemId, itemModel.useDataDict)) { var compare = EquipCompare(itemModel, config); if (compare == -1 || compare == 0) if (compare == 0) { badCompare = compare; } if (compare == -1) { return compare; } } } if (badCompare == 0) { return badCompare; } } } @@ -350,7 +383,8 @@ void UpdateRedpoint() { dailyQuestModel.trialExchangeRedpoint.state = RedPointState.None; if (!FuncOpen.Instance.IsFuncOpen(88)) if (!FuncOpen.Instance.IsFuncOpen(88) || PlayerDatas.Instance.baseData.LV >= trialExchangeRemindLevel) { return; } @@ -435,6 +469,10 @@ public bool IsAnySatisfyExchangeBetter(int _itemId) { if (PlayerDatas.Instance.baseData.LV >= trialExchangeRemindLevel) { return false; } if (!trialTokens.Contains(_itemId)) { return false; System/Dungeon/TrialExchangeBehaviour.cs
@@ -120,7 +120,8 @@ m_Down.gameObject.SetActive(equipCompare == -1); var exchangeItemConfig = Config.Instance.Get<ItemConfig>(model.GetExchangeItemByJob(config)); m_Redpoint.gameObject.SetActive(count >= config.tokenCount && (equipBetter || exchangeItemConfig.EquipPlace == 0)); m_Redpoint.gameObject.SetActive(count >= config.tokenCount && (equipBetter || exchangeItemConfig.EquipPlace == 0) && PlayerDatas.Instance.baseData.LV < model.trialExchangeRemindLevel); } } } System/FairylandCeremony/CeremonyCoolTime.cs
New file @@ -0,0 +1,35 @@ using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class CeremonyCoolTime : MonoBehaviour { [SerializeField] Text m_Time; private void OnEnable() { GlobalTimeEvent.Instance.secondEvent += RefreshSecond; RefreshSecond(); } private void OnDisable() { GlobalTimeEvent.Instance.secondEvent -= RefreshSecond; } private void RefreshSecond() { int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FairyCeremony); if (seconds > 0) { m_Time.text = StringUtility.Contact("<color=#8DDC11FF>", TimeUtility.SecondsToHMS(seconds), "</color>"); } else { m_Time.text = UIHelper.GetTextColorByItemColor(TextColType.Red, Language.Get("XMZZ110")); } } } } System/FairylandCeremony/CeremonyCoolTime.cs.meta
File was renamed from Fight/Stage/PaintMapLine.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 9202015b1077a91488a691347bdeafae timeCreated: 1508832157 guid: b611da4d8aa2ca943b69485ca6f3d2a6 timeCreated: 1538223260 licenseType: Pro MonoImporter: serializedVersion: 2 System/FairylandCeremony/CeremonyFirepartyWin.cs
@@ -9,6 +9,7 @@ public class CeremonyFirepartyWin : Window { [SerializeField] Button buyBtn; [SerializeField] Text buyPriceText; [SerializeField] Text remainTimeText; [SerializeField] CommonItemBaisc fireItem; [SerializeField] List<CommonItemBaisc> itemBaiscs = new List<CommonItemBaisc>(); @@ -17,6 +18,8 @@ ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } } StoreConfig storeConfig; protected override void BindController() { @@ -54,6 +57,7 @@ storeConfig = ceremonyModel.GetFireIdByLv(); if (storeConfig == null) return; buyPriceText.text = storeConfig.MoneyNumber.ToString(); ItemCellModel fireModel = new ItemCellModel(storeConfig.ItemID,true,(ulong)storeConfig.ItemCnt,storeConfig.IsBind); fireItem.Init(fireModel); fireItem.cellBtn.AddListener(() => @@ -108,15 +112,8 @@ SysNotifyMgr.Instance.ShowTip("BagFull"); return; } if(ceremonyModel.CheckIsBuyFireCondi()) { ModelCenter.Instance.GetModel<StoreModel>().SendBuyShopItem(storeConfig,1); } else { WindowCenter.Instance.Open<RechargeTipWin>(); } storeModel.OnClickShopCell(storeConfig); } } } System/FairylandCeremony/FairylandCeremonyModel.cs
@@ -326,10 +326,10 @@ return null; } public bool CheckIsBuyFireCondi(int buyNum = 1) public bool CheckIsBuyFireCondi(StoreConfig storeConfig,int buyNum = 1) { ulong price =(ulong)(80 * buyNum); if(UIHelper.GetMoneyCnt(1) >= price) ulong price =(ulong)(storeConfig.MoneyNumber * buyNum); if(UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= price) { return true; } System/FairylandCeremony/FairylandCeremonyWin.cs
@@ -15,6 +15,8 @@ [SerializeField] Button rightBtn; [SerializeField] Button closeBtn; FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } protected override void BindController() { @@ -38,6 +40,17 @@ protected override void OnActived() { base.OnActived(); if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0) { if(ceremonyModel.rechargeRedp.state == RedPointState.Simple) { functionOrder = rechargeFunc.order; } else if(ceremonyModel.peopleRedp.state == RedPointState.Simple) { functionOrder = peopleToHiFunc.order; } } funcBtnGroup.TriggerByOrder(functionOrder); } System/FairylandCeremony/ToHiTaskCell.cs
@@ -29,6 +29,7 @@ public void Init(AllPeoplePartyConfig taskConfig) { activeNameText.gameObject.SetActive(false); this.taskConfig = taskConfig; activeIcon.SetSprite(taskConfig.IconKey); SetTaskState(ceremonyModel.GetPeopleTaskTimesById(taskConfig.ID),taskConfig.TotalTimes); System/FindPrecious/DemonJarBossRebornCoolDown.cs
@@ -48,8 +48,8 @@ if (!bossInfo.IsBossAlive()) { m_Timer.Begin(bossInfo.refreshTime); m_Timer.timeShow.color = demonJarModel.GetSurplusTimes() > 0 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red); m_Timer.Begin((int)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds); m_Timer.timeShow.color = UIHelper.GetUIColor(demonJarModel.GetSurplusTimes() > 0 ? TextColType.Green : TextColType.Red); } } else @@ -60,7 +60,7 @@ private void OnDungeonRecodChange(int _dataMapId) { m_Timer.timeShow.color = demonJarModel.GetSurplusTimes() > 0 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red); m_Timer.timeShow.color = UIHelper.GetUIColor(demonJarModel.GetSurplusTimes() > 0 ? TextColType.Green : TextColType.Red); } } System/FindPrecious/DemonJarWin.cs
@@ -310,7 +310,7 @@ if (dungeonModel.TryGetCountRemainTime(DemonJarModel.DEMONJAR_MAPID, out endTime)) { m_CountRemainTime.gameObject.SetActive(true); m_CountRemainTime.Begin(endTime); m_CountRemainTime.Begin((int)(endTime - TimeUtility.ServerNow).TotalSeconds); } else { @@ -383,15 +383,14 @@ m_BossIntroduce.Display(_bossId, false); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId); var npcConfig = Config.Instance.Get<NPCConfig>(_bossId); m_RewardDescription.text = Language.Get(npcConfig.NPCLV >= GeneralConfig.Instance.demonJarLevelLimit ? "FindPrecious_13" : "FindPrecious_18"); DemonJarBossData bossData; model.TryGetBossData(_bossId, out bossData); var npcDropConfig = Config.Instance.Get<NPCDropItemConfig>(bossData.id); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); 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) System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs
@@ -51,7 +51,7 @@ FindPreciousModel.BossInfo bossInfo = null; if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo)) { return !findPreciousModel.IsBossAlive(bossId) && DateTime.Now > bossInfo.refreshTime; return !findPreciousModel.IsBossAlive(bossId) && TimeUtility.ServerNow > bossInfo.refreshTime; } else { @@ -142,13 +142,13 @@ FindPreciousModel.BossInfo bossInfo; if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo) && !bossInfo.IsBossAlive()) { if (DateTime.Now > bossInfo.refreshTime) if (TimeUtility.ServerNow > bossInfo.refreshTime) { m_CoolDown.gameObject.SetActive(false); } else { m_CoolDown.Begin(bossInfo.refreshTime, OnBossCoolDownCompleted); m_CoolDown.Begin((int)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds, OnBossCoolDownCompleted); } } else System/FindPrecious/FindPreciousModel.cs
@@ -189,7 +189,7 @@ } else { if ((bossInfos[bossId].refreshTime - DateTime.Now).TotalSeconds < PREPOSE_SECONDS) if ((bossInfos[bossId].refreshTime - TimeUtility.ServerNow).TotalSeconds < PREPOSE_SECONDS) { AddOneBossRebornNotify(bossId); } @@ -484,7 +484,7 @@ } else { if (IsBossAlive(bossId) || (bossInfos[bossId].refreshTime - DateTime.Now).TotalSeconds < PREPOSE_SECONDS) if (IsBossAlive(bossId) || (bossInfos[bossId].refreshTime - TimeUtility.ServerNow).TotalSeconds < PREPOSE_SECONDS) { AddOneBossRebornNotify(bossId); } @@ -526,7 +526,7 @@ } } refreshTime = DateTime.Now + new TimeSpan(_bossInfo.RefreshSecond * TimeSpan.TicksPerSecond); refreshTime = TimeUtility.ServerNow + new TimeSpan(_bossInfo.RefreshSecond * TimeSpan.TicksPerSecond); } public bool IsBossAlive() System/FindPrecious/FindPreciousTimer.cs
@@ -51,7 +51,7 @@ for (int i = bossIds.Count - 1; i >= 0; i--) { var clock = clocks[bossIds[i]]; if ((clock.rebornTime - DateTime.Now).TotalSeconds < FindPreciousModel.PREPOSE_SECONDS) if ((clock.rebornTime - TimeUtility.ServerNow).TotalSeconds < FindPreciousModel.PREPOSE_SECONDS) { clocks.Remove(bossIds[i]); bossIds.RemoveAt(i); @@ -68,7 +68,7 @@ private bool IsValidClockSetting(DateTime _rebornTime) { return (_rebornTime - DateTime.Now).TotalSeconds >= FindPreciousModel.PREPOSE_SECONDS; return (_rebornTime - TimeUtility.ServerNow).TotalSeconds >= FindPreciousModel.PREPOSE_SECONDS; } public class BossRebornClock System/FriendSystem/MailAllModel.cs
@@ -63,20 +63,28 @@ } AwardExchangeModel exchangeModel { get { return ModelCenter.Instance.GetModel<AwardExchangeModel>(); } } bool isLogin = true; public MailAllModel() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInit; DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk; } private void BeforePlayerDataInit() { isLogin = true; funcType = MailFuncType.Mail; mailModelDict.Clear(); timeOrderMailInfo.Clear(); mailTitleStr = ""; mailContentstr = ""; mailSendPersonStr = ""; } private void OnPlayerLoginOk() { isLogin = false; } public MailFuncType funcType = MailFuncType.Mail; @@ -171,6 +179,16 @@ { exchangeModel.SetAwardExchangeModel(info.Items); } if(!isLogin) { if (info.Count > 0 || info.Gold > 0 || info.GoldPaper > 0 || info.Silver > 0) { SoundPlayer.Instance.PlayUIAudio(740); } } } } addMailCnt = mailModelDict.Count - preMailCnt; System/FriendSystem/MailPanel.cs
@@ -94,6 +94,8 @@ get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); } } DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } } private void Awake() { Init(); @@ -327,6 +329,7 @@ ItemCell itemCell = _reciveItemParent[giftCount].transform.Find("ItemCell").GetComponent<ItemCell>(); if (info.Count > 0 || info.Gold > 0 || info.GoldPaper > 0 || info.Silver > 0) { _deleteBtn.interactable = false; _reciveItemParent[giftCount].SetActive(true); _goldBox.SetActive(true); _drillBox.SetActive(true); @@ -625,19 +628,30 @@ int i = 0; int getBagItemCount = 0; int getRuneCount = 0; int getDogzCount = 0; ItemConfig tagChinItem = null; for (i = 0; i < mailInfo.Count; i++) { tagChinItem = Config.Instance.Get<ItemConfig>((int)mailInfo.Items[i].ItemID); if (tagChinItem != null) { if (tagChinItem.Type == RuneModel.RUNE_TYPE || tagChinItem.Type == RuneModel.RUNE_CREAMTYPE) switch(tagChinItem.Type) { getRuneCount += 1; } else { getBagItemCount += 1; case RuneModel.RUNE_TYPE: case RuneModel.RUNE_CREAMTYPE: getRuneCount += 1; break; case (int)ItemType.DogzStrengthMat: case (int)ItemType.DogzEquipType1: case (int)ItemType.DogzEquipType2: case (int)ItemType.DogzEquipType3: case (int)ItemType.DogzEquipType4: case (int)ItemType.DogzEquipType5: getDogzCount += 1; break; default: getBagItemCount += 1; break; } } } @@ -653,6 +667,11 @@ SysNotifyMgr.Instance.ShowTip("RuneBagFull"); return; } else if(getDogzCount > playerPack.GetReaminGridCount(PackType.rptDogzItem)) { SysNotifyMgr.Instance.ShowTip("DogzBagFull"); return; } CA53B_tagCMRequestCompensation askRecive = new CA53B_tagCMRequestCompensation(); askRecive.GUID = id; System/KnapSack/Logic/BoxGetItemWin.cs
@@ -45,7 +45,7 @@ FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } [SerializeField] float scaleTime = 0.3f; Vector3 startPos = Vector3.zero; protected override void BindController() { @@ -58,12 +58,18 @@ protected override void OnPreOpen() { startPos = getItemParent.anchoredPosition3D; WindowCenter.Instance.CloseImmediately<NewItemGetWin>(); //playerPack.ItemCntReduceAct += RefreshUI; getItem.SetActive(false); BoxModel.RefreshGetItemAct += RefreshGetIem; backBtn.AddListener(ClickBackBtn); ShowUICtrl(); } protected override void OnActived() { UpdateFireEffect(); } protected override void OnAfterOpen() @@ -91,6 +97,33 @@ private void RefreshGetIem(int useId, int useCnt, BoxGetItemInfo[] info) { ShowUICtrl(); } private void UpdateFireEffect() { if (BoxModel.getItems == null) return; bool isFireBox = false; foreach (var key in ceremonyModel.fireDict.Keys) { StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(ceremonyModel.fireDict[key]); if (storeConfig != null) { if (storeConfig.ItemID == BoxModel.itemId) { isFireBox = true; if (!fireEffect.IsPlaying) { fireEffect.Play(); return; } } } } if(!isFireBox) { fireEffect.Stop(); } } private void ShowUICtrl() @@ -126,27 +159,6 @@ { getCoinsText.gameObject.SetActive(false); } foreach(var key in ceremonyModel.fireDict.Keys) { StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(ceremonyModel.fireDict[key]); if(storeConfig != null) { if(storeConfig.ItemID == BoxModel.itemId) { if (!fireEffect.IsPlaying) { fireEffect.Play(); return; } } } } if (fireEffect.IsPlaying) { fireEffect.Stop(); } } private void RefreshUI(PackType type, int index, int id) @@ -160,6 +172,7 @@ private void CreateGetItem() { getItemParent.anchoredPosition3D = startPos; DestroyGetItemlist(); GetItemlist.Clear(); getItemBasiclist.Clear(); System/KnapSack/Logic/EquipDevourWin.cs
@@ -50,6 +50,7 @@ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } } List<ItemModel> devourModellist; bool isOpen = true; @@ -587,6 +588,8 @@ public void SendEquipdevourQuest() { if (!modelInterface.isPackResetOk) return; playerPack.isAutoDecompose = false; CA32C_tagCMEquipDecompose _petEat = new CA32C_tagCMEquipDecompose(); System/KnapSack/Logic/EquipTip.cs
@@ -576,6 +576,18 @@ washAttr.SetActive(false); return; } switch (itemAttrData.itemConfig.EquipPlace) { case 101: case 102: case 103: case 104: case 105: washAttr.SetActive(false); return; } curAttrTypeNum = 4; washAttr.SetActive(true); washTitleText.text = Language.Get("EquipWin_WashPropObj_Text_1"); @@ -584,12 +596,21 @@ private void SetGemAttrUI() { if (itemAttrData.itemConfig.LV < itemTipsModel.gemOpenLvs[0] || itemAttrData.packType == PackType.rptDogzEquip || itemAttrData.packType == PackType.rptDogzItem) if (itemAttrData.itemConfig.LV < itemTipsModel.gemOpenLvs[0]) { gemAttr.SetActive(false); return; } switch (itemAttrData.itemConfig.EquipPlace) { case 101: case 102: case 103: case 104: case 105: gemAttr.SetActive(false); return; } curAttrTypeNum = 5; gemAttr.SetActive(true); @@ -662,6 +683,17 @@ { suitAttr.SetActive(false); return; } switch (itemAttrData.itemConfig.EquipPlace) { case 101: case 102: case 103: case 104: case 105: suitAttr.SetActive(false); return; } curAttrTypeNum = 6; suitAttr.SetActive(true); @@ -846,40 +878,54 @@ private void SetBottomUI() { if(itemAttrData.packType != PackType.rptDogzItem && itemAttrData.packType != PackType.rptDogzEquip) switch (itemAttrData.itemConfig.EquipPlace) { if (dogzEquipDesText != null) { dogzEquipDesText.gameObject.SetActive(false); } if (itemAttrData.itemConfig.Description == "" || string.IsNullOrEmpty(itemAttrData.itemConfig.Description)) { equipSourceNormal.gameObject.SetActive(true); case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 12: if (dogzEquipDesText != null) { dogzEquipDesText.gameObject.SetActive(false); } if (itemAttrData.itemConfig.Description == "" || string.IsNullOrEmpty(itemAttrData.itemConfig.Description)) { equipSourceNormal.gameObject.SetActive(true); equipSourceDes.gameObject.SetActive(false); equipSourceText.gameObject.SetActive(false); SetBottomText(equipSourceNormal); } else { equipSourceNormal.gameObject.SetActive(false); equipSourceDes.gameObject.SetActive(true); equipSourceText.gameObject.SetActive(true); SetBottomText(equipSourceDes); equipSourceText.text = itemAttrData.itemConfig.Description; } break; case 101: case 102: case 103: case 104: case 105: equipSourceNormal.gameObject.SetActive(false); equipSourceDes.gameObject.SetActive(false); equipSourceText.gameObject.SetActive(false); SetBottomText(equipSourceNormal); } else { equipSourceNormal.gameObject.SetActive(false); equipSourceDes.gameObject.SetActive(true); equipSourceText.gameObject.SetActive(true); SetBottomText(equipSourceDes); equipSourceText.text = itemAttrData.itemConfig.Description; } if (dogzEquipDesText != null) { dogzEquipDesText.gameObject.SetActive(true); dogzEquipDesText.text = itemAttrData.itemConfig.Description; } break; } else { equipSourceNormal.gameObject.SetActive(false); equipSourceDes.gameObject.SetActive(false); equipSourceText.gameObject.SetActive(false); if (dogzEquipDesText != null) { dogzEquipDesText.gameObject.SetActive(true); dogzEquipDesText.text = itemAttrData.itemConfig.Description; } } } private void SetBottomText(EquipSource source) System/KnapSack/Logic/ItemTipsModel.cs
@@ -815,9 +815,13 @@ { case ItemWinType.equipWin: attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { List<int> indexlist = new List<int>(); indexlist.Add(attrData.index); dogzModel.SendPutOnEquip(indexlist); if(dogzModel.CheckIsPutOn(attrData.itemId)) { List<int> indexlist = new List<int>(); indexlist.Add(attrData.index); dogzModel.SendPutOnEquip(indexlist); } }); break; } System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -93,6 +93,9 @@ get { return _suitModel ?? (_suitModel = ModelCenter.Instance.GetModel<PlayerSuitModel>()); } } DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } } #region 发送穿戴装备的请求 ItemConfig sendItemConfig = null; public ItemModel sendItemModel = null; @@ -834,6 +837,11 @@ return; } if(dogzModel.AddAssistItem == itemModel.itemInfo.ItemID) { dogzModel.MakeUseAddAssistNum(); return; } ulong maxValue = 0; playerPack.IsReachUseLimit(itemModel.itemInfo.ItemGUID, out maxValue); System/KnapSack/Logic/PlayerPackModels.cs
@@ -1276,6 +1276,9 @@ { if (model.chinItemModel.ItemColor >= (int)E_ItemColor.Purple) { PetEatEquipConfig eatEquipConfig = PetEatEquipConfig.GetEquipColorAndEquipClass(model.chinItemModel.ItemColor,model.chinItemModel.LV); if (eatEquipConfig == null) return false; if (modelInterface.IsFightUp(model.itemId, model.equipScore) != 1) { if (model.chinItemModel.ItemColor <= (int)colorType @@ -1395,7 +1398,7 @@ public void SendEquipdevourQuest() { List<ItemModel> itemModels = GetCanDevourModellist(); if (itemModels == null || itemModels.Count < minDecomposeNum) return; if (itemModels == null || itemModels.Count < minDecomposeNum || !modelInterface.isPackResetOk) return; isAutoDecompose = true; recordAutoDecomNum = itemModels.Count; System/KnapSack/New/BatchBuyWin.cs
New file @@ -0,0 +1,178 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, September 08, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { public class BatchBuyWin : Window { #region 成员变量 private Text _itemName; private Slider _splitSlider; private Text _number; private Button _addBtn; private Button _reduceBtn; private Button _splitBtn; private Button _closeBtn; private ItemCell _itemCell; #endregion ItemTipsModel _itemTipsModel; ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } } PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } PlayerBuffDatas _buffModel; PlayerBuffDatas Buffmodel { get { return _buffModel ?? (_buffModel = ModelCenter.Instance.GetModel<PlayerBuffDatas>()); } } StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } } #region Built-in protected override void BindController() { _itemName = transform.Find("ItemNameText").GetComponent<Text>(); _number = transform.Find("SplitSlider/Background/Fill/SplitIcon/NumBG/NumText").GetComponent<Text>(); _splitSlider = transform.Find("SplitSlider").GetComponent<Slider>(); _addBtn = transform.Find("Addbtn").GetComponent<Button>(); _splitBtn = transform.Find("Usebtn").GetComponent<Button>(); _reduceBtn = transform.Find("Reducebtn").GetComponent<Button>(); _closeBtn = transform.Find("Closebtn").GetComponent<Button>(); _itemCell = transform.Find("ItemCell").GetComponent<ItemCell>(); } protected override void AddListeners() { _splitSlider.onValueChanged.RemoveAllListeners(); _addBtn.onClick.RemoveAllListeners(); _reduceBtn.onClick.RemoveAllListeners(); _splitBtn.onClick.RemoveAllListeners(); _closeBtn.onClick.RemoveAllListeners(); _splitSlider.onValueChanged.AddListener( delegate { OnSplitValueChange(); } ); _addBtn.onClick.AddListener(OnClickAddBtn); _reduceBtn.onClick.AddListener(OnClickReduceBtn); _splitBtn.onClick.AddListener(OnClickBatchUseBtn); _closeBtn.onClick.AddListener(OnClickCloseBtn); } protected override void OnPreOpen() { //OpenBatchWin(itemInfoModel.CurItemModel); OpenBatchWin(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { BatchUseModel.Instance.ClearBatchBuyModel(); } protected override void OnAfterClose() { } #endregion private void OpenBatchWin() { if (BatchUseModel.Instance.storeConfig == null) return; InitPanel(); } public void InitPanel() { ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(BatchUseModel.Instance.storeConfig.ItemID); if (itemConfig == null) return; ItemCellModel cellModel = new ItemCellModel(itemConfig.ID); _itemCell.Init(cellModel); _itemName.text = itemConfig.ItemName; _splitSlider.minValue = 1; _splitSlider.maxValue = itemConfig.PackCount; OnSplitValueChange(); } public void OnSplitValueChange() { _number.text = Mathf.Ceil(_splitSlider.value).ToString(); } public void OnClickAddBtn() { if (_splitSlider.value < _splitSlider.maxValue) { _splitSlider.value++; } } public void OnClickReduceBtn() { if (_splitSlider.value > _splitSlider.minValue) { _splitSlider.value--; } } public void OnClickBatchUseBtn() { if (BatchUseModel.Instance.storeConfig == null) return; if(BatchUseModel.Instance.CheckIsBuy(BatchUseModel.Instance.storeConfig, (int)_splitSlider.value)) { storeModel.SendBuyShopItem(BatchUseModel.Instance.storeConfig, (int)_splitSlider.value); OnClickCloseBtn(); } else { WindowCenter.Instance.Open<RechargeTipWin>(); } } public void OnClickCloseBtn() { Close(); } } } System/KnapSack/New/BatchBuyWin.cs.metacopy from Fight/Stage/PaintMapLine.cs.meta copy to System/KnapSack/New/BatchBuyWin.cs.meta
File was copied from Fight/Stage/PaintMapLine.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 9202015b1077a91488a691347bdeafae timeCreated: 1508832157 guid: b189f464e250e4545973fbd542fab701 timeCreated: 1538221287 licenseType: Pro MonoImporter: serializedVersion: 2 System/KnapSack/New/BatchUseModel.cs
@@ -1,26 +1,55 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Snxxz.UI { public class BatchUseModel : Singleton<BatchUseModel> { public string guid{ get; private set; } public void SetBatchModel(string guid) { extraPrams = 0; this.maxValue = 0; this.guid = guid; } public int extraPrams { get; private set;} public int maxValue { get; private set;} public void SetExtraInfo(int extraUseInfo,int maxValue) { this.extraPrams = extraUseInfo; this.maxValue = maxValue; } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; using TableConfig; namespace Snxxz.UI { public class BatchUseModel : Singleton<BatchUseModel> { #region 批量使用数据 public string guid { get; private set; } public void SetBatchModel(string guid) { extraPrams = 0; this.maxValue = 0; this.guid = guid; } public int extraPrams { get; private set; } public int maxValue { get; private set; } public void SetExtraInfo(int extraUseInfo, int maxValue) { this.extraPrams = extraUseInfo; this.maxValue = maxValue; } #endregion #region 批量购买数据 public StoreConfig storeConfig { get; private set; } public void SetBatchBuyModel(StoreConfig _storeConfig) { if (_storeConfig == null) return; storeConfig = _storeConfig; WindowCenter.Instance.Open<BatchBuyWin>(); } public bool CheckIsBuy(StoreConfig storeConfig, int buyNum = 1) { ulong price = (ulong)(storeConfig.MoneyNumber * buyNum); if (UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= price) { return true; } return false; } public void ClearBatchBuyModel() { storeConfig = null; } #endregion } } System/KnapSack/New/KnapSackWin.cs
@@ -53,6 +53,7 @@ { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } } public static KnapsackFuncTitle titleType = KnapsackFuncTitle.bag; @@ -85,7 +86,8 @@ base.OnActived(); this.transform.SetAsLastSibling(); _ornamentTitle.state = TitleBtnState.Locked; if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0) if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0 && playerPack.lookLineIndex == -1) { if(playerPack.redpointEquipDecom.state == RedPointState.Simple) { @@ -200,6 +202,8 @@ private void OnClickDevourTitle() { if (!modelInterface.isPackResetOk) return; CloseSubWindows(); titleType = KnapsackFuncTitle.devour; System/KnapSack/New/RoleEquipWin.cs
@@ -353,6 +353,7 @@ private void OnClickOneKeySell() { if (!modelInterface.isPackResetOk) return; if (modelInterface.GetSellItemList().Count > 0) { System/Login/GameNotice.cs
@@ -9,11 +9,23 @@ public static void OpenGameNotice() { #if !UNITY_EDITOR var url = VersionUtility.Instance.versionInfo.GetNoticeURL(VersionConfig.Get().branch); if (!string.IsNullOrEmpty(url) && !noticeShowed) try { SDKUtility.Instance.OpenUrl(url); noticeShowed = true; var url = string.Empty; if (VersionUtility.Instance.versionInfo != null) { url = VersionUtility.Instance.versionInfo.GetNoticeURL(VersionConfig.Get().branch); } if (!string.IsNullOrEmpty(url) && !noticeShowed) { SDKUtility.Instance.OpenUrl(url); noticeShowed = true; } } catch (System.Exception ex) { noticeShowed = true; } #endif } @@ -21,8 +33,22 @@ public static bool HasNotice() { #if !UNITY_EDITOR var url = VersionUtility.Instance.versionInfo.GetNoticeURL(VersionConfig.Get().branch); return !string.IsNullOrEmpty(url); try { if (VersionUtility.Instance.versionInfo!=null ) { var url = VersionUtility.Instance.versionInfo.GetNoticeURL(VersionConfig.Get().branch); return !string.IsNullOrEmpty(url); } else { return false; } } catch (System.Exception ex) { return false; } #else return false; #endif @@ -31,11 +57,23 @@ public static void OpenGameNoticeForce() { #if !UNITY_EDITOR var url = VersionUtility.Instance.versionInfo.GetNoticeURL(VersionConfig.Get().branch); if (!string.IsNullOrEmpty(url) ) try { SDKUtility.Instance.OpenUrl(url); var url = string.Empty; if (VersionUtility.Instance.versionInfo != null) { url = VersionUtility.Instance.versionInfo.GetNoticeURL(VersionConfig.Get().branch); } if (!string.IsNullOrEmpty(url)) { SDKUtility.Instance.OpenUrl(url); } } catch (System.Exception ex) { Debug.Log(ex); } #endif } System/Login/LoginModel.cs
@@ -278,6 +278,8 @@ send.Extra = ""; break; case VersionAuthority.Release: send.ExtraLen = 0; send.Extra = ""; if (SDKUtility.Instance.ChannelPlatform == SDKUtility.E_ChannelPlatform.Free) { send.IDType = 1; System/Login/ServerData.cs
@@ -86,6 +86,23 @@ public int level; public DateTime last_login_time; public ServerData(LoginSeverListConfig config) { region_flag = config.ID; name = config.serverName; running_status = 1; statue = 1; is_recommend = 0; region_domain = config.ip; int.TryParse(config.pagePort, out login_port); game_port = config.gatePort; start_date = DateTime.Now; job = string.Empty; roleid = string.Empty; level = 0; last_login_time = DateTime.Now; } public static int Compare(ServerData _lhs, ServerData _rhs) { if (_lhs.is_recommend != _rhs.is_recommend) System/Login/ServerListCenter.cs
@@ -18,11 +18,9 @@ public ServerInfoCommon serverInfoCommon { get; private set; } ServerData m_CurrentServer; public ServerData currentServer { public ServerData currentServer { get { return m_CurrentServer; } set { set { m_CurrentServer = value; m_SelectedServer = true; @@ -36,14 +34,11 @@ } string m_CurrentServerGroup = string.Empty; public string currentServerGroup { get { public string currentServerGroup { get { return m_CurrentServerGroup; } set { set { if (m_CurrentServerGroup != value) { m_CurrentServerGroup = value; @@ -60,8 +55,7 @@ bool serverListPlayerPartGot = false; bool serverListCommonPartGot = false; public bool serverListGot { public bool serverListGot { get { return serverListCommonPartGot; } } @@ -72,14 +66,11 @@ public event Action serverSelectEvent; const string LOGIN_SERVER = "LoginServer"; public int localSaveServerId { get { public int localSaveServerId { get { return LocalSave.GetInt(LOGIN_SERVER); } set { set { LocalSave.SetInt(LOGIN_SERVER, value); } } @@ -142,6 +133,11 @@ public void RequestJumpUrl() { if (VersionUtility.Instance.InIosAuditTime()) { return; } var url = StringUtility.Contact(JUMP_URL[jumpUrlIndex % 2], "flag=", VersionConfig.Get().appId, "_", VersionConfig.Get().branch, "_", VersionConfig.Get().version); jumpUrlIndex++; HttpRequest.Instance.RequestHttpGet(url, HttpRequest.defaultHttpContentType, 1, OnRequestJumpUrl); @@ -178,6 +174,11 @@ void RequestServerCommonList() { if (VersionUtility.Instance.InIosAuditTime()) { return; } HttpRequest.Instance.RequestHttpGet(SERVERLIST_URL_COMMON, HttpRequest.defaultHttpContentType, 1, OnGetServerList); } @@ -222,6 +223,11 @@ public void RequestServerListPlayer(string _accountName) { if (VersionUtility.Instance.InIosAuditTime()) { return; } accountNameBuf = _accountName; var url = string.Empty; var tables = new Dictionary<string, string>(); @@ -293,6 +299,30 @@ return false; } public void ParseServerLocalServerList() { serverListCommonPartGot = true; var configs = Config.Instance.GetAllValues<LoginSeverListConfig>(); var count = configs.Count; serverInfoCommon = new ServerInfoCommon(); serverInfoCommon.common = new ServerGroup[1]; serverInfoCommon.common[0] = new ServerGroup(); serverInfoCommon.common[0].group_title = "1区"; serverInfoCommon.common[0].group_list = new ServerData[count]; for (var i = 0; i < count; i++) { var config = configs[i]; serverInfoCommon.common[0].group_list[i] = new ServerData(config); } FiltrateDefaultServerAndServerGroup(); if (onServerListRefreshEvent != null) { onServerListRefreshEvent(); } } public List<string> GetAllServerGroup() { var serverGroupTitles = new List<string>(); @@ -319,7 +349,6 @@ return serverGroupTitles; } private void ProcessRecentServerData() { System/MainInterfacePanel/HighSettingFadeInFadeOut.cs
@@ -538,6 +538,29 @@ int IndexOf = GroupLowIndexList.IndexOf(highBtnRecord.Index); if (IndexOf == 0) { if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.FairyCeremony))//精灵盛典 { if (AnimationFadeOutDicLow.Count < 6)//------第二层 { SelectCaseRequest selectCaseRequest = new SelectCaseRequest(); selectCaseRequest.Tran = m_GroupIndex_Low.GetChild(i); selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki; selectCaseRequest.Index = highBtnRecord.Index; AnimationFadeOutDicLow.Add(highBtnRecord.Index, selectCaseRequest); } else//------第三层 { SelectCaseRequest selectCaseRequest = new SelectCaseRequest(); selectCaseRequest.Tran = m_GroupIndex_Low.GetChild(i); selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki; selectCaseRequest.Index = highBtnRecord.Index; AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest); } } } else if (IndexOf == 1) { var _funcOrder = 0; if (OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _funcOrder))//精彩活动 { @@ -561,11 +584,10 @@ } } } } else if (IndexOf == 1) { else if (IndexOf == 2) { if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && limitedTimePackageItemModel.IsExpired())//限时礼包 { if (AnimationFadeOutDicLow.Count < 6)//------第二层 @@ -586,8 +608,9 @@ } } } else if (IndexOf == 2) else if (IndexOf == 3) { bool Isopen = OpenServerActivityCenter.Instance.IsActivityOpen(4); if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen)//限时特惠 @@ -609,33 +632,12 @@ AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest); } } } else if (IndexOf == 3) { bool Isopen = impactRankModel.IsInImpactRank; if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen)//全民冲榜 { if (AnimationFadeOutDicLow.Count < 6)//------第二层 { SelectCaseRequest selectCaseRequest = new SelectCaseRequest(); selectCaseRequest.Tran = m_GroupIndex_Low.GetChild(i); selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki; selectCaseRequest.Index = highBtnRecord.Index; AnimationFadeOutDicLow.Add(highBtnRecord.Index, selectCaseRequest); } else//------第三层 { SelectCaseRequest selectCaseRequest = new SelectCaseRequest(); selectCaseRequest.Tran = m_GroupIndex_Low.GetChild(i); selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki; selectCaseRequest.Index = highBtnRecord.Index; AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest); } } } else if (IndexOf == 4) { if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && OperationTimeHepler.Instance.InOperationTime(Operation.FairyCeremony))//精灵盛典 bool Isopen = impactRankModel.IsInImpactRank; if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen)//全民冲榜 { if (AnimationFadeOutDicLow.Count < 6)//------第二层 { System/MainInterfacePanel/HoistingWin.cs
@@ -21,6 +21,7 @@ [SerializeField] Button PrayerButton;//祈愿 [SerializeField] Button BountyTaskButton;//赏金 [SerializeField] Button HangUpButton;//挂机 [SerializeField] Button FairyTaskButton;//仙盟任务 private int number = 0; DungeonModel m_DungeonModel; DungeonModel dungeonModel { get { return m_DungeonModel ?? (m_DungeonModel = ModelCenter.Instance.GetModel<DungeonModel>()); } } @@ -71,6 +72,11 @@ WorldBossButton.AddListener(() => { Close(); WindowCenter.Instance.Open<FindPreciousFrameWin>(); }); FairyTaskButton.AddListener(()=> { Close(); WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionTask); }); } @@ -150,7 +156,14 @@ { HangUpButton.gameObject.SetActive(false); } if (FuncOpen.Instance.IsFuncOpen(16) && TaskAllocation.Instance.FairyAuAllNumber()<70)//仙盟任务 { FairyTaskButton.gameObject.SetActive(true); } else { FairyTaskButton.gameObject.SetActive(false); } for (int i = 0; i < Content.childCount; i++) { System/MainInterfacePanel/SideMission.cs
@@ -90,11 +90,14 @@ gridCtrl.Refresh(); foreach (var key in taskmodel.SideQuestsDic.Keys) { if (TaskIdNow == 0) if (taskmodel.SideQuestsDic[key].MissionState != 0) { TaskIdNow = key; } gridCtrl.AddCell(ScrollerDataType.Header, key); if (TaskIdNow == 0) { TaskIdNow = key; } gridCtrl.AddCell(ScrollerDataType.Header, key); } } gridCtrl.Restart(); } System/MainInterfacePanel/TaskListTip.cs
@@ -141,20 +141,6 @@ { } private void TaskIdUpdate(int taskId) { int leng = Content.childCount; for (int i = 0; i < leng; i++) { GameObject childObj = Content.GetChild(i).gameObject; TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>(); if (childObj.activeSelf && childObjTaskType.TaskID == taskId) { childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(taskId); } } } private void CardLevelChangeEvent(int taskID)//卡级状态改变 { if (taskmodel.allMissionDict.ContainsKey(taskID) && taskmodel.allMissionDict[taskID].Type == 3) @@ -166,9 +152,9 @@ } private void MainCardLevelChange(int _id)//主线任务卡级状态改变 { TaskScheduling(); ChangeSort(); TaskJump(_id); //TaskScheduling(); //ChangeSort(); //TaskJump(_id); } private void SetLength() @@ -215,35 +201,23 @@ } void TaskToAdd(int MissionID, int MissionState, int DiscriptionIndex)//添加任务 { TaskScheduling(); var inDungeon = IsDungeon(); TaskScheduling(); if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && !inDungeon) { TaskAddAndDelete(); if (MissionState != 0 && MissionID!=1 && _list.Contains(MissionID)) { TaskAddAndDelete(MissionID); TaskJump(MissionID); return; } } TaskJump(MissionID); } void LodingDelTask(int TaskID) { int LengChild = Content.childCount; for (int i = 0; i < LengChild; i++) { TaskType taskType = Content.GetChild(i).GetComponent<TaskType>(); FlyingShoesTask flyingShoesTask = Content.GetChild(i).GetComponent<FlyingShoesTask>(); if (taskType.TaskID == TaskID && taskType.gameObject.activeSelf) { taskType.gameObject.SetActive(false); if (TaskID != taskmodel.GetNowTaskID && flyingShoesTask.ImgSelected.activeSelf) { flyingShoesTask.ImgSelected.SetActive(false); } flyingShoesTask.UIEffect.Play(); } } SetLength(); } private void TaskAddAndDelete() private void TaskAddAndDelete(int TaskID) { for (int i = 0; i < Content.childCount; i++) { @@ -268,8 +242,30 @@ childObj.SetActive(false); } } } //for (int i = 0; i < Content.childCount; i++) //{ // if (i < _list.Count) // { // GameObject obj = Content.GetChild(i).gameObject; // TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>(); // if (childObjTaskType.TaskID == TaskID) // { // return; // } // if (childObjTaskType.TaskID == 0) // { // obj.SetActive(true); // childObjTaskType.TaskID = TaskID; // childObjTaskType.IsGameObjectName(TaskID); // childObjTaskType.IsMysteriousTask(); // obj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(TaskID); // } // } //} ChangeSort();//关于任务变更排序 SetLength(); } @@ -322,22 +318,39 @@ taskType.TaskID = 0; taskType.ClearTaskName(); obj.SetActive(false); obj.transform.SetAsLastSibling(); obj.transform.SetAsLastSibling(); return; } } } private void ChangeSort()//关于任务变更排序 { for (int i = 0; i < Content.childCount; i++) for (int i = 0; i < _list.Count; i++) { GameObject obj = Content.GetChild(i).gameObject; TaskType taskType = obj.GetComponent<TaskType>(); if (taskType.TaskID != 0 && _list.Contains(taskType.TaskID)) for (int j = 0; j < Content.childCount; j++) { int Inedx = _list.IndexOf(taskType.TaskID); obj.transform.SetSiblingIndex(Inedx); GameObject obj = Content.GetChild(j).gameObject; TaskType taskType = obj.GetComponent<TaskType>(); if (taskType.TaskID != 0 && taskType.TaskID == _list[i]) { int Inedx = _list.IndexOf(taskType.TaskID); obj.transform.SetSiblingIndex(Inedx); } } } //for (int i = 0; i < Content.childCount; i++) //{ // GameObject obj = Content.GetChild(i).gameObject; // TaskType taskType = obj.GetComponent<TaskType>(); // if (taskType.TaskID != 0 && _list.Contains(taskType.TaskID)) // { // int Inedx = _list.IndexOf(taskType.TaskID); // obj.transform.SetSiblingIndex(Inedx); // } //} } @@ -493,7 +506,15 @@ } else { var _position = (_list.Count - type) * m_SizeHeight + (_list.Count - type - 1) * 2; float _position = 0f; if (_list.Count >= 12) { _position = (12 - type) * m_SizeHeight + (12 - type - 1) * 2; } else { _position = (_list.Count - type) * m_SizeHeight + (_list.Count - type - 1) * 2; } _position -= 196; m_ScrollRect.verticalNormalizedPosition = Mathf.Clamp01(_position / ((Content as RectTransform).sizeDelta.y - 196)); } System/MainInterfacePanel/TopRightTip.cs
@@ -27,10 +27,8 @@ private void OpenMapWin() { var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(); var config = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID); if (string.IsNullOrEmpty(mapResConfig.BigMap) || PlayerDatas.Instance.baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON) var canOpen = ModelCenter.Instance.GetModel<MapModel>().CanOpenLocalMapWin(PlayerDatas.Instance.baseData.MapID); if (!canOpen) { SysNotifyMgr.Instance.ShowTip("MapInfo1"); } System/MainWin/AttackButton.cs
@@ -25,7 +25,7 @@ } else { return m_IsDown; return Input.GetMouseButton(0) && m_IsDown; } } } System/Message/BattleHint.cs
@@ -16,15 +16,15 @@ public void OnStageLoadFinish() { Clear(); var mapId = PlayerDatas.Instance.baseData.MapID; if (cacheMapId != 0 && cacheMapId != 31160 && mapId == 31160) { SnxxzGame.Instance.StartCoroutine(Co_LoadFinish()); } var help = dungeonModel.mission; ancientKing = mapId != 31160 ? 0 : help.topPlayerID; cacheMapId = PlayerDatas.Instance.baseData.MapID; //var mapId = PlayerDatas.Instance.baseData.MapID; //if (cacheMapId != 0 && cacheMapId != 31160 // && mapId == 31160) //{ // SnxxzGame.Instance.StartCoroutine(Co_LoadFinish()); //} //var help = dungeonModel.mission; //ancientKing = mapId != 31160 ? 0 : help.topPlayerID; //cacheMapId = PlayerDatas.Instance.baseData.MapID; } public event Action battleHintUpdate; @@ -56,7 +56,7 @@ && ancientKing != help.topPlayerID) { ancientKing = help.topPlayerID; Receive(1); //Receive(1); } } ancientKing = help.topPlayerID; @@ -71,24 +71,24 @@ } if (msg.Equals("AncientBattlefield_8")) { Receive(2); //Receive(2); } } public void Receive(int ancientType) { battleHints.Enqueue(ancientType); if (!WindowCenter.Instance.IsOpen<BattleHintWin>()) { WindowCenter.Instance.Open<BattleHintWin>(); } else { if (battleHintUpdate != null) { battleHintUpdate(); } } //battleHints.Enqueue(ancientType); //if (!WindowCenter.Instance.IsOpen<BattleHintWin>()) //{ // WindowCenter.Instance.Open<BattleHintWin>(); //} //else //{ // if (battleHintUpdate != null) // { // battleHintUpdate(); // } //} } public void ReceiveEvenKill(string message, ArrayList list) System/Message/SysNotifyMgr.cs
@@ -220,7 +220,7 @@ } break; case SysNotifyType.SysEvenKill: BattleHint.Instance.ReceiveEvenKill(msg, tipInfoList); //BattleHint.Instance.ReceiveEvenKill(msg, tipInfoList); break; } } System/Mount/PlayerMountDatas.cs
@@ -50,8 +50,8 @@ private List<HorseConfig> SortMount = new List<HorseConfig>();//用于红点排序 public int MountStoneItemId = 0; public bool IsOk = false; public bool IsRedPointSingleFeed = true; public List<int> ListEffectSkill = new List<int>(); private int HorseDanExp = 0;//坐骑丹经验 PlayerPackModel _playerPack; PlayerPackModel playerPack { @@ -78,6 +78,8 @@ } string MountRedDotstr = Config.Instance.Get<FuncConfigConfig>("MountPetRedDot").Numerical1; DicDefaultMount = ConfigParse.GetDic<int, int>(MountRedDotstr); string HorseUpItem = Config.Instance.Get<FuncConfigConfig>("HorseUpItem").Numerical2; HorseDanExp = int.Parse(HorseUpItem); } public override void UnInit() @@ -96,7 +98,6 @@ _DicHorse.Clear(); HorseRidingBool = false; Wait = true; IsRedPointSingleFeed = true; } public void OnPlayerLoginOk() @@ -250,7 +251,6 @@ private void RedPointMountDan() { IsRedPointSingleFeed = false; MountDanRed(); } @@ -281,22 +281,20 @@ int GetMountID = 0; int GetMountLv = 0; int NeedExp = 99999999; int NeedNumber = 0;//所需要的经验丹 for (int i = 0; i < SortMount.Count; i++) { int horseID = SortMount[i].HorseID; if (_DicHorse.ContainsKey(horseID)) if (_DicHorse.ContainsKey(horseID) && _DicHorse[horseID].Lv < Config.Instance.Get<HorseConfig>(horseID).MaxLV) { var key = horseID; if (GetMountID == 0 && _DicHorse[key].Lv < GetMountSkillMaxLV(key)) int _NeedExp = HorseUpConfig.GetHorseIDAndLV(horseID, (_DicHorse[horseID].Lv)).NeedExp; if (_NeedExp - _DicHorse[horseID].Exp < NeedExp) { GetMountID = key; GetMountLv = _DicHorse[key].Lv; } if (_DicHorse[key].Lv < GetMountLv && _DicHorse[key].Lv < GetMountSkillMaxLV(key)) { GetMountID = key; GetMountLv = _DicHorse[key].Lv; NeedExp = _NeedExp - _DicHorse[horseID].Exp; GetMountID = horseID; GetMountLv = _DicHorse[horseID].Lv; NeedNumber = Mathf.CeilToInt((float)NeedExp / HorseDanExp); } } } @@ -312,23 +310,11 @@ ASingleFeedRedPoint[key].state = RedPointState.Simple; return; } } if (ASingleFeedRedPoint.ContainsKey(GetMountID) && number > 0 && GetMountLv < horsecon.MaxLV) if (ASingleFeedRedPoint.ContainsKey(GetMountID) && number >= NeedNumber && GetMountLv < horsecon.MaxLV) { if (PlayerDatas.Instance.baseData.LV >= 1500) { if (IsRedPointSingleFeed) { ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple; return; } } else { ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple; return; } ASingleFeedRedPoint[GetMountID].state = RedPointState.Simple; return; } } System/OpenServerActivity/FeaturesType.cs
@@ -15,7 +15,9 @@ [SerializeField] Text m_IconName;//名字 [SerializeField] Image m_Icon; [SerializeField] Button m_Button; [SerializeField] UIEffect m_UIeffect; InSevenDayModel m_InSevenDayModel; InSevenDayModel inSevenDay { get { return m_InSevenDayModel ?? (m_InSevenDayModel = ModelCenter.Instance.GetModel<InSevenDayModel>()); } } public GameObject ImageSelected { get { return m_ImageSelected; } @@ -34,6 +36,14 @@ { return; } if (inSevenDay.RewardForDic.ContainsKey(day) && inSevenDay.RewardForDic[day] == 0) { m_UIeffect.Play(); } else { m_UIeffect.Stop(); } DayText(day); m_Icon.SetSprite(InsevenConfig.ICON); m_IconName.text = InsevenConfig.RewardName; System/OpenServerActivity/FlashSaleCoolDown.cs
@@ -84,7 +84,7 @@ void DisplayTime(int seconds) { m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red); m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond)); m_Time.Begin(seconds); } void DisplayAdvance(int seconds) System/OpenServerActivity/InSevenDayWin.cs
@@ -25,6 +25,9 @@ [SerializeField] Text m_TextName; [SerializeField] Image m_ImageShow; [SerializeField] Image m_ImageShowCH; [SerializeField] UIEffect m_UIEffect1; [SerializeField] UIEffect m_UIEffect2; [SerializeField] UIEffect m_UIEffect3; [SerializeField] Image m_ImageDay; [SerializeField] Image m_ImageTex1; [SerializeField] Image m_ImageTex2; @@ -118,11 +121,12 @@ { return; } SetUIEffect(); m_rewardInformation.GetIsDays(SelectedDay); m_TextName.text = InsevenConfig.RewardName; if (InsevenConfig.IsTitle == 1) { m_ImageShow.gameObject.SetActive(false); m_ImageShow.gameObject.SetActive(false); m_ImageShowCH.gameObject.SetActive(true); m_ImageShowCH.SetSprite(InsevenConfig.Image); m_ImageShowCH.SetNativeSize(); @@ -142,7 +146,31 @@ m_ImageTex2.SetSprite(InsevenConfig.ImgTxt2); m_ImageTex2.SetNativeSize(); } private void SetUIEffect() { switch (SelectedDay) { case 1: case 4: case 6: m_UIEffect1.gameObject.SetActive(true); m_UIEffect2.gameObject.SetActive(false); m_UIEffect3.gameObject.SetActive(false); break; case 2: case 3: m_UIEffect1.gameObject.SetActive(false); m_UIEffect2.gameObject.SetActive(true); m_UIEffect3.gameObject.SetActive(false); break; case 5: case 7: m_UIEffect1.gameObject.SetActive(false); m_UIEffect2.gameObject.SetActive(false); m_UIEffect3.gameObject.SetActive(true); break; } } #endregion } System/Pet/PlayerPetDatas.cs
@@ -47,8 +47,7 @@ public int PetStoneItemId = 0;//用来记录坐骑魂石的ID public bool IsOk = false; public bool RedPointMaxLv = true;//用来标记灵宠最大限制等级 private int PetDanExp = 0;//灵宠丹经验 public List<int> ListEffectSkill = new List<int>(); PlayerPackModel _playerPack; PlayerPackModel playerPack @@ -98,6 +97,7 @@ } string PetRedDotstr = Config.Instance.Get<FuncConfigConfig>("MountPetRedDot").Numerical2; DicDefaultPet = ConfigParse.GetDic<int, int>(PetRedDotstr); PetDanExp = int.Parse(Config.Instance.Get<FuncConfigConfig>("PetUpItem").Numerical2); } public override void UnInit() @@ -112,7 +112,6 @@ public void OnBeforePlayerDataInitialize() { Wait = true; RedPointMaxLv = true; IsOk = false; _TagPetItem.Clear(); _DicPetBack.Clear(); @@ -234,11 +233,6 @@ return; } } //Lcj 是否可吞噬装备 public bool CanDevour { get { return false; } } private void PetNumberPreservation()//用来对灵宠个数进行保存 { if (PetRedpoint.Count != 0) @@ -266,7 +260,6 @@ CultivateRedPoint.Add(petID, redPointMountStare2); } } } private void PetActivateRedPoint()//灵宠激活红点 @@ -291,19 +284,8 @@ } } } //灵宠进阶和灵宠分解红点 public bool CanDecom { get { return false; } } public bool CanEssence { get; private set; } private void IsRedPointCultivate() { RedPointMaxLv = false; GetCultivateRedPoint(); } private void ToAddSorting() @@ -336,22 +318,20 @@ } int GetPetId = 0; int petLv = 0; int NeedExp = 99999999; int NeedNumber = 0;//所需要的经验丹 for (int i = 0; i < Sortpet.Count; i++) { int petID = Sortpet[i].ID; if (_DicPetBack.ContainsKey(petID)) if (_DicPetBack.ContainsKey(petID) && _DicPetBack[petID].PetClass < Config.Instance.Get<PetInfoConfig>(petID).MaxRank) { var key = petID; if (petLv == 0 && _DicPetBack[key].PetClass < GetPetSkillMaxLv(key)) int _NeedExp = PetClassCostConfig.GetPetIdAndRank(petID, _DicPetBack[petID].PetClass).UpNeedExp; if (_NeedExp - _DicPetBack[petID].petExp < NeedExp) { petLv = _DicPetBack[key].PetClass; GetPetId = key; } if (_DicPetBack[key].PetClass < petLv && _DicPetBack[key].PetClass < GetPetSkillMaxLv(key)) { petLv = _DicPetBack[key].PetClass; GetPetId = key; NeedExp = _NeedExp - _DicPetBack[petID].petExp; petLv = _DicPetBack[petID].PetClass; GetPetId = petID; NeedNumber = Mathf.CeilToInt((float)NeedExp / PetDanExp); } } } @@ -362,26 +342,14 @@ && itemCount > 0 && CultivateRedPoint.ContainsKey(key)) { CultivateRedPoint[key].state = RedPointState.Simple; CanEssence = true; return; } } PetInfoConfig petinfo = Config.Instance.Get<PetInfoConfig>(GetPetId); if (PlayerDatas.Instance.baseData.LV >= 1500) if (CultivateRedPoint.ContainsKey(GetPetId) && itemCount >= NeedNumber && petinfo.MaxRank > petLv) { if (CultivateRedPoint.ContainsKey(GetPetId) && itemCount > 0 && RedPointMaxLv && petinfo.MaxRank > petLv) { CultivateRedPoint[GetPetId].state = RedPointState.Simple; CanEssence = true; } } else { if (CultivateRedPoint.ContainsKey(GetPetId) && itemCount > 0 && petinfo.MaxRank > petLv) { CultivateRedPoint[GetPetId].state = RedPointState.Simple; CanEssence = true; } CultivateRedPoint[GetPetId].state = RedPointState.Simple; return; } } System/Role/RolePanel.cs
@@ -104,7 +104,8 @@ } private void OnRenameClick() { MessageWin.Inst.ShowFixedTip(Language.Get("Z1025")); //SysNotifyMgr.Instance.ShowTip("JadeInvestmentLimit1"); WindowCenter.Instance.Open<RoleRenameWin>(); } private void OnElixirClick() System/Role/RoleRenameWin.cs
@@ -50,6 +50,7 @@ if (itemConfig == null) return; ItemCellModel cellModel = new ItemCellModel(renameToolId, false,(ulong)GetRenameToolNum()); itemCell.Init(cellModel); itemCell.countText.gameObject.SetActive(true); if(GetRenameToolNum() > 0) { itemCell.countText.text = StringUtility.Contact(UIHelper.GetTextColorByItemColor(TextColType.Green,GetRenameToolNum().ToString()), @@ -120,7 +121,7 @@ { if (isOk) { LanguageVerify.Instance.VerifyPlayerName(renameInput.text, 0, LanguageVerify.Instance.VerifyPlayerName(renameInput.text, (int)PlayerDatas.Instance.baseData.PlayerID, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName), PlayerDatas.Instance.baseData.LV, PlayerDatas.Instance.baseData.VIPLv, (bool ok, string name) => { System/RolePromote/RolePromoteWin.cs
@@ -79,8 +79,11 @@ case PlayerDataRefresh.LV: case PlayerDataRefresh.LV2: case PlayerDataRefresh.LVEx: UpdateGrade(); break; case PlayerDataRefresh.FightPower: UpdateGrade(); DisplayFightPower(); break; } } @@ -133,7 +136,7 @@ } } scrollerController.Restart(); m_FightPowerTxt.text = Language.Get("RolePromoteFightPower", PlayerDatas.Instance.baseData.FightPoint); DisplayFightPower(); } void InitResourceData() @@ -147,6 +150,11 @@ scrollerController.Restart(); } private void DisplayFightPower() { m_FightPowerTxt.text = Language.Get("RolePromoteFightPower", PlayerDatas.Instance.baseData.FightPoint); } private void UpdateGrade() { var _playerLvCfg = Config.Instance.Get<PlayerLVConfig>(PlayerDatas.Instance.baseData.LV); System/Rune/RuneModel.cs
@@ -1105,6 +1105,40 @@ return false; } public void IsSameRune(int id, ref List<int> sameHoles) { sameHoles.Clear(); var _runeConfig = Config.Instance.Get<RuneConfig>(id); if (_runeConfig == null) { return; } for (int i = 0; i < _runeConfig.AttrType.Length; i++) { var sameHole = SameRuneHole(_runeConfig.AttrType[i]); if (sameHole != -1) { sameHoles.Add(sameHole); } } } public int SameRuneHole(int type) { foreach (int key in runeHoleData.Keys) { RuneConfig _runeCfg = Config.Instance.Get<RuneConfig>(runeHoleData[key].id); for (int i = 0; i < _runeCfg.AttrType.Length; i++) { if (type == _runeCfg.AttrType[i]) { return key; } } } return -1; } public int GetOpenTowerCnt(bool includeSpecial = false) { int Cnt = 0; System/Rune/RunePackCell.cs
@@ -79,12 +79,32 @@ MessageWin.Inst.ShowFixedTip(Language.Get("L1061")); return; } if (model.IsSameInHoleRune(_rune.id, model.sltRuneHole)) { MessageWin.Inst.ShowFixedTip(Language.Get("L1078")); return; } var sltHoleRune = model.GetHoleRune(model.sltRuneHole); bool switchOtherSameHole = false; List<int> sameHoles = new List<int>(); if (sltHoleRune == null || runeComposeModel.m_RuneBothPropertys.Contains(sltHoleRune.id) || !runeComposeModel.m_RuneBothPropertys.Contains(_rune.id)) { if (model.IsSameInHoleRune(_rune.id, model.sltRuneHole)) { MessageWin.Inst.ShowFixedTip(Language.Get("L1078")); return; } } else { model.IsSameRune(_rune.id, ref sameHoles); if (sameHoles.Count > 0 && !sameHoles.Contains(model.sltRuneHole)) { MessageWin.Inst.ShowFixedTip(Language.Get("L1078")); return; } if (sameHoles.Count > 1) { switchOtherSameHole = true; } } if (runeComposeModel.m_RuneBothPropertys.Contains(_rune.id) && model.GetDoublePropLimitCount() <= model.GetCurrentDoublePropCount() && (sltHoleRune == null || !runeComposeModel.m_RuneBothPropertys.Contains(sltHoleRune.id))) @@ -93,13 +113,36 @@ SysNotifyMgr.Instance.ShowTip("RuneGridUnEnough", _count); return; } C073D_tagCPackItemExchange runeInlayPack = new C073D_tagCPackItemExchange(); runeInlayPack.SrcBackpack = (byte)_rune.packtype; runeInlayPack.SrcIndex = (ushort)_rune.index; runeInlayPack.DesBackPack = (int)PackType.rptInterimPack; runeInlayPack.DestIndex = (ushort)model.sltRuneHole; GameNetSystem.Instance.SendInfo(runeInlayPack); WindowCenter.Instance.CloseImmediately<RunePackWin>(); if (switchOtherSameHole) { var otherSameHole = sameHoles[0] == model.sltRuneHole ? sameHoles[1] : sameHoles[0]; var otherRune = model.GetHoleRune(otherSameHole); ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("SwitchDoublePropertyRune"), (bool isOk) => { if (isOk) { SwitchRune(otherRune.packtype, otherSameHole, _rune.packtype, 0); SwitchRune(_rune.packtype, _rune.index, (int)PackType.rptInterimPack, model.sltRuneHole); WindowCenter.Instance.CloseImmediately<RunePackWin>(); } }); } else { SwitchRune(_rune.packtype, _rune.index, (int)PackType.rptInterimPack, model.sltRuneHole); WindowCenter.Instance.CloseImmediately<RunePackWin>(); } } void SwitchRune(int srcpackType,int scrIndex,int destpackType,int destIndex) { C073D_tagCPackItemExchange pak = new C073D_tagCPackItemExchange(); pak.SrcBackpack = (byte)srcpackType; pak.SrcIndex = (ushort)scrIndex; pak.DesBackPack = (byte)destpackType; pak.DestIndex = (ushort)destIndex; GameNetSystem.Instance.SendInfo(pak); } } } System/Store/Logic/BuyEquipTip.cs
@@ -540,6 +540,16 @@ washAttr.SetActive(false); return; } switch (itemAttrData.itemConfig.EquipPlace) { case 101: case 102: case 103: case 104: case 105: washAttr.SetActive(false); return; } curAttrTypeNum = 4; washAttr.SetActive(true); washTitleText.text = Language.Get("EquipWin_WashPropObj_Text_1"); @@ -552,6 +562,16 @@ { gemAttr.SetActive(false); return; } switch (itemAttrData.itemConfig.EquipPlace) { case 101: case 102: case 103: case 104: case 105: gemAttr.SetActive(false); return; } curAttrTypeNum = 5; gemAttr.SetActive(true); @@ -626,6 +646,16 @@ suitAttr.SetActive(false); return; } switch (itemAttrData.itemConfig.EquipPlace) { case 101: case 102: case 103: case 104: case 105: suitAttr.SetActive(false); return; } curAttrTypeNum = 6; } System/Store/StoreModel.cs
@@ -1059,6 +1059,7 @@ } } public void ClearPetAndMountRedpoint(StoreConfig storeConfig) { ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(storeConfig.ItemID); @@ -1074,7 +1075,23 @@ } break; } } public void ClearAllPetAndMountRedpoint(StoreFunc storeFunc) { if (storeFuncType == StoreFunc.BindStore && storeFunc != StoreFunc.BindStore) { foreach(var key in shopRedDict.Keys) { if(shopRedDict[key].state != RedPointState.None) { string record = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId",key); shopRedDict[key].state = RedPointState.None; LocalSave.SetBool(record, false); } } } } #endregion System/Store/StoreWin.cs
@@ -146,6 +146,8 @@ protected override void OnPreClose() { m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.WeekStore); m_storeModel.storeFuncType = StoreFunc.WeekStore; m_storeModel.shoplist.Clear(); m_storeModel.RefreshBuyShopLimitEvent -= OnCreate; GlobalTimeEvent.Instance.secondEvent -= RefreshResetTime; @@ -432,6 +434,7 @@ private void OnClickIntegralStore() { m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.IntegralStore); m_storeModel.shoplist.Clear(); m_storeModel.storeFuncType = StoreFunc.IntegralStore; OnCreate(); @@ -441,6 +444,7 @@ private void OnClickBindStore() { m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.BindStore); m_storeModel.shoplist.Clear(); m_storeModel.storeFuncType = StoreFunc.BindStore; OnCreate(); @@ -450,6 +454,7 @@ private void OnClickStrengthStore() { m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.GrowStrongerStore); m_storeModel.shoplist.Clear(); m_storeModel.storeFuncType = StoreFunc.GrowStrongerStore; OnCreate(); @@ -459,6 +464,7 @@ private void OnClickCommonStore() { m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.CommonStore); m_storeModel.shoplist.Clear(); m_storeModel.storeFuncType = StoreFunc.CommonStore; OnCreate(); @@ -468,6 +474,7 @@ private void OnClickWeekStore() { m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.WeekStore); m_storeModel.storeFuncType = StoreFunc.WeekStore; OnCreate(); RefreshResetTime(); System/Strengthening/EquipWashModel.cs
@@ -44,9 +44,13 @@ public delegate void OnRefreshWashModel(); public event OnRefreshWashModel RefreshWashModelEvent; public int[] washGroups1 { get; private set; } public int[] washGroups2 { get; private set; } public int[] washGroups3 { get; private set; } private Dictionary<int, WashProCount> washEquipProDict = new Dictionary<int, WashProCount>(); private FuncConfigConfig funcModel; private Dictionary<int, int> _equipWashLimitDict; private Dictionary<int, Dictionary<int, int>> _equipWashLimitDict = new Dictionary<int, Dictionary<int, int>>(); private List<WashProCount> orderWashProlist = new List<WashProCount>(); PlayerPackModel _playerPack; PlayerPackModel playerPack @@ -88,10 +92,31 @@ public override void Init() { _equipWashLimitDict = null; funcModel = Config.Instance.Get<FuncConfigConfig>("EquipWashMaxLV"); if (funcModel != null) _equipWashLimitDict = ConfigParse.GetDic<int, int>(funcModel.Numerical1); _equipWashLimitDict.Clear(); FuncConfigConfig washGroup1Model = Config.Instance.Get<FuncConfigConfig>("EquipWashGroup1"); FuncConfigConfig washGroup2Model = Config.Instance.Get<FuncConfigConfig>("EquipWashGroup2"); FuncConfigConfig washGroup3Model = Config.Instance.Get<FuncConfigConfig>("EquipWashGroup3"); washGroups1 = ConfigParse.GetMultipleStr<int>(washGroup1Model.Numerical1); washGroups2 = ConfigParse.GetMultipleStr<int>(washGroup2Model.Numerical1); washGroups3 = ConfigParse.GetMultipleStr<int>(washGroup3Model.Numerical1); SetEquipWashMaxLV(washGroups1, washGroup1Model.Numerical2); SetEquipWashMaxLV(washGroups2, washGroup2Model.Numerical2); SetEquipWashMaxLV(washGroups3, washGroup3Model.Numerical2); } private void SetEquipWashMaxLV(int[] groups,string limit) { Dictionary<int,int> limitDict = ConfigParse.GetDic<int, int>(limit); if (groups != null && limitDict != null) { for (int i = 0; i < groups.Length; i++) { if (!_equipWashLimitDict.ContainsKey(groups[i])) { _equipWashLimitDict.Add(groups[i], limitDict); } } } } public override void UnInit() @@ -302,28 +327,22 @@ //得到洗练群组类型 public int OnGetWashType(int itemPlace) { FuncConfigConfig washGroup1Model = Config.Instance.Get<FuncConfigConfig>("EquipWashGroup1"); FuncConfigConfig washGroup2Model = Config.Instance.Get<FuncConfigConfig>("EquipWashGroup2"); FuncConfigConfig washGroup3Model = Config.Instance.Get<FuncConfigConfig>("EquipWashGroup3"); int[] _equipPlacelist1 = ConfigParse.GetMultipleStr<int>(washGroup1Model.Numerical1); int[] _equipPlacelist2 = ConfigParse.GetMultipleStr<int>(washGroup2Model.Numerical1); int[] _equipPlacelist3 = ConfigParse.GetMultipleStr<int>(washGroup3Model.Numerical1); int i = 0; for (i = 0; i < _equipPlacelist1.Length; i++) for (i = 0; i < washGroups1.Length; i++) { if (_equipPlacelist1[i] == itemPlace) if (washGroups1[i] == itemPlace) return 1; } for (i = 0; i < _equipPlacelist2.Length; i++) for (i = 0; i < washGroups2.Length; i++) { if (_equipPlacelist2[i] == itemPlace) if (washGroups2[i] == itemPlace) return 2; } for (i = 0; i < _equipPlacelist3.Length; i++) for (i = 0; i < washGroups3.Length; i++) { if (_equipPlacelist3[i] == itemPlace) if (washGroups3[i] == itemPlace) return 3; } return 0; @@ -391,16 +410,31 @@ /// </summary> /// <param name="equipLv"></param> /// <returns></returns> public int GetWashFullLv(int equipLv) public int GetWashFullLv(int equipPlace,int equipLv) { if (_equipWashLimitDict == null) return 0; if (_equipWashLimitDict.ContainsKey(equipLv)) return _equipWashLimitDict[equipLv]; else return 0; if (_equipWashLimitDict.ContainsKey(equipPlace)) { if(_equipWashLimitDict[equipPlace].ContainsKey(equipLv)) { return _equipWashLimitDict[equipPlace][equipLv]; } } return 0; } public int GetEquipWashMinLv(int equipPlace) { if (_equipWashLimitDict.ContainsKey(equipPlace)) { List<int> lvlist = _equipWashLimitDict[equipPlace].Keys.ToList(); if (lvlist != null && lvlist.Count > 0) { return lvlist[0]; } } return 0; } /// <summary> /// 判断当前装备是否洗练满阶 @@ -413,7 +447,7 @@ return false; chinItemModel = Config.Instance.Get<ItemConfig>((int)model.itemInfo.ItemID); int fullLv = GetWashFullLv(chinItemModel.LV); int fullLv = GetWashFullLv(chinItemModel.EquipPlace,chinItemModel.LV); if (washPro.XLAttrLV == fullLv) { if (washPro.proValuelist[0].XLAttrValue < tagEquipWash.attMax1) @@ -443,41 +477,37 @@ public bool IsCanWash(ItemModel model) { if (model == null || _equipWashLimitDict == null) if (model == null) return false; chinItemModel = Config.Instance.Get<ItemConfig>((int)model.itemInfo.ItemID); int[] equipLvs = _equipWashLimitDict.Keys.ToArray(); if (chinItemModel.LV >= equipLvs[0]) if(chinItemModel.LV >= GetEquipWashMinLv(chinItemModel.EquipPlace)) { return true; else return false; } public int WashMinLV() { if (_equipWashLimitDict == null) return -1; int[] equipLvs = _equipWashLimitDict.Keys.ToArray(); return equipLvs[0]; } return false; } /// <summary> /// 得到装备位最大洗练等级 /// </summary> /// <returns></returns> public int GetMaxWashLv() public int GetMaxWashLv(int equipPlace) { if (_equipWashLimitDict == null) return 0; int[] washLvs = _equipWashLimitDict.Values.ToArray(); return washLvs[washLvs.Length - 1]; if (_equipWashLimitDict.ContainsKey(equipPlace)) { List<int> washLvlist = _equipWashLimitDict[equipPlace].Values.ToList(); if (washLvlist != null && washLvlist.Count > 0) { return washLvlist[washLvlist.Count - 1]; } } return 0; } public string GetCurWashLvStr(WashProCount washPro, EquipWashConfig tagEquipWash) { int maxWashLv = GetMaxWashLv(); int maxWashLv = GetMaxWashLv(washPro.EquipPlace); if (washPro.XLAttrLV < maxWashLv) { System/Strengthening/GodBeastAttributes.cs
@@ -40,6 +40,9 @@ [SerializeField] Button m_StrengthenDoubleBtn;//双倍强化按钮 [SerializeField] Text m_NeedFairy;//所需的仙玉 [SerializeField] GameObject m_BottomBox; [SerializeField] Text m_Text_Attributes3; [SerializeField] Text m_Text_Attributes4; DogzModel Dogz_model; DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } } PlayerPackModel _playerPack; @@ -72,6 +75,8 @@ } GodBeastReinforcementWin.ChooseToModify += ChooseToModify; godBeastModel.AbsorbEvent += AbsorbEvent; m_Text_Attributes3.gameObject.SetActive(false); m_Text_Attributes4.gameObject.SetActive(false); } private void OnDisable() { @@ -286,6 +291,8 @@ m_FullLevel.SetActive(false); m_UIAlphaTween.gameObject.SetActive(false); m_BottomBox.SetActive(false); m_Text_Attributes3.gameObject.SetActive(false); m_Text_Attributes4.gameObject.SetActive(false); } } @@ -327,7 +334,8 @@ } else { m_Text_Attributes3.gameObject.SetActive(false); m_Text_Attributes4.gameObject.SetActive(false); m_StrengthenDoubleBtn.interactable = true; m_StrengthenBtn.interactable = true; m_Text_two.SetActive(true); @@ -348,6 +356,8 @@ } else { m_Text_Attributes3.gameObject.SetActive(false); m_Text_Attributes4.gameObject.SetActive(false); if (m_DoubleToggle.isOn) { m_StrengthenBtn.gameObject.SetActive(false); @@ -596,25 +606,28 @@ } private void FullLevelAttributes()//设置满级属性 { m_TextAttributes1.gameObject.SetActive(false); m_TextAttributesAdd1.gameObject.SetActive(false); m_TextAttributes2.gameObject.SetActive(false); m_TextAttributesAdd2.gameObject.SetActive(false); var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv); int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType); int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue); m_TextAttributesAdd1.gameObject.SetActive(false); m_TextAttributesAdd2.gameObject.SetActive(false); if (AttType.Length > 1) { m_TextAttributes1.gameObject.SetActive(true); m_TextAttributes2.gameObject.SetActive(true); m_Text_Attributes3.gameObject.SetActive(true); m_Text_Attributes4.gameObject.SetActive(true); string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name; string StrName2 = Config.Instance.Get<PlayerPropertyConfig>(AttType[1]).Name; m_TextAttributes1.text = StrName1 + ":" + AttValue[0]; m_TextAttributes2.text = StrName2 + ":" + AttValue[1]; m_Text_Attributes3.text = StrName1 + ":" + AttValue[0]; m_Text_Attributes4.text = StrName2 + ":" + AttValue[1]; } else { m_TextAttributes2.gameObject.SetActive(false); m_Text_Attributes3.gameObject.SetActive(true); m_Text_Attributes4.gameObject.SetActive(false); string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name; m_TextAttributes1.text = StrName1 + ":" + AttValue[0]; m_Text_Attributes3.text = StrName1 + ":" + AttValue[0]; } } } System/Strengthening/GodBeastEntry.cs
@@ -17,7 +17,7 @@ [SerializeField] GameObject m_Selectedbar_Image; [SerializeField] Text m_Item_Text; [SerializeField] Button m_GodBeastButton; [SerializeField] RedpointBehaviour m_RedPoint; public Button GodBeastButton { get { return m_GodBeastButton; } @@ -25,7 +25,8 @@ } DogzModel Dogz_model; DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } } DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } } GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } } public void GetGodBeastLocationMarker(int locationMarker, int currentlySelected) { int godBeastNumber = locationMarker % 100;//神兽编号 @@ -38,6 +39,10 @@ if (itemModel[i].EquipPlace == godBeastPart) { ItemCellModel ItemModel = new ItemCellModel(itemModel[i].itemId, true, 0, 0);//不显示绑定 if (godBeastModel.GodBeastRedPointDic.ContainsKey(itemModel[i].itemInfo.ItemPlace)) { m_RedPoint.redpointId = godBeastModel.GodBeastRedPointDic[(itemModel[i].itemInfo.ItemPlace)].id; } m_itemCell.Init(ItemModel); var itemConfig = Config.Instance.Get<ItemConfig>(itemModel[i].itemId); var IudetDogzEquipPlus = itemModel[i].GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);// 神兽装备强化信息列表 [强化等级, 强化熟练度] System/Strengthening/GodBeastModel.cs
@@ -23,6 +23,8 @@ DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } } PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } public Dictionary<int, Redpoint> GodBeastRedPointDic = new Dictionary<int, Redpoint>();//key装备位置下标(红点) private List<int> RedPointLIst = new List<int>(); private const int Redpoint_key1 = 11202;//神兽强化红点 public Redpoint redPointStre1 = new Redpoint(112, Redpoint_key1); public override void Init() @@ -45,11 +47,22 @@ playerPack.ItemCntReduceAct -= ItemCntReduceAct; dogz_model.UpdateAssistDogzEvent -= UpdateAssistDogzEvent; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent += MakeItemAnswerEvent; playerPack.ItemCntAddAct += ItemCntAddAct;//物品数量增加 playerPack.ItemCntReduceAct += ItemCntReduceAct;//物品数量减少 dogz_model.UpdateAssistDogzEvent += UpdateAssistDogzEvent; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; SetRedPointID(); GodBeastRedPoint(); } private void MakeItemAnswerEvent(H0721_tagMakeItemAnswer obj) { if ((int)obj.MakeType == (int)MakeType.Def_mitDogzEquipPlus) { GodBeastRedPoint(); } } private void OnFuncStateChangeEvent(int obj) @@ -62,6 +75,11 @@ private void UpdateAssistDogzEvent() { foreach (var key in GodBeastRedPointDic.Keys) { GodBeastRedPointDic[key].state = RedPointState.None; } SetRedPointID(); GodBeastRedPoint(); } @@ -200,7 +218,7 @@ if (_IudetDogzEquipPlus != null) { SingleProficiency += _IudetDogzEquipPlus[1]; DoubleProficiency += item_Model.chinItemModel.EffectValueA1+ _IudetDogzEquipPlus[1]; DoubleProficiency += item_Model.chinItemModel.EffectValueA1 + _IudetDogzEquipPlus[1]; } else { @@ -233,12 +251,93 @@ } } private void SetRedPointID()//设置红点ID { GodBeastRedPointDic.Clear(); RedPointLIst.Clear(); var DogzEquipDict = dogz_model.dogzAssistStateDict; foreach (var key in DogzEquipDict.Keys) { if (DogzEquipDict[key] == 1) { List<ItemModel> itemModel = dogz_model.GetDogzEquips(key); for (int i = 0; i < itemModel.Count; i++) { int IndexId = itemModel[i].itemInfo.ItemPlace; int RedPoint = Redpoint_key1 * 1000 + IndexId; Redpoint redPointStare = new Redpoint(Redpoint_key1, RedPoint); if (!GodBeastRedPointDic.ContainsKey(IndexId)) { GodBeastRedPointDic.Add(IndexId, redPointStare); RedPointLIst.Add(IndexId); } } } } RedPointLIst.Sort(Compare); } int Compare(int x, int y) { ItemModel IindexitemModelx = playerPack.GetItemModelByIndex(PackType.rptDogzEquip, x); ItemModel IindexitemModely = playerPack.GetItemModelByIndex(PackType.rptDogzEquip, y); if (IindexitemModelx.chinItemModel.ItemColor.CompareTo(IindexitemModely.chinItemModel.ItemColor) != 0)//品质 { return -IindexitemModelx.chinItemModel.ItemColor.CompareTo(IindexitemModely.chinItemModel.ItemColor); } if (IindexitemModelx.chinItemModel.StarLevel.CompareTo(IindexitemModely.chinItemModel.StarLevel) != 0)//星级 { return -IindexitemModelx.chinItemModel.StarLevel.CompareTo(IindexitemModely.chinItemModel.StarLevel); } if (IindexitemModelx.chinItemModel.EquipPlace.CompareTo(IindexitemModely.chinItemModel.EquipPlace) != 0)//装备位 { return IindexitemModelx.chinItemModel.EquipPlace.CompareTo(IindexitemModely.chinItemModel.EquipPlace); } if (GetLV(IindexitemModelx).CompareTo(GetLV(IindexitemModely)) != 0)//强化等级 { return -GetLV(IindexitemModelx).CompareTo(GetLV(IindexitemModely)); } if (GetProficiency(IindexitemModelx).CompareTo(GetProficiency(IindexitemModely)) != 0)//熟练度 { return -GetProficiency(IindexitemModelx).CompareTo(GetProficiency(IindexitemModely)); } if (IindexitemModelx.equipScore.CompareTo(IindexitemModely.equipScore) != 0)//装备评分 { return -IindexitemModelx.equipScore.CompareTo(IindexitemModely.equipScore); } return 1; } private int GetLV(ItemModel _ItemModel) { var IudetDogzEquipPlus = _ItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); if (IudetDogzEquipPlus != null) { return IudetDogzEquipPlus[0]; } return 0; } private int GetProficiency(ItemModel _ItemModel) { var IudetDogzEquipPlus = _ItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); if (IudetDogzEquipPlus != null) { return IudetDogzEquipPlus[1]; } return 0; } public int IndexId = 0; private void GodBeastRedPoint()//神兽强化红点 { bool Istrue = false; bool IsRedPoint = false; int ItemColor = 10; var DogzEquipDict = dogz_model.dogzAssistStateDict; redPointStre1.state = RedPointState.None; IndexId = 0; foreach (var key in GodBeastRedPointDic.Keys) { GodBeastRedPointDic[key].state = RedPointState.None; } int Type = 0; foreach (var key in DogzEquipDict.Keys) { @@ -278,25 +377,55 @@ var itemModelBack = BackpackDic[keyBack]; if (itemModelBack.chinItemModel.Type == 70)//有神兽水晶时的红点 { redPointStre1.state = RedPointState.Simple; return; IsRedPoint = true; } if (itemModelBack.chinItemModel.ItemColor < _ItemColor) { _ItemColor = itemModelBack.chinItemModel.ItemColor; } } if (Type >= dogz_model.curSumAssistNum && ItemColor> _ItemColor)//出战神兽已满,且神兽背包有品质低于已助战神兽品质颜色时 if (Type >= dogz_model.curSumAssistNum && ItemColor > _ItemColor)//出战神兽已满,且神兽背包有品质低于已助战神兽品质颜色时 { redPointStre1.state = RedPointState.Simple; return; IsRedPoint = true; } } } } if (IsRedPoint) { int Lv = 100; for (int i = 0; i < RedPointLIst.Count; i++) { ItemModel _itemModel = playerPack.GetItemModelByIndex(PackType.rptDogzEquip, RedPointLIst[i]); int MaxLv= QualityLimit[_itemModel.chinItemModel.ItemColor];//获取最大强化等级 var _IudetDogzEquipPlus = _itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); if (_IudetDogzEquipPlus != null) { if (_IudetDogzEquipPlus[0]<MaxLv && _IudetDogzEquipPlus[0] < Lv) { Lv = _IudetDogzEquipPlus[0]; IndexId = RedPointLIst[i]; } } else { if (0 < Lv) { Lv = 0; IndexId = RedPointLIst[i]; } } } if (GodBeastRedPointDic.ContainsKey(IndexId)) { GodBeastRedPointDic[IndexId].state = RedPointState.Simple; } } } public bool IsNeedEquipment()//是否有极品装备需要弹框 public bool IsNeedEquipment()//是否有极品装备需要弹框 { bool IsBool = false; foreach (var key in Absorption_Dic.Keys) @@ -309,7 +438,7 @@ IsBool = true; } } } return IsBool; } System/Strengthening/GodBeastReinforcementWin.cs
@@ -3,6 +3,7 @@ // [ Date ]: Thursday, August 16, 2018 //-------------------------------------------------------- using EnhancedUI.EnhancedScroller; using System; using System.Collections; using System.Collections.Generic; @@ -40,22 +41,24 @@ private List<GodBeastClass> GodBeastList = new List<GodBeastClass>(); private int CurrentlySelected = 0; private int JumpIndex = 0; public int Offset = 0;//偏移量 #region Built-in protected override void BindController() { { m_ScrollerController.OnRefreshCell += OnRefreshGridCell; } protected override void AddListeners() { { } protected override void OnPreOpen() { CurrentlySelected = 0; GetGodBeast();//获取神兽强化装备信息 m_ScrollerController.OnRefreshCell += OnRefreshGridCell; if (godBeastModel.ItemPlace != -1) if (godBeastModel.ItemPlace != -1)//装备强化跳转选中 { for (int i = 0; i < GodBeastList.Count; i++) { @@ -74,23 +77,45 @@ } else { if (GodBeastList.Count > 0) if (godBeastModel.redPointStre1.state == RedPointState.Simple)//强化红点选中 { CurrentlySelected = GodBeastList[0].LocationMarker; GetDogZBagIndex(); JumpIndex = 0; for (int i = 0; i < GodBeastList.Count; i++) { if (GodBeastList[i].ItemPlace == godBeastModel.IndexId) { JumpIndex = i; CurrentlySelected = GodBeastList[i].LocationMarker; GetDogZBagIndex(); } } } else { if (GodBeastList.Count > 0)//默认选中个 { CurrentlySelected = GodBeastList[0].LocationMarker; GetDogZBagIndex(); JumpIndex = 0; } } } OnCreateGridLineCell(m_ScrollerController); m_GodBeastSlidingList.Init(); m_GodBeastAttributes.Init(); m_GodBeastAttributes.GetGodBeastLocationMarker(CurrentlySelected); m_ScrollerController.JumpIndex(JumpIndex); } protected override void OnActived() { var offset = 0f; m_ScrollerController.JumpIndex(JumpIndex,ref offset); m_ScrollerController.JumpIndex(Offset + offset, 0, EnhancedScroller.TweenType.immediate); } protected override void OnAfterOpen() { playerPack.RefreshItemCountAct += RefreshItemCountAct; @@ -102,7 +127,6 @@ JumpIndex = 0; godBeastModel.ItemPlace = -1; playerPack.RefreshItemCountAct -= RefreshItemCountAct; m_ScrollerController.OnRefreshCell -= OnRefreshGridCell; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent; } System/Strengthening/GodBeastSlidingList.cs
@@ -45,7 +45,10 @@ PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } } private void Awake() { } private void Start() { m_Arrow.AddListener(OnClickArrow); @@ -132,6 +135,7 @@ public void Init() { Quality = 10; LINE = Mathf.CeilToInt((float)100 / 3); ContentSelect(Quality); if (m_ScrollViewFirst.activeSelf) { @@ -303,7 +307,7 @@ else { return; } } } } } @@ -381,12 +385,19 @@ int childCode = 0; for (childCode = 0; childCode < cell.transform.childCount; childCode++) { GodBeastChildNodes GodBeastChildNodes = cell.transform.GetChild(childCode).GetComponent<GodBeastChildNodes>(); int cellCount = (cell.transform.childCount) * gridlineIndex + (childCode + 1); if (cellCount > 100) { GodBeastChildNodes.gameObject.SetActive(false); continue; } GodBeastChildNodes.gameObject.SetActive(true); GodBeastChildNodes.ItemCell.gameObject.SetActive(false); GodBeastChildNodes.ChoosenImg.SetActive(false); GodBeastChildNodes.TextNumber.gameObject.SetActive(false); GodBeastChildNodes.NumberNow.gameObject.SetActive(false); int cellCount = (cell.transform.childCount) * gridlineIndex + (childCode + 1); GodBeastChildNodes.ButtonDown.RemoveAllListeners(); if (cellCount - 1 < GodBeastBagList.Count) { @@ -401,7 +412,7 @@ if (godBeastModel.Absorption_Dic.ContainsKey(godBeastBagClass.Index)) { GodBeastChildNodes.ChoosenImg.SetActive(true); if (itemModel.EquipPlace <= 0) if (itemModel.EquipPlace <= 0 && itemModel.itemInfo.ItemCount>1) { GodBeastChildNodes.NumberNow.gameObject.SetActive(true); GodBeastChildNodes.NumberNow.text = godBeastModel.Absorption_Dic[godBeastBagClass.Index].ToString(); @@ -424,9 +435,26 @@ } else//选中的物品为水晶 { godBeastModel.Crystal_ItemModel = itemModel; godBeastModel.ItemInde = godBeastBagClass.Index; WindowCenter.Instance.Open<CrystalSelectionWin>(); if (itemModel.itemInfo.ItemCount <= 1) { if (godBeastModel.Absorption_Dic.ContainsKey(godBeastBagClass.Index)) { godBeastModel.Absorption_Dic.Remove(godBeastBagClass.Index); } else { godBeastModel.Absorption_Dic.Add(godBeastBagClass.Index, 1); } m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见 } else { godBeastModel.Crystal_ItemModel = itemModel; godBeastModel.ItemInde = godBeastBagClass.Index; WindowCenter.Instance.Open<CrystalSelectionWin>(); } } godBeastModel.AbsorbEventUpdate(); }); System/Strengthening/WashTips.cs
@@ -490,14 +490,14 @@ { if (equipWashModel.IsWashFull(_itemModel, _washProModel, _tagWashModel)) { if(_washProModel.XLAttrLV >= equipWashModel.GetMaxWashLv() && _washProModel.XLAttrLV <= equipWashModel.GetWashFullLv(_itemModel.chinItemModel.LV)) if(_washProModel.XLAttrLV >= equipWashModel.GetMaxWashLv(_itemModel.chinItemModel.EquipPlace) && _washProModel.XLAttrLV <= equipWashModel.GetWashFullLv(_itemModel.chinItemModel.EquipPlace, _itemModel.chinItemModel.LV)) { _washFullLvText.text = Language.Get("WashLevelFulled"); } else { _washFullLvText.text = Language.Get("EquipWash113", _itemModel.chinItemModel.LV, equipWashModel.GetWashFullLv(_itemModel.chinItemModel.LV)); _washFullLvText.text = Language.Get("EquipWash113", _itemModel.chinItemModel.LV, equipWashModel.GetWashFullLv(_itemModel.chinItemModel.EquipPlace, _itemModel.chinItemModel.LV)); } ObjHideOrShow(false, false, false, false, true); } @@ -536,7 +536,7 @@ } else { _washFullLvText.text = Language.Get("EquipWash114", equipWashModel.WashMinLV()); _washFullLvText.text = Language.Get("EquipWash114", equipWashModel.GetEquipWashMinLv(_itemModel.chinItemModel.EquipPlace)); ObjHideOrShow(false, false, false, false, true); } System/Team/MyTeamWin.cs
@@ -412,7 +412,7 @@ m_MatchState.text = model.isMatching ? Language.Get("StopMatching") : Language.Get("TeamListAutoMatching"); if (model.isMatching) { m_MatchingCoolDown.Begin(model.matchingEndTime); m_MatchingCoolDown.Begin((int)(model.matchingEndTime - DateTime.Now).TotalSeconds); } else { System/Tip/ItemConfirmWin.cs
@@ -77,7 +77,21 @@ private void ShowItemGetPath() { ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(ConfirmCancel.generalItemId); ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(ConfirmCancel.generalItemId); if(itemConfig != null) { if(itemConfig.GetWay != null && itemConfig.GetWay.Length > 0) { ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(ConfirmCancel.generalItemId); } else { ItemAttrData attrData = new ItemAttrData(ConfirmCancel.generalItemId); var tipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>(); tipsModel.SetItemTipsModel(attrData); } } } } System/Treasure/TreasureData.cs
@@ -83,6 +83,8 @@ get; private set; } public int autoSelectPotential { get; set; } Dictionary<int, List<TreasurePotential>> jobToPotentials = new Dictionary<int, List<TreasurePotential>>(); public List<TreasurePotential> potentials @@ -197,6 +199,23 @@ } } public TreasurePotential GetPotentialByIndex(int index) { if (potentials == null) { return null; } else { if (index >= 0 && index < potentials.Count) { return potentials[index]; } return null; } } public void UpdatePotentialLevel(int _potentialId, int _level) { for (int i = 0; i < potentials.Count; i++) System/Treasure/TreasureLevelUpWin.cs
@@ -58,6 +58,8 @@ [SerializeField] FairyTreasureCollectPanel m_TreasureFairyBehaviour; [SerializeField] RectTransform m_ContainerSelect; [SerializeField] Image m_LeftRedpoint; [SerializeField] Image m_RightRedpoint; [SerializeField] Button m_LeftBtn; [SerializeField] Button m_RightBtn; [SerializeField] Button m_BackBtn; @@ -342,6 +344,11 @@ m_RightBtn.gameObject.SetActive(_leftRifht != null); _leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure - 1); m_LeftBtn.gameObject.SetActive(_leftRifht != null); var skillLevelUpRedpointTreasure = model.GetSkillLevelUpRedpointTreasure(); m_LeftRedpoint.gameObject.SetActive(skillLevelUpRedpointTreasure != 0 && model.selectedTreasure > skillLevelUpRedpointTreasure && model.currentCategory == TreasureCategory.Human); m_RightRedpoint.gameObject.SetActive(skillLevelUpRedpointTreasure != 0 && model.selectedTreasure < skillLevelUpRedpointTreasure && model.currentCategory == TreasureCategory.Human); } private void HideHuman() @@ -1196,6 +1203,14 @@ UpdateLevelUpSfx(false); } } if (_id == TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Human - 1]) { var skillLevelUpRedpointTreasure = model.GetSkillLevelUpRedpointTreasure(); m_LeftRedpoint.gameObject.SetActive(skillLevelUpRedpointTreasure != 0 && model.selectedTreasure > skillLevelUpRedpointTreasure && model.currentCategory == TreasureCategory.Human); m_RightRedpoint.gameObject.SetActive(skillLevelUpRedpointTreasure != 0 && model.selectedTreasure < skillLevelUpRedpointTreasure && model.currentCategory == TreasureCategory.Human); } } protected override void LateUpdate() System/Treasure/TreasureModel.cs
@@ -662,10 +662,7 @@ { potentialLevelChangeEvent(key, config.SkillTypeID); } if (FuncOpen.Instance.IsFuncOpen(82)) { UpdateSkillLevelUpRedpoint(treasure.id); } UpdateSkillLevelUpRedpoints(); break; } } @@ -819,14 +816,102 @@ private void UpdateSkillLevelUpRedpoints() { var list = GetTreasureCategory(TreasureCategory.Human); for (int i = 0; i < list.Count; i++) { var id = list[i]; if (treasures[id].skillLevelUpRedpoint != null) { treasures[id].skillLevelUpRedpoint.state = RedPointState.None; } } var functionOpen = FuncOpen.Instance.IsFuncOpen(82); if (functionOpen) { foreach (var id in treasures.Keys) for (int k = 0; k < 3; k++) { UpdateSkillLevelUpRedpoint(id); for (int i = 0; i < list.Count; i++) { var treasure = treasures[list[i]]; if (k < treasure.potentials.Count) { var potential = treasure.potentials[k]; Item item; if (SatisfyLevelUpUnlock(list[i], k) && SatisyPotentialLevelUp(list[i], potential.id, out item)) { treasure.skillLevelUpRedpoint.state = RedPointState.Simple; treasure.autoSelectPotential = k; return; } } } } int minCostTreasure = 0; int minCostPotentialIndex = 0; int minCostItemColor = 0; int minCostItemCount = 0; bool step = false; for (int i = 0; i < list.Count; i++) { var treasure = treasures[list[i]]; if (treasure.state != TreasureState.Collected || !treasure.IsHighestStage) { continue; } for (int k = 0; k < treasure.potentials.Count; k++) { Item item; if (SatisyPotentialLevelUp(treasure.id, treasure.potentials[k].id, out item)) { if (item.id != 0) { var itemConfig = Config.Instance.Get<ItemConfig>(item.id); var itemColor = itemConfig.ItemColor; if (minCostItemColor == 0 || itemColor < minCostItemColor || (itemColor == minCostItemColor && minCostItemCount < item.count)) { minCostItemColor = itemColor; minCostItemCount = item.count; minCostTreasure = treasure.id; minCostPotentialIndex = k; } } else { minCostTreasure = treasure.id; minCostPotentialIndex = k; step = true; break; } } } if (step) { break; } } if (minCostTreasure != 0) { treasures[minCostTreasure].skillLevelUpRedpoint.state = RedPointState.Simple; treasures[minCostTreasure].autoSelectPotential = minCostPotentialIndex; } } } public int GetSkillLevelUpRedpointTreasure() { var list = GetTreasureCategory(TreasureCategory.Human); for (int i = 0; i < list.Count; i++) { var treasure = treasures[list[i]]; if (treasure.skillLevelUpRedpoint != null && treasure.skillLevelUpRedpoint.state == RedPointState.Simple) { return list[i]; } } return 0; } private void UpdateAchievementRedpoints() @@ -927,34 +1012,47 @@ WindowCenter.Instance.Open<TreasureNewGotWin>(); } private void UpdateSkillLevelUpRedpoint(int _treasureId) public bool SatisfyLevelUpUnlock(int treasureId, int index) { if (treasures.ContainsKey(_treasureId)) if (treasures.ContainsKey(treasureId)) { var treasure = treasures[_treasureId]; if (treasure.skillLevelUpRedpoint == null) { return; } var anyPointialLevelupAble = false; var treasure = treasures[treasureId]; if (treasure.state == TreasureState.Collected && treasure.IsHighestStage) { for (int i = 0; i < treasure.potentials.Count; i++) if (index >= 0 && index < treasure.potentials.Count - 1) { var potential = treasure.potentials[i]; if (SatisyPotentialLevelUp(treasure.id, potential.id)) var potential = treasure.potentials[index]; var nextPotential = treasure.potentials[index + 1]; var skillConfig = Config.Instance.Get<SkillConfig>(nextPotential.id); if (skillConfig.LearnSkillReq > 0) { anyPointialLevelupAble = true; break; if (potential.level < skillConfig.LearnSkillLV) { return true; } } } else if (index == treasure.potentials.Count - 1) { var potential = treasure.GetPotentialByIndex(index); var config = Config.Instance.Get<SkillConfig>(potential.id); int[] _getSkillArray; if (TryGetPotentialGetSkill(config.SkillTypeID, out _getSkillArray)) { if (potential.level < _getSkillArray[0]) { return true; } } } } treasure.skillLevelUpRedpoint.state = anyPointialLevelupAble ? RedPointState.Simple : RedPointState.None; } return false; } public bool SatisyPotentialLevelUp(int treasureId, int potentialId) public bool SatisyPotentialLevelUp(int treasureId, int potentialId, out Item item) { item = default(Item); var treasure = treasures[treasureId]; var potential = treasure.GetPotential(potentialId); if (potential == null) @@ -1010,6 +1108,11 @@ var own = packageModel.GetItemCountByID(PackType.rptItem, itemId); if (own >= treasureSkillConfig.MeterialNum2[j]) { item = new Item() { id = itemId, count = treasureSkillConfig.MeterialNum2[j], }; return true; } } System/Treasure/TreasurePotentialPanel.cs
@@ -34,6 +34,7 @@ [SerializeField] Button m_RemoveBook; [SerializeField] ImageEx m_UpgradeImage; [SerializeField] Button m_Upgrade; [SerializeField] Image m_LevelUpRed; [SerializeField] UIEffect m_FailureEffect; @@ -94,6 +95,9 @@ DisplayUpgradeCost(); DisplayGetSkill(); DisplaySuccessRatio(); m_LevelUpRed.gameObject.SetActive(m_Treasure.id == model.GetSkillLevelUpRedpointTreasure() && m_Treasure.GetPotentialByIndex(m_Treasure.autoSelectPotential).id == selectedPotential); } else { @@ -142,14 +146,26 @@ } } for (int i = 0; i < m_Treasure.potentials.Count; i++) if (m_Treasure.skillLevelUpRedpoint.state == RedPointState.Simple) { if (model.SatisyPotentialLevelUp(_treasure.id, m_Treasure.potentials[i].id)) if (m_Treasure.autoSelectPotential < m_Treasure.potentials.Count) { _index = i; break; _index = m_Treasure.autoSelectPotential; } } else { for (int i = 0; i < m_Treasure.potentials.Count; i++) { Item item; if (model.SatisyPotentialLevelUp(_treasure.id, m_Treasure.potentials[i].id, out item)) { _index = i; break; } } } selectedPotential = m_Treasure.potentials[_index].id; @@ -272,6 +288,8 @@ if (m_Treasure != null && _id == m_Treasure.skillLevelUpRedpoint.id) { DisplayAddBookRedpoint(); m_LevelUpRed.gameObject.SetActive(m_Treasure.id == model.GetSkillLevelUpRedpointTreasure() && m_Treasure.GetPotentialByIndex(m_Treasure.autoSelectPotential).id == selectedPotential); } } @@ -615,7 +633,8 @@ m_AddBookRedpoint.gameObject.SetActive(false); return; } bool levelUpHighSuccess = model.SatisyPotentialLevelUp(model.selectedTreasure, model.selectedPotential); Item item; bool levelUpHighSuccess = model.SatisyPotentialLevelUp(model.selectedTreasure, model.selectedPotential, out item); m_AddBookRedpoint.gameObject.SetActive(levelUpHighSuccess); } System/TreasureFindHost/TreasureFindHostModel.cs
@@ -145,7 +145,7 @@ ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptEquip,condi[3]); if(itemModel != null) { if(specEquipIds != null && specEquipIds.Contains(condi[3])) if(specEquipIds != null && specEquipIds.Contains(itemModel.itemId)) { progress += 1; return true; System/Vip/LimitedTimePackageModel.cs
@@ -20,10 +20,6 @@ OpenServerActivityCenter.Instance.Register(7, this); OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent; } public bool IsShowPanel = false; private const int Redpoint_key1 = 20907; public Redpoint redPointStre1 = new Redpoint(209, Redpoint_key1);//限时礼包红点 public bool IsOpen @@ -52,7 +48,6 @@ public void OnBeforePlayerDataInitialize() { IsShowPanel = false; DicBuyPackage.Clear(); } public override void UnInit() @@ -63,9 +58,13 @@ { OperationTimeHepler.Instance.operationStartEvent -= operationStartEvent; OperationTimeHepler.Instance.operationStartEvent += operationStartEvent; OperationTimeHepler.Instance.operationAdvanceEvent -= operationAdvanceEvent; OperationTimeHepler.Instance.operationAdvanceEvent += operationAdvanceEvent; IsShowTip(); } private void operationStartEvent(Operation arg1, int arg2) { @@ -78,7 +77,17 @@ } } } private void operationAdvanceEvent(Operation obj) { if (obj == Operation.GiftPackage) { // IsShowTip(); if (onStateUpate != null) { onStateUpate(7); } } } private void OperationEndEvent(Operation arg1, int arg2) { if (arg1 == Operation.GiftPackage && arg2 == 0) @@ -92,13 +101,16 @@ public void IsShowTip() { if (OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage)) { return; } int GetDayOfYear = DateTime.Now.DayOfYear; int day = LocalSave.GetInt("IsOpenLimitedTime"); bool Isbool = IsExpired(); if (day != GetDayOfYear && IsExpired()) { LocalSave.SetInt("IsOpenLimitedTime", GetDayOfYear); IsShowPanel = true; // LocalSave.SetInt("IsOpenLimitedTime", GetDayOfYear); redPointStre1.state = RedPointState.Simple; } else @@ -143,7 +155,7 @@ public bool IsExpired() { bool IsBool = false; IsBool =(OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage)|| OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage)); IsBool = (OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage) || OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage)); bool IsBuyBool = false; OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase)) System/Vip/LimitedTimePackageTime.cs
@@ -7,9 +7,11 @@ using UnityEngine.UI; using System; namespace Snxxz.UI { namespace Snxxz.UI { public class LimitedTimePackageTime:MonoBehaviour { public class LimitedTimePackageTime : MonoBehaviour { [SerializeField] TimerBehaviour m_Time; [SerializeField] RectTransform m_ContainerAdvance; @@ -83,7 +85,7 @@ void DisplayTime(int seconds) { m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red); m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond)); m_Time.Begin(seconds); } void DisplayAdvance(int seconds) { System/Vip/LimitedTimePackageWin.cs
@@ -58,9 +58,10 @@ protected override void OnAfterOpen() { if (limitedTimePackageItemModel.IsShowPanel) if (limitedTimePackageItemModel.redPointStre1.state == RedPointState.Simple) { limitedTimePackageItemModel.IsShowPanel = false; int GetDayOfYear = DateTime.Now.DayOfYear; LocalSave.SetInt("IsOpenLimitedTime", GetDayOfYear); limitedTimePackageItemModel.IsShowTip(); } System/Welfare/OperationBase.cs
@@ -90,6 +90,10 @@ { return time.Hour < DayResetHour; } if (indexOfDays < totalDays) { return true; } break; } return false; System/Welfare/OperationTimeHepler.cs
@@ -310,6 +310,7 @@ operation.startDate = ParseOperationDate(package.StartDate); operation.endDate = ParseOperationDate(package.EndtDate); operation.limitLv = package.LimitLV; operation.resetType = package.ResetType; if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(Operation.FairyCeremony); System/WindowJump/WindowJumpMgr.cs
@@ -46,7 +46,7 @@ TrialDungeonModel trialDungeonModel { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } } ImpactRankModel rankModel { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } } ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } } MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } } public bool IsJumpState { get; private set; } public int jumpPhase { get; private set;} public int jumpType { get; private set; } @@ -87,263 +87,8 @@ public void WindowJumpTo(JumpUIType jumpType) { _tagWinSearchModel = Config.Instance.Get<WindowSearchConfig>((int)jumpType); if (_tagWinSearchModel == null) { return; } if (!FuncOpen.Instance.IsFuncOpen(_tagWinSearchModel.Lv) && _tagWinSearchModel.Lv != 0) { FuncOpen.Instance.ProcessorFuncErrorTip(_tagWinSearchModel.Lv); return; } switch (jumpType) { case JumpUIType.UnionFunc1: case JumpUIType.UnionFunc2: case JumpUIType.UnionWarehouse: case JumpUIType.UnionHall: case JumpUIType.UnionTask: case JumpUIType.UnionTask2: case JumpUIType.UnionActive1: case JumpUIType.UnionActive2: case JumpUIType.UnionBoss: if (!PlayerDatas.Instance.fairyData.HasFairy) { SysNotifyMgr.Instance.ShowTip("DailyQuestwinUnionLimit"); return; } break; case JumpUIType.UnionMethod: if (!fairyModel.fairyMethodToOpen) { fairyModel.ProcessMethodToErrorTip(); return; } break; case JumpUIType.UnionStore: if (!fairyModel.fairyStoreOpen) { fairyModel.ProcessErrorTip(); return; } break; case JumpUIType.TreasureFindHostFunc1: case JumpUIType.TreasureFindHostFunc2: case JumpUIType.TreasureFindHostFunc3: case JumpUIType.TreasureFindHostFunc1Type2: case JumpUIType.TreasureFindHostFunc2Type2: case JumpUIType.TreasureFindHostFunc3Type2: bool isUnlock = hostModel.IsUnlockTreasure(int.Parse(_tagWinSearchModel.SelectActive)); if (!isUnlock) { hostModel.jumpTreasureId = 0; return; } break; case JumpUIType.FirstRecharge: var model = ModelCenter.Instance.GetModel<VipModel>(); if (model.firstChargeRewardGet) { model.AreadyGetFirstRecharge(); return; } break; case JumpUIType.XMZZBattle: case JumpUIType.AncientBattle: case JumpUIType.IceCrystal: case JumpUIType.FairyLand: DailyQuestConfig dailyConfig = Config.Instance.Get<DailyQuestConfig>(_tagWinSearchModel.SelectActive); if (dailyQuestModel.GetQuestState(dailyConfig.ID) != DailyQuestModel.DailyQuestState.Normal) { SysNotifyMgr.Instance.ShowTip("FBIsNotOpen"); return; } break; case JumpUIType.PlotTaskFunc3: var taskmodel = ModelCenter.Instance.GetModel<PlayerTaskDatas>(); if (taskmodel.SideQuestsDic.Count < 1) { SysNotifyMgr.Instance.ShowTip("SideQuest_None"); return; } break; case JumpUIType.PrayforDrug: var prayModel = ModelCenter.Instance.GetModel<PrayForDurgModel>(); if(!prayModel.CheckPrayDrugIsOpen()) { return; } break; case JumpUIType.FaBaoSoul_BenYuan: case JumpUIType.FaBaoSoul_FengMo: case JumpUIType.FaBaoSoul_Strength: case JumpUIType.FaBaoSoul_Rune: case JumpUIType.FaBaoSoul_Mount: case JumpUIType.FaBaoSoul_Pet: case JumpUIType.FaBaoSoul_Boss: case JumpUIType.FaBaoSoul_Wings: case JumpUIType.FaBaoSoul_Suit: case JumpUIType.FaBaoSoul_Wash: var soulId = 0; if (int.TryParse(_tagWinSearchModel.SelectActive, out soulId)) { var soulModel = ModelCenter.Instance.GetModel<TreasureSoulModel>(); if (!soulModel.IsOpenTreasureSoul(soulId)) { return; } } else { return; } break; case JumpUIType.TrialExchange: if (!trialDungeonModel.CompleteTrialFloor(0)) { trialDungeonModel.ProcessOpenTrialExchangeError(); return; } break; case JumpUIType.Kylin: case JumpUIType.Kylin1: case JumpUIType.Kylin2: case JumpUIType.Kylin3: case JumpUIType.Kylin4: case JumpUIType.Kylin5: case JumpUIType.Kylin6: if (!FuncOpen.Instance.IsFuncOpen(85)) { FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.Kylin); return; } break; case JumpUIType.OpenServerMountRank: var type = int.Parse(_tagWinSearchModel.SelectActive); if (rankModel.IsLock(type)) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return; } if (TimeUtility.OpenDay >= rankModel.openServerActivityDays) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return; } break; case JumpUIType.FlashSale: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.FlashSale); return; } } break; case JumpUIType.ConsumreRebate: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.ConsumeRebate); return; } } break; case JumpUIType.LimitedTimePackage: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.GiftPackage); return; } } break; case JumpUIType.BossReborn: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.BossReborn); return; } } break; case JumpUIType.VipRechargeFunc3: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { ModelCenter.Instance.GetModel<FairyJadeInvestmentModel>().MessageNotification(); return; } } break; case JumpUIType.VipRechargeFunc5: if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { return; } break; case JumpUIType.OpenServerRank: case JumpUIType.OSTimeLimitGift: case JumpUIType.OpenServerActivityFunc2_1: case JumpUIType.OpenServerActivityFunc2_2: if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return; } break; case JumpUIType.OpenServerGift1: case JumpUIType.OpenServerGift2: case JumpUIType.OpenServerGift3: var giftModel = ModelCenter.Instance.GetModel<OSGiftModel>(); int giftId = 0; int.TryParse(_tagWinSearchModel.SelectActive, out giftId); if (!giftModel.CheckActivate()) { if (PlayerDatas.Instance.baseData.coinPointTotal <= 0 || !ModelCenter.Instance.GetModel<VipModel>().firstChargeRewardGet) { SysNotifyMgr.Instance.ShowTip("GiftNoOpen"); } else if (giftModel.IsGiftBuy(giftId)) { SysNotifyMgr.Instance.ShowTip("GiftAlreadyBuy"); } else if (giftModel.IsGiftOverdue(giftId)) { SysNotifyMgr.Instance.ShowTip("MissSell"); } return; } break; case JumpUIType.OpenServerGift: return; case JumpUIType.EquipCompose1: case JumpUIType.EquipCompose2: case JumpUIType.EquipCompose3: case JumpUIType.EquipCompose4: case JumpUIType.ComposeTicketFairy: case JumpUIType.ComposeTicketGod: case JumpUIType.ComposeTicketIce: int[] types = ConfigParse.GetMultipleStr<int>(_tagWinSearchModel.SelectActive); if (types.Length > 0) { if (!composeModel.CheckIsComposeByType(_tagWinSearchModel.TABID+1,types[0],types[1])) { return; } } break; } if (!CheckIsJump(jumpType)) return; DebugEx.Log("WindowJumpTo" + jumpType); GetPreAllOpenWin(); #region 条件判段 switch (jumpType) { @@ -773,6 +518,12 @@ dungeonModel.selectedTrialDungeon = dungeon; SetJumpLogic<TrialDungeonEntranceWin>(_tagWinSearchModel.TABID); break; case JumpUIType.CeremonyRecharge: case JumpUIType.CeremonyFire: case JumpUIType.CeremonyPeopleToHi: case JumpUIType.CeremonyOutof: SetJumpLogic<FairylandCeremonyWin>(_tagWinSearchModel.TABID); break; case JumpUIType.FaBaoSoul_BenYuan: case JumpUIType.FaBaoSoul_FengMo: case JumpUIType.FaBaoSoul_Strength: @@ -845,6 +596,286 @@ } private bool CheckIsJump(JumpUIType jumpType) { _tagWinSearchModel = Config.Instance.Get<WindowSearchConfig>((int)jumpType); if (_tagWinSearchModel == null) { return false; } if (!FuncOpen.Instance.IsFuncOpen(_tagWinSearchModel.Lv) && _tagWinSearchModel.Lv != 0) { FuncOpen.Instance.ProcessorFuncErrorTip(_tagWinSearchModel.Lv); return false; } switch (jumpType) { case JumpUIType.UnionFunc1: case JumpUIType.UnionFunc2: case JumpUIType.UnionWarehouse: case JumpUIType.UnionHall: case JumpUIType.UnionTask: case JumpUIType.UnionTask2: case JumpUIType.UnionActive1: case JumpUIType.UnionActive2: case JumpUIType.UnionBoss: if (!PlayerDatas.Instance.fairyData.HasFairy) { SysNotifyMgr.Instance.ShowTip("DailyQuestwinUnionLimit"); return false; } break; case JumpUIType.UnionMethod: if (!fairyModel.fairyMethodToOpen) { fairyModel.ProcessMethodToErrorTip(); return false; } break; case JumpUIType.UnionStore: if (!fairyModel.fairyStoreOpen) { fairyModel.ProcessErrorTip(); return false; } break; case JumpUIType.BigMap: if (!mapModel.CanOpenLocalMapWin(PlayerDatas.Instance.baseData.MapID)) { SysNotifyMgr.Instance.ShowTip("MapInfo1"); return false; } break; case JumpUIType.TreasureFindHostFunc1: case JumpUIType.TreasureFindHostFunc2: case JumpUIType.TreasureFindHostFunc3: case JumpUIType.TreasureFindHostFunc1Type2: case JumpUIType.TreasureFindHostFunc2Type2: case JumpUIType.TreasureFindHostFunc3Type2: bool isUnlock = hostModel.IsUnlockTreasure(int.Parse(_tagWinSearchModel.SelectActive)); if (!isUnlock) { hostModel.jumpTreasureId = 0; return false; } break; case JumpUIType.FirstRecharge: var model = ModelCenter.Instance.GetModel<VipModel>(); if (model.firstChargeRewardGet) { model.AreadyGetFirstRecharge(); return false; } break; case JumpUIType.XMZZBattle: case JumpUIType.AncientBattle: case JumpUIType.IceCrystal: case JumpUIType.FairyLand: DailyQuestConfig dailyConfig = Config.Instance.Get<DailyQuestConfig>(_tagWinSearchModel.SelectActive); if (dailyQuestModel.GetQuestState(dailyConfig.ID) != DailyQuestModel.DailyQuestState.Normal) { SysNotifyMgr.Instance.ShowTip("FBIsNotOpen"); return false; } break; case JumpUIType.PlotTaskFunc3: var taskmodel = ModelCenter.Instance.GetModel<PlayerTaskDatas>(); if (taskmodel.SideQuestsDic.Count < 1) { SysNotifyMgr.Instance.ShowTip("SideQuest_None"); return false; } break; case JumpUIType.PrayforDrug: var prayModel = ModelCenter.Instance.GetModel<PrayForDurgModel>(); if (!prayModel.CheckPrayDrugIsOpen()) { return false; } break; case JumpUIType.FaBaoSoul_BenYuan: case JumpUIType.FaBaoSoul_FengMo: case JumpUIType.FaBaoSoul_Strength: case JumpUIType.FaBaoSoul_Rune: case JumpUIType.FaBaoSoul_Mount: case JumpUIType.FaBaoSoul_Pet: case JumpUIType.FaBaoSoul_Boss: case JumpUIType.FaBaoSoul_Wings: case JumpUIType.FaBaoSoul_Suit: case JumpUIType.FaBaoSoul_Wash: var soulId = 0; if (int.TryParse(_tagWinSearchModel.SelectActive, out soulId)) { var soulModel = ModelCenter.Instance.GetModel<TreasureSoulModel>(); if (!soulModel.IsOpenTreasureSoul(soulId)) { return false; } } else { return false; } break; case JumpUIType.TrialExchange: if (!trialDungeonModel.CompleteTrialFloor(0)) { trialDungeonModel.ProcessOpenTrialExchangeError(); return false; } break; case JumpUIType.Kylin: case JumpUIType.Kylin1: case JumpUIType.Kylin2: case JumpUIType.Kylin3: case JumpUIType.Kylin4: case JumpUIType.Kylin5: case JumpUIType.Kylin6: if (!FuncOpen.Instance.IsFuncOpen(85)) { FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.Kylin); return false; } break; case JumpUIType.OpenServerMountRank: var type = int.Parse(_tagWinSearchModel.SelectActive); if (rankModel.IsLock(type)) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return false; } if (TimeUtility.OpenDay >= rankModel.openServerActivityDays) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return false; } break; case JumpUIType.FlashSale: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.FlashSale); return false; } } break; case JumpUIType.ConsumreRebate: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.ConsumeRebate); return false; } } break; case JumpUIType.LimitedTimePackage: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.GiftPackage); return false; } } break; case JumpUIType.BossReborn: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.BossReborn); return false; } } break; case JumpUIType.VipRechargeFunc3: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { ModelCenter.Instance.GetModel<FairyJadeInvestmentModel>().MessageNotification(); return false; } } break; case JumpUIType.VipRechargeFunc5: if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { return false; } break; case JumpUIType.OpenServerRank: case JumpUIType.OSTimeLimitGift: case JumpUIType.OpenServerActivityFunc2_1: case JumpUIType.OpenServerActivityFunc2_2: if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return false; } break; case JumpUIType.OpenServerGift1: case JumpUIType.OpenServerGift2: case JumpUIType.OpenServerGift3: var giftModel = ModelCenter.Instance.GetModel<OSGiftModel>(); int giftId = 0; int.TryParse(_tagWinSearchModel.SelectActive, out giftId); if (!giftModel.CheckActivate()) { if (PlayerDatas.Instance.baseData.coinPointTotal <= 0 || !ModelCenter.Instance.GetModel<VipModel>().firstChargeRewardGet) { SysNotifyMgr.Instance.ShowTip("GiftNoOpen"); } else if (giftModel.IsGiftBuy(giftId)) { SysNotifyMgr.Instance.ShowTip("GiftAlreadyBuy"); } else if (giftModel.IsGiftOverdue(giftId)) { SysNotifyMgr.Instance.ShowTip("MissSell"); } return false; } break; case JumpUIType.OpenServerGift: return false; case JumpUIType.EquipCompose1: case JumpUIType.EquipCompose2: case JumpUIType.EquipCompose3: case JumpUIType.EquipCompose4: case JumpUIType.ComposeTicketFairy: case JumpUIType.ComposeTicketGod: case JumpUIType.ComposeTicketIce: int[] types = ConfigParse.GetMultipleStr<int>(_tagWinSearchModel.SelectActive); if (types.Length > 0) { if (!composeModel.CheckIsComposeByType(_tagWinSearchModel.TABID + 1, types[0], types[1])) { return false; } } break; case JumpUIType.CeremonyRecharge: case JumpUIType.CeremonyFire: case JumpUIType.CeremonyPeopleToHi: case JumpUIType.CeremonyOutof: if (!OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.FairyCeremony)) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return false; } break; } return true; } private void CheckJumpWin<T>(int _functionalOrder = 0, bool _forceSync = true) where T : Window { string curOpenWin = typeof(T).Name; } private void GotoNormalDungeon(int _dailyQuestId, int _lineId = 0) { var config = Config.Instance.Get<DailyQuestConfig>(_dailyQuestId); @@ -879,26 +910,20 @@ SetJumpLogic<MultipleDifficultyDungeonWin>(0); } private void SetJumpLogic<T>(int _functionalOrder = 0, bool _forceSync = true) where T : Window { string curOpenWin = typeof(T).Name; if(jumpWinNameDict.ContainsKey(jumpPhase - 1)) if (WindowCenter.Instance.IsOpen(curOpenWin)) { if(jumpWinNameDict[jumpPhase - 1] != curOpenWin) { jumpWinNameDict.Add(jumpPhase, curOpenWin); } else { openWindows[jumpPhase].Clear(); jumpPhase -= 1; } Window window = WindowCenter.Instance.Get(curOpenWin); window.functionOrder = _functionalOrder; window.ChildActive(); return; } else { jumpWinNameDict.Add(jumpPhase, curOpenWin); } GetPreAllOpenWin(); jumpWinNameDict.Add(jumpPhase, curOpenWin); jumpType = _tagWinSearchModel.Type; switch (_tagWinSearchModel.Type) { @@ -950,6 +975,10 @@ case 1: case 4: openWinlist = openWindows[jumpPhase]; if(openWinlist.Contains(obj.name)) { openWinlist.Remove(obj.name); } WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.SystemAndCustom); for (i = 0; i < openWinlist.Count; i++) { @@ -997,6 +1026,10 @@ break; case 2: openWinlist = openWindows[1]; if (openWinlist.Contains(obj.name)) { openWinlist.Remove(obj.name); } WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.SystemAndCustom); if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>()) { @@ -1108,6 +1141,7 @@ //Match curMatch = regex.Match("4**(abc)?789Y0649"); } } @@ -1330,6 +1364,10 @@ EquipCompose2 = 236, //装备合成-龙魂红三 EquipCompose3 = 237, //装备合成-灵瑶红二 EquipCompose4 = 238, //装备合成-灵瑶红三 CeremonyRecharge = 244, //仙界盛典充值大礼界面 CeremonyFire = 245, //仙界盛典烟花狂欢界面 CeremonyPeopleToHi = 246, //仙界盛典全民来嗨界面 CeremonyOutof = 247, //仙界盛典绝版降临界面 DhszTs = 1001,//定海神针功法提升界面 HyqTs = 1002,//皓月枪功法提升界面 GyzTs = 1003,//鬼牙刃功法提升界面 System/WorldMap/MapModel.cs
@@ -293,6 +293,21 @@ return null; } public bool CanOpenLocalMapWin(int mapId) { var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(); var config = Config.Instance.Get<MapConfig>(mapId); if (string.IsNullOrEmpty(mapResConfig.BigMap) || mapId == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON) { return false; } else { return true; } } public int GetRecommendHangPoint(int _mapId) { var eventPoints = new List<int>(GetMapEventPoints(_mapId)); UI/Common/TimerBehaviour.cs
@@ -22,11 +22,11 @@ float secondTimer = 0f; public void Begin(DateTime _endTime, Action _callBack = null) public void Begin(int seconds, Action _callBack = null) { endTime = _endTime; endTime = TimeUtility.ServerNow + new TimeSpan(seconds * TimeSpan.TicksPerSecond); onTime = _callBack; if (endTime > DateTime.Now) if (endTime > TimeUtility.ServerNow) { this.gameObject.SetActive(true); UpdateTimeShow(); @@ -46,7 +46,7 @@ private void LateUpdate() { if (DateTime.Now > endTime) if (TimeUtility.ServerNow > endTime) { if (onTime != null) { @@ -69,7 +69,7 @@ protected virtual void UpdateTimeShow() { var lastSecond = (float)(endTime - DateTime.Now).TotalSeconds; var lastSecond = (float)(endTime - TimeUtility.ServerNow).TotalSeconds; switch (m_Pattern) { UI/HUD/HeadUpName.cs
@@ -152,12 +152,12 @@ { return; } m_AncientKing.gameObject.SetActive(isAncientKing); if (isAncientKing) { m_AncientKing.SetSprite("IntegralKing"); m_AncientKing.SetNativeSize(); } //m_AncientKing.gameObject.SetActive(isAncientKing); //if (isAncientKing) //{ // m_AncientKing.SetSprite("IntegralKing"); // m_AncientKing.SetNativeSize(); //} } public void SetAncientEnemy(bool isAncientEnemy) @@ -166,12 +166,12 @@ { return; } m_AncientEnemy.gameObject.SetActive(isAncientEnemy); if (isAncientEnemy) { m_AncientEnemy.SetSprite("Enemy"); m_AncientEnemy.SetNativeSize(); } //m_AncientEnemy.gameObject.SetActive(isAncientEnemy); //if (isAncientEnemy) //{ // m_AncientEnemy.SetSprite("Enemy"); // m_AncientEnemy.SetNativeSize(); //} } public void SetAlliance(string _alliance) @@ -305,7 +305,7 @@ { m_RebornTime.gameObject.SetActive(true); (m_TimeBehaviour as TimerToChsBehaviour).addtionInfo = Language.Get("BossReborn_RefreshTime"); m_TimeBehaviour.Begin(_bossInfo.refreshTime, () => m_TimeBehaviour.Begin( (int)(_bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds, () => { m_NpcAppearTxt.gameObject.SetActive(true); }); Utility/EnumHelper.cs
@@ -669,12 +669,18 @@ MakerEquipSuitMat = 34, //装备套装材料 ComposeSuitStone = 35, //套装石碎片 WingsMat = 39, //合成翅膀材料,羽翼精炼材料 DogzStrengthMat = 70, //提供神兽装备强化的经验 VipTools = 80, //vip道具 Box = 81, //宝箱 Necklaces = 108, //项链 FairyEquip = 109, //仙器 Wings = 111, //翅膀 SpiritAnimal = 112, //灵守 DogzEquipType1 = 119, //神兽装备兽角 DogzEquipType2 = 120, //神兽装备魔眼 DogzEquipType3 = 121, //神兽装备獠牙 DogzEquipType4 = 122, //神兽装备兽爪 DogzEquipType5 = 123, //神兽装备鳞甲 } /** 值为列表形式,枚举值是单数 */ Utility/RuntimeLogUtility.cs
@@ -16,6 +16,7 @@ public static bool s_UseKeyBoardCastSkill = false; public static bool s_LogMoveDistance = false; public static bool s_SkillEffectLog = false; public static bool s_ShowMapLine = false; public static bool s_forceAutoFight { get @@ -203,7 +204,8 @@ RuntimeLogUtility.s_forceAutoFight = EditorGUILayout.Toggle("是否强制开启AI", RuntimeLogUtility.s_forceAutoFight); RuntimeLogUtility.s_SkillEffectLog = EditorGUILayout.Toggle("技能效果log输出", RuntimeLogUtility.s_SkillEffectLog); RuntimeLogUtility.s_LogMoveDistance = EditorGUILayout.Toggle("位移距离Log输出", RuntimeLogUtility.s_LogMoveDistance); RuntimeLogUtility.s_ShowMapLine = EditorGUILayout.Toggle("显示地图网格", RuntimeLogUtility.s_ShowMapLine); _navChkPos = EditorGUILayout.Vector3Field("检测点", _navChkPos); if (GUILayout.Button("检测"))