From ae75d007b44ffbdeb1c7177af804ad6fa907bb13 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期一, 20 八月 2018 19:44:37 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/BetterItemGet/RealmBetterEquipModel .cs | 221 +++++++++++++++++++++++++++++++
System/KnapSack/Logic/PackModelInterface.cs | 41 +++++
Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs | 9 -
System/BetterItemGet/RealmBetterEquipModel .cs.meta | 12 +
System/MainInterfacePanel/InGamePushContainer.cs | 26 +++
System/WindowBase/ModelCenter.cs | 1
System/KnapSack/RealmBetterEquipBehaviour.cs | 92 +++++++++++++
System/KnapSack/RealmBetterEquipBehaviour.cs.meta | 12 +
8 files changed, 404 insertions(+), 10 deletions(-)
diff --git a/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs b/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
index 5dcd2fb..4bbdb37 100644
--- a/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
+++ b/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
@@ -553,15 +553,6 @@
private void ExcuteBuildLevels()
{
UpdateLevelSetting.SetAllLevelAssetBundleName();
-
- var grachicSettings = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/GraphicsSettings.asset")[0]);
- var lightmapStripping = grachicSettings.FindProperty("m_LightmapStripping");
- lightmapStripping.intValue = 1;
- var fogStripping = grachicSettings.FindProperty("m_FogStripping");
- fogStripping.intValue = 1;
-
- grachicSettings.ApplyModifiedProperties();
-
ExcuteBuildAsset("maps");
}
diff --git a/System/BetterItemGet/RealmBetterEquipModel .cs b/System/BetterItemGet/RealmBetterEquipModel .cs
new file mode 100644
index 0000000..57cf056
--- /dev/null
+++ b/System/BetterItemGet/RealmBetterEquipModel .cs
@@ -0,0 +1,221 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Saturday, January 20, 2018
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using System;
+using TableConfig;
+
+namespace Snxxz.UI
+{
+ public class RealmBetterEquipModel : Model, IBeforePlayerDataInitialize, ISwitchAccount,IPlayerLoginOk
+ {
+ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
+ PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } }
+
+ public string currentEquipGuid { get; private set; }
+
+ Dictionary<string, ItemModel> betterEquipModels = new Dictionary<string, ItemModel>();
+
+ public event Action showEquipRefreshEvent;
+ public const string RealmRecordKey = "RealmRecord";
+
+ public override void Init()
+ {
+ playerPack.RefreshPackAct += OnPackageRefresh;
+ playerPack.RefreshItemCountAct += OnPackageItemRefresh;
+ }
+
+ public override void UnInit()
+ {;
+ playerPack.RefreshPackAct -= OnPackageRefresh;
+ playerPack.RefreshItemCountAct -= OnPackageItemRefresh;
+ }
+
+ public void OnBeforePlayerDataInitialize()
+ {
+ currentEquipGuid = string.Empty;
+ betterEquipModels.Clear();
+ }
+
+ public void OnPlayerLoginOk()
+ {
+ LocalSave.SetInt(RealmRecordKey,PlayerDatas.Instance.baseData.realmLevel);
+ PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshRealm;
+ PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshRealm;
+ }
+
+ public void OnSwitchAccount()
+ {
+ currentEquipGuid = string.Empty;
+ }
+
+ private void RefreshRealm(PlayerDataRefresh type)
+ {
+ int realmLv = PlayerDatas.Instance.baseData.realmLevel;
+ if (type != PlayerDataRefresh.OfficialRank
+ || LocalSave.GetInt(RealmRecordKey) == realmLv
+ || NewBieCenter.Instance.inGuiding)
+ {
+ return;
+ }
+
+ LocalSave.SetInt(RealmRecordKey,realmLv);
+ Dictionary<int, ItemModel> pairs = modelInterface.CheckBetterEquipByRealm();
+ betterEquipModels.Clear();
+ currentEquipGuid = string.Empty;
+ foreach (var model in pairs.Values)
+ {
+ betterEquipModels[model.itemInfo.ItemGUID] = model;
+ currentEquipGuid = model.itemInfo.ItemGUID;
+ }
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+
+ public bool TryGetBetterEquip(string _guid, out ItemModel _equip)
+ {
+ return betterEquipModels.TryGetValue(_guid, out _equip);
+ }
+
+ public void ReportConfirmBetterEquip(string _guid)
+ {
+ betterEquipModels.Remove(_guid);
+
+ var tempGuid = GetOneEquip();
+ if (tempGuid != currentEquipGuid)
+ {
+ currentEquipGuid = tempGuid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+ }
+
+
+ private void OnPackageRefresh(PackType _packType)
+ {
+ if (_packType != PackType.rptItem)
+ {
+ return;
+ }
+
+ var keys = new List<string>(betterEquipModels.Keys);
+ for (int i = keys.Count - 1; i >= 0; i--)
+ {
+ var guid = keys[i];
+ var itemModel = playerPack.GetItemModelByGUID(guid);
+ if (itemModel == null || itemModel.packType != PackType.rptItem)
+ {
+ betterEquipModels.Remove(guid);
+ }
+ }
+
+ var tempGuid = GetOneEquip();
+ if (tempGuid != currentEquipGuid)
+ {
+ if (!string.IsNullOrEmpty(tempGuid))
+ {
+ currentEquipGuid = tempGuid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+ else
+ {
+ currentEquipGuid = tempGuid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+ }
+ }
+
+ private void OnPackageItemRefresh(PackType _packType, int _index, int _itemId)
+ {
+ if (_packType == PackType.rptEquip)
+ {
+ //绌夸笂瑁呭鐨勬椂鍊欑殑澶勭悊
+ var item = playerPack.GetItemModelByIndex(_packType, _index);
+ if (item != null)
+ {
+ RemoveLowGradeItemByEquipPlace(_index, item.equipScore);
+ }
+ OnPackageRefresh(PackType.rptItem);
+ }
+ else if (_packType == PackType.rptItem)
+ {
+ OnPackageRefresh(_packType);
+ }
+ }
+
+ private string GetOneEquip()
+ {
+ var guid = string.Empty;
+ foreach (var key in betterEquipModels.Keys)
+ {
+ guid = key;
+ break;
+ }
+
+ return guid;
+ }
+
+ private void RemoveItemByEquipPlace(int _place)
+ {
+ var place = _place == 10 ? 9 : _place;
+ var keys = new List<string>(betterEquipModels.Keys);
+ for (int i = keys.Count - 1; i >= 0; i--)
+ {
+ var item = betterEquipModels[keys[i]];
+ if (item != null && item.chinItemModel.EquipPlace == place)
+ {
+ betterEquipModels.Remove(keys[i]);
+ }
+ }
+ }
+
+ private void RemoveLowGradeItemByEquipPlace(int _place, int _score)
+ {
+ var place = _place == 10 ? 9 : _place;
+ var keys = new List<string>(betterEquipModels.Keys);
+ for (int i = keys.Count - 1; i >= 0; i--)
+ {
+ var item = betterEquipModels[keys[i]];
+ if (item != null && item.chinItemModel.EquipPlace == place && item.equipScore <= _score)
+ {
+ betterEquipModels.Remove(keys[i]);
+ }
+ }
+ }
+
+ private bool TryGetEquipByPlace(int _place, out ItemModel _itemModel)
+ {
+ var place = _place == 10 ? 9 : _place;
+ var keys = new List<string>(betterEquipModels.Keys);
+ for (int i = keys.Count - 1; i >= 0; i--)
+ {
+ var item = betterEquipModels[keys[i]];
+ if (item != null && item.chinItemModel.EquipPlace == place)
+ {
+ _itemModel = item;
+ return true;
+ }
+ }
+
+ _itemModel = null;
+ return false;
+ }
+ }
+
+}
+
+
+
diff --git a/System/BetterItemGet/RealmBetterEquipModel .cs.meta b/System/BetterItemGet/RealmBetterEquipModel .cs.meta
new file mode 100644
index 0000000..7f6f9b1
--- /dev/null
+++ b/System/BetterItemGet/RealmBetterEquipModel .cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 368f012abd3595c419a67d33f44153ea
+timeCreated: 1534755541
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/KnapSack/Logic/PackModelInterface.cs b/System/KnapSack/Logic/PackModelInterface.cs
index 6951495..f4e6205 100644
--- a/System/KnapSack/Logic/PackModelInterface.cs
+++ b/System/KnapSack/Logic/PackModelInterface.cs
@@ -7,7 +7,7 @@
namespace Snxxz.UI
{
- public class PackModelInterface : Model, IBeforePlayerDataInitialize
+ public class PackModelInterface : Model, IBeforePlayerDataInitialize,IPlayerLoginOk
{
private ItemConfig tagChinModel;
private FuncConfigConfig _equipGSFormula;
@@ -88,6 +88,12 @@
itemEffectCDDict.Clear();
itemEffectTimelist.Clear();
}
+
+ public void OnPlayerLoginOk()
+ {
+
+ }
+
public override void UnInit()
{
@@ -736,6 +742,39 @@
RefreshPickItemEvent(type,guid);
}
}
+
+ Dictionary<int, ItemModel> RealmBetterDict = new Dictionary<int, ItemModel>();
+ public Dictionary<int, ItemModel> CheckBetterEquipByRealm()
+ {
+ RealmBetterDict.Clear();
+ SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
+ if (singlePack == null) return RealmBetterDict;
+
+ int realmLv = PlayerDatas.Instance.baseData.realmLevel;
+ Dictionary<int,ItemModel> pairs = singlePack.GetPackModelIndexDict();
+ foreach(var model in pairs.Values)
+ {
+ if(model.chinItemModel.EquipPlace > 0
+ && model.chinItemModel.EquipPlace != (int)RoleEquipType.retSpiritAnimal
+ && model.chinItemModel.RealmLimit <= realmLv
+ && !IsOverdue(model.itemInfo.ItemGUID,model.itemId,model.useDataDict)
+ && IsFightUp(model.itemId,model.equipScore) == 1)
+ {
+ if(!RealmBetterDict.ContainsKey(model.EquipPlace))
+ {
+ RealmBetterDict.Add(model.EquipPlace,model);
+ }
+ else
+ {
+ if(model.equipScore > RealmBetterDict[model.EquipPlace].equipScore)
+ {
+ RealmBetterDict[model.EquipPlace] = model;
+ }
+ }
+ }
+ }
+ return RealmBetterDict;
+ }
#endregion
#region 瑙i攣鏍煎瓙
diff --git a/System/KnapSack/RealmBetterEquipBehaviour.cs b/System/KnapSack/RealmBetterEquipBehaviour.cs
new file mode 100644
index 0000000..cd712d6
--- /dev/null
+++ b/System/KnapSack/RealmBetterEquipBehaviour.cs
@@ -0,0 +1,92 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, December 05, 2017
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using TableConfig;
+using Snxxz.UI;
+
+namespace Snxxz.UI
+{
+
+ public class RealmBetterEquipBehaviour : MonoBehaviour
+ {
+ [SerializeField] RectTransform m_ContainerBetterEquip;
+ [SerializeField] ItemCell m_EquipBehaviour;
+ [SerializeField] Text m_EquipName;
+ [SerializeField] Button m_Close;
+ [SerializeField] Button m_Puton;
+ [SerializeField] Button m_BetterEquipDetail;
+ ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
+ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
+ RealmBetterEquipModel model { get { return ModelCenter.Instance.GetModel<RealmBetterEquipModel>(); } }
+
+ private void OnEnable()
+ {
+ m_Close.AddListener(CloseBetterEquip);
+ m_Puton.AddListener(PutOnBetterEquip);
+ m_BetterEquipDetail.AddListener(ShowBetterEquipDetails);
+ }
+
+ private void OnDisable()
+ {
+ m_Close.RemoveAllListeners();
+ m_Puton.RemoveAllListeners();
+ m_BetterEquipDetail.RemoveAllListeners();
+ }
+
+ public void ShowBetterEquip()
+ {
+ m_ContainerBetterEquip.gameObject.SetActive(false);
+ if (!string.IsNullOrEmpty(model.currentEquipGuid))
+ {
+ ItemModel betterEquip;
+ if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip))
+ {
+ DrawBetterEquip(betterEquip);
+ m_ContainerBetterEquip.gameObject.SetActive(true);
+ }
+
+ }
+ }
+
+ private void PutOnBetterEquip()
+ {
+ PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, model.currentEquipGuid);
+ model.ReportConfirmBetterEquip(model.currentEquipGuid);
+ }
+
+ private void ShowBetterEquipDetails()
+ {
+ ItemModel betterEquip;
+ if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip))
+ {
+ var itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(betterEquip.itemInfo.ItemID);
+ itemTipsModel.SetItemTipsModel(PackType.rptItem, betterEquip.itemInfo.ItemGUID);
+ }
+ }
+
+ private void CloseBetterEquip()
+ {
+ model.ReportConfirmBetterEquip(model.currentEquipGuid);
+ }
+
+ private void DrawBetterEquip(ItemModel betterModel)
+ {
+ var itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(betterModel.itemInfo.ItemID);
+ m_EquipName.text = itemConfig.ItemName;
+ m_EquipName.color = UIHelper.GetUIColor(itemConfig.ItemColor, true);
+ m_EquipBehaviour.Init(betterModel, true);
+ }
+ }
+}
+
+
+
+
+
diff --git a/System/KnapSack/RealmBetterEquipBehaviour.cs.meta b/System/KnapSack/RealmBetterEquipBehaviour.cs.meta
new file mode 100644
index 0000000..894d587
--- /dev/null
+++ b/System/KnapSack/RealmBetterEquipBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c8eb21cc504d5514b950ab4d60ef9814
+timeCreated: 1534753740
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/MainInterfacePanel/InGamePushContainer.cs b/System/MainInterfacePanel/InGamePushContainer.cs
index c5e07a6..70ca73c 100644
--- a/System/MainInterfacePanel/InGamePushContainer.cs
+++ b/System/MainInterfacePanel/InGamePushContainer.cs
@@ -14,6 +14,7 @@
public class InGamePushContainer : MonoBehaviour
{
[SerializeField] BetterItemGetBehaviour m_BetterEquipPusher;
+ [SerializeField] RealmBetterEquipBehaviour m_RealmBetterEquipPusher;
[SerializeField] PreciousItemGetBehaviour m_PreciousItemPusher;
[SerializeField] FindPreciousBossRebornBehaviour m_BossRebornPusher;
[SerializeField] ItemUseBehaviour m_itemUsePusher;
@@ -26,6 +27,7 @@
FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
BetterEquipGetModel betterEquipGetModel { get { return ModelCenter.Instance.GetModel<BetterEquipGetModel>(); } }
+ RealmBetterEquipModel realmEquipModel { get { return ModelCenter.Instance.GetModel<RealmBetterEquipModel>(); } }
PreciousItemGetModel preciousItemGetModel { get { return ModelCenter.Instance.GetModel<PreciousItemGetModel>(); } }
ItemUseModel itemUseModel { get { return ModelCenter.Instance.GetModel<ItemUseModel>(); } }
ItemOverdueModel itemOverdue { get { return ModelCenter.Instance.GetModel<ItemOverdueModel>(); } }
@@ -38,6 +40,7 @@
public void Init()
{
CheckBetterEquip();
+ CheckRealmBetterEquip();
CheckPreciousItem();
CheckBossReborn();
CheckItemUse();
@@ -49,6 +52,7 @@
FirstChargeTrialShow();
playerPack.RefreshDecomAttrAct += CheckEquipDecompose;
betterEquipGetModel.showEquipRefreshEvent += CheckBetterEquip;
+ realmEquipModel.showEquipRefreshEvent += CheckRealmBetterEquip;
preciousItemGetModel.showItemRefreshEvent += CheckPreciousItem;
findPreciousModel.bossRebornNotifyChangeEvent += CheckBossReborn;
itemUseModel.showItemRefreshEvent += CheckItemUse;
@@ -68,6 +72,28 @@
NewBieCenter.Instance.guideBeginEvent -= OnNewBieGuideBegin;
guardModel.onDungeonEquipGuardEvent -= CheckDungeonGuard;
firstTimeRechargeModel.IsTipShowEvent -= FirstChargeTrialShow;
+ realmEquipModel.showEquipRefreshEvent -= CheckRealmBetterEquip;
+ }
+
+
+ private void CheckRealmBetterEquip()
+ {
+ if (string.IsNullOrEmpty(realmEquipModel.currentEquipGuid))
+ {
+ m_RealmBetterEquipPusher.gameObject.SetActive(false);
+ }
+ else
+ {
+ if (betterEquipGetModel.ShowBetterEquipAble())
+ {
+ m_RealmBetterEquipPusher.gameObject.SetActive(true);
+ m_RealmBetterEquipPusher.ShowBetterEquip();
+ }
+ else
+ {
+ m_RealmBetterEquipPusher.gameObject.SetActive(false);
+ }
+ }
}
private void CheckBetterEquip()
diff --git a/System/WindowBase/ModelCenter.cs b/System/WindowBase/ModelCenter.cs
index 40859a5..de88d9a 100644
--- a/System/WindowBase/ModelCenter.cs
+++ b/System/WindowBase/ModelCenter.cs
@@ -144,6 +144,7 @@
RegisterModel<ActivityModel>();
RegisterModel<PlayerDeadModel>();
RegisterModel<BetterEquipGetModel>();
+ RegisterModel<RealmBetterEquipModel>();
RegisterModel<PreciousItemGetModel>();
RegisterModel<PlayerMainDate>();
RegisterModel<StoryMissionsModel>();
--
Gitblit v1.8.0