From 40e4b97b2c193cd4e49e4d2cb7b8d59534ada5c1 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期五, 11 一月 2019 14:26:36 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Store/Logic/BuyWingsTip.cs | 1
System/BlastFurnace/GetEquipPathTips.cs | 2
System/Chat/ChatPlayerOtherCell.cs | 2
System/Store/Logic/BuyEquipTip.cs | 2
System/Role/EquipShowSwitch.cs | 116 ++++++++++++++
System/Treasure/FunctionUnlockFlyObject.cs | 3
System/Store/Logic/BuyBoxInfoWin.cs | 2
System/FairyAu/KingTempleWin.cs | 15 -
System/KnapSack/Logic/UnionWarehouseEquipTip.cs | 2
System/Chat/ChatPlayerMineCell.cs | 2
System/RoleParticulars/RoleParticularModel.cs | 1
System/KnapSack/Logic/ItemInfoWin.cs | 2
System/FairyAu/FairyFeastTransmitShow.cs | 5
System/Tip/SkillDetailsWin.cs | 2
System/Chat/ChatOtherVoiceCell.cs | 2
System/KnapSack/Logic/ModelShowPerfab.cs | 10 -
System/Skill/SkillBehaviour.cs | 3
System/Role/EquipShowSwitch.cs.meta | 12 +
System/Chat/ChatMineVoiceCell.cs | 2
System/Realm/RealmPropertyUpWin.cs | 57 +++++++
System/Chat/ChatTip.cs | 10
System/Role/MagicianModel.cs | 100 +++++++++++-
System/OpenServerActivity/WishingPoolModel.cs | 23 ++
System/KnapSack/Logic/WingsTip.cs | 1
System/KnapSack/Logic/BoxInfoWin.cs | 2
System/RoleParticulars/RoleParticularsWin.cs | 12 -
Core/GameEngine/Model/Player/PlayerDatas.cs | 1
System/FashionDress/FashionDressWin.cs | 10 -
UI/Common/UI3DModelExhibition.cs | 36 +---
System/Role/GodWeaponPreviewWin.cs | 21 ++
System/Store/Logic/BuyItemInfoWin.cs | 1
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs | 2
System/KnapSack/Logic/EquipTip.cs | 2
System/Login/CreateRoleHeroShow.cs | 8
System/Role/GodWeaponSkillBehaviour.cs | 2
35 files changed, 357 insertions(+), 117 deletions(-)
diff --git a/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs b/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
index 3cf024d..75a2223 100644
--- a/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
+++ b/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -63,6 +63,7 @@
public int BasicsDefense;//鍩虹闃插尽
public int BasicsScoreAHit;//鍩虹鍛戒腑
public int BasicsDodge;//鍩虹闂伩
+ public uint equipShowSwitch;//瑁呭鏄鹃殣寮�鍏�
public long treasurePotentialSp {
get {
return ExAttr8 * (long)100000000 + ExAttr7;
@@ -131,6 +132,7 @@
HappyPoint = _serverInfo.HappyPoint;
faction = _serverInfo.Faction;
coinPointTotal = _serverInfo.ChangeCoinPointTotal;
+ equipShowSwitch = _serverInfo.EquipShowSwitch;
godWeaponLV_1 = (int)_serverInfo.ExAttr15;
godWeaponLV_2 = (int)_serverInfo.ExAttr16;
godWeaponLV_3 = (int)_serverInfo.ExAttr17;
diff --git a/Core/GameEngine/Model/Player/PlayerDatas.cs b/Core/GameEngine/Model/Player/PlayerDatas.cs
index 9ba489d..275f2eb 100644
--- a/Core/GameEngine/Model/Player/PlayerDatas.cs
+++ b/Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -512,6 +512,7 @@
case PlayerDataRefresh.WarehouseLV:
break;
case PlayerDataRefresh.EquipShowSwitch:
+ baseData.equipShowSwitch = value;
break;
case PlayerDataRefresh.LuckValue:
break;
diff --git a/System/BlastFurnace/GetEquipPathTips.cs b/System/BlastFurnace/GetEquipPathTips.cs
index c32ae00..8d46b1b 100644
--- a/System/BlastFurnace/GetEquipPathTips.cs
+++ b/System/BlastFurnace/GetEquipPathTips.cs
@@ -297,7 +297,7 @@
realmImg.SetSprite(realmConfig.Img);
}
}
-
+ realmImg.SetNativeSize();
if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit)
{
realmTitleText.color = conditionColor;
diff --git a/System/Chat/ChatMineVoiceCell.cs b/System/Chat/ChatMineVoiceCell.cs
index 4128846..2b56b9a 100644
--- a/System/Chat/ChatMineVoiceCell.cs
+++ b/System/Chat/ChatMineVoiceCell.cs
@@ -40,7 +40,7 @@
m_ChatTime.text = _data.createTime.ToString("yyyy-MM-dd HH:mm");
if (_data.vipLv > 0)
{
- m_VipLevel.text = "Vip";//string.Format("V{0}", _data.vipLv);
+ m_VipLevel.text = "VIP";//string.Format("V{0}", _data.vipLv);
}
else
{
diff --git a/System/Chat/ChatOtherVoiceCell.cs b/System/Chat/ChatOtherVoiceCell.cs
index 69c18d2..3455234 100644
--- a/System/Chat/ChatOtherVoiceCell.cs
+++ b/System/Chat/ChatOtherVoiceCell.cs
@@ -45,7 +45,7 @@
m_ChatTime.text = _data.createTime.ToString("yyyy-MM-dd HH:mm");
if (_data.vipLv > 0)
{
- m_VipLevel.text = "Vip";//string.Format("V{0}", _data.vipLv);
+ m_VipLevel.text = "VIP";//string.Format("V{0}", _data.vipLv);
}
else
{
diff --git a/System/Chat/ChatPlayerMineCell.cs b/System/Chat/ChatPlayerMineCell.cs
index e1e5bf8..3d6c80c 100644
--- a/System/Chat/ChatPlayerMineCell.cs
+++ b/System/Chat/ChatPlayerMineCell.cs
@@ -45,7 +45,7 @@
m_ChatTime.text = data.createTime.ToString("yyyy-MM-dd HH:mm");
if (chatUserData.vipLv > 0)
{
- m_VipLv.text = "Vip";//string.Format("V{0}", chatUserData.vipLv);
+ m_VipLv.text = "VIP";//string.Format("V{0}", chatUserData.vipLv);
}
else
{
diff --git a/System/Chat/ChatPlayerOtherCell.cs b/System/Chat/ChatPlayerOtherCell.cs
index aa929c1..d376403 100644
--- a/System/Chat/ChatPlayerOtherCell.cs
+++ b/System/Chat/ChatPlayerOtherCell.cs
@@ -43,7 +43,7 @@
m_ChatTime.text = data.createTime.ToString("yyyy-MM-dd HH:mm");
if (chatUserData.vipLv > 0)
{
- m_VipLv.text = "Vip";//string.Format("V{0}", chatUserData.vipLv);
+ m_VipLv.text = "VIP";//string.Format("V{0}", chatUserData.vipLv);
}
else
{
diff --git a/System/Chat/ChatTip.cs b/System/Chat/ChatTip.cs
index 5d6e1fb..c1a6a0a 100644
--- a/System/Chat/ChatTip.cs
+++ b/System/Chat/ChatTip.cs
@@ -273,7 +273,7 @@
chatName = chatUserData.name;
if (chatUserData.vipLv > 0)
{
- vipLv = "Vip";//StringUtility.Contact("V", chatUserData.vipLv);
+ vipLv = "VIP";//StringUtility.Contact("V", chatUserData.vipLv);
}
break;
}
@@ -283,7 +283,7 @@
chatName = chatUserData.name;
if (chatUserData.vipLv > 0)
{
- vipLv = "Vip";// StringUtility.Contact("V", chatUserData.vipLv);
+ vipLv = "VIP";// StringUtility.Contact("V", chatUserData.vipLv);
}
break;
}
@@ -293,7 +293,7 @@
chatName = chatUserData.name;
if (chatUserData.vipLv > 0)
{
- vipLv = "Vip";// StringUtility.Contact("V", chatUserData.vipLv);
+ vipLv = "VIP";// StringUtility.Contact("V", chatUserData.vipLv);
}
break;
}
@@ -303,7 +303,7 @@
chatName = chatUserData.name;
if (chatUserData.vipLv > 0)
{
- vipLv = "Vip";// StringUtility.Contact("V", chatUserData.vipLv);
+ vipLv = "VIP";// StringUtility.Contact("V", chatUserData.vipLv);
}
break;
}
@@ -313,7 +313,7 @@
chatName = chatUserData.name;
if (chatUserData.vipLv > 0)
{
- vipLv = "Vip";// StringUtility.Contact("V", chatUserData.vipLv);
+ vipLv = "VIP";// StringUtility.Contact("V", chatUserData.vipLv);
}
break;
}
diff --git a/System/FairyAu/FairyFeastTransmitShow.cs b/System/FairyAu/FairyFeastTransmitShow.cs
index 8b6b964..b69846b 100644
--- a/System/FairyAu/FairyFeastTransmitShow.cs
+++ b/System/FairyAu/FairyFeastTransmitShow.cs
@@ -216,11 +216,6 @@
var fashionSecondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionWeapon2);
var fashionSecondaryId = fashionSecondary == null ? 0 : (int)fashionSecondary.itemInfo.ItemID;
- var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
- var godWeapon1 = magicianModel.GetGodWeaponInfo(1);
- var godWeapon2 = magicianModel.GetGodWeaponInfo(2);
- var godWeapon3 = magicianModel.GetGodWeaponInfo(3);
- var godWeapon4 = magicianModel.GetGodWeaponInfo(4);
var data = new UI3DPlayerExhibitionData
{
job = PlayerDatas.Instance.baseData.Job,
diff --git a/System/FairyAu/KingTempleWin.cs b/System/FairyAu/KingTempleWin.cs
index 4c53d01..7f940f4 100644
--- a/System/FairyAu/KingTempleWin.cs
+++ b/System/FairyAu/KingTempleWin.cs
@@ -200,17 +200,8 @@
fashionWeapon2 = itemData.ItemID;
}
- var godWeapons = new Dictionary<int, int>();
- var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
- for (int i = 0; i < magicianModel.godWeaponTypes.Count; i++)
- {
- var type = magicianModel.godWeaponTypes[i];
- if (_leaderData.rolePlusData != null)
- {
- var level = _leaderData.rolePlusData.GetGodWeaponLevel(type);
- godWeapons.Add(type, level);
- }
- }
+ Dictionary<int, int> dict = null;
+ EquipShowSwitch.IsGodWeaponEffectOn(_leaderData.rolePropData.EquipShowSwitch, out dict);
var data = new UI3DPlayerExhibitionData
{
@@ -223,7 +214,7 @@
weaponId = weapon,
wingsId = wing,
secondaryId = weapon2,
- godWeapons = godWeapons,
+ godWeapons = dict,
isDialogue = false,
};
diff --git a/System/FashionDress/FashionDressWin.cs b/System/FashionDress/FashionDressWin.cs
index b566ec7..4ded065 100644
--- a/System/FashionDress/FashionDressWin.cs
+++ b/System/FashionDress/FashionDressWin.cs
@@ -363,14 +363,8 @@
}
}
- Dictionary<int, int> dict = new Dictionary<int, int>();
- for (int i = 0; i < godWeaponModel.godWeaponTypes.Count; i++)
- {
- var type = godWeaponModel.godWeaponTypes[i];
- var godWeaponInfo = godWeaponModel.GetGodWeaponInfo(type);
- var equipedLevel = godWeaponInfo != null ? godWeaponInfo.level : 0;
- dict[type] = equipedLevel;
- }
+ Dictionary<int, int> dict = null;
+ EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
UI3DPlayerExhibitionData data = new UI3DPlayerExhibitionData()
{
diff --git a/System/KnapSack/Logic/BoxInfoWin.cs b/System/KnapSack/Logic/BoxInfoWin.cs
index 2a13368..6ceec3b 100644
--- a/System/KnapSack/Logic/BoxInfoWin.cs
+++ b/System/KnapSack/Logic/BoxInfoWin.cs
@@ -229,7 +229,7 @@
realmImg.SetSprite(realmConfig.Img);
}
}
-
+ realmImg.SetNativeSize();
if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
{
realmTitleText.color = conditionColor;
diff --git a/System/KnapSack/Logic/EquipTip.cs b/System/KnapSack/Logic/EquipTip.cs
index c3bf69c..f970bdf 100644
--- a/System/KnapSack/Logic/EquipTip.cs
+++ b/System/KnapSack/Logic/EquipTip.cs
@@ -331,7 +331,7 @@
realmImg.SetSprite(realmConfig.Img);
}
}
-
+ realmImg.SetNativeSize();
if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit)
{
realmTitleText.color = conditionColor;
diff --git a/System/KnapSack/Logic/ItemInfoWin.cs b/System/KnapSack/Logic/ItemInfoWin.cs
index ac32e36..59eef8b 100644
--- a/System/KnapSack/Logic/ItemInfoWin.cs
+++ b/System/KnapSack/Logic/ItemInfoWin.cs
@@ -243,7 +243,7 @@
realmImg.SetSprite(realmConfig.Img);
}
}
-
+ realmImg.SetNativeSize();
if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
{
realmTitleText.color = conditionColor;
diff --git a/System/KnapSack/Logic/ModelShowPerfab.cs b/System/KnapSack/Logic/ModelShowPerfab.cs
index 17223f2..0721b8f 100644
--- a/System/KnapSack/Logic/ModelShowPerfab.cs
+++ b/System/KnapSack/Logic/ModelShowPerfab.cs
@@ -122,14 +122,8 @@
}
}
- Dictionary<int, int> dict = new Dictionary<int, int>();
- for (int i = 0; i < godWeaponModel.godWeaponTypes.Count; i++)
- {
- var type = godWeaponModel.godWeaponTypes[i];
- var godWeaponInfo = godWeaponModel.GetGodWeaponInfo(type);
- var equipedLevel = godWeaponInfo != null ? godWeaponInfo.level : 0;
- dict[type] = equipedLevel;
- }
+ Dictionary<int, int> dict = null;
+ EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
UI3DPlayerExhibitionData data = new UI3DPlayerExhibitionData()
{
diff --git a/System/KnapSack/Logic/UnionWarehouseEquipTip.cs b/System/KnapSack/Logic/UnionWarehouseEquipTip.cs
index 49fea7b..3a1123c 100644
--- a/System/KnapSack/Logic/UnionWarehouseEquipTip.cs
+++ b/System/KnapSack/Logic/UnionWarehouseEquipTip.cs
@@ -297,7 +297,7 @@
realmImg.SetSprite(realmConfig.Img);
}
}
-
+ realmImg.SetNativeSize();
if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit)
{
realmTitleText.color = conditionColor;
diff --git a/System/KnapSack/Logic/WingsTip.cs b/System/KnapSack/Logic/WingsTip.cs
index 17f8485..64ca901 100644
--- a/System/KnapSack/Logic/WingsTip.cs
+++ b/System/KnapSack/Logic/WingsTip.cs
@@ -201,6 +201,7 @@
conditionValueText.gameObject.SetActive(false);
}
}
+ conditionValueText.SetNativeSize();
}
else
{
diff --git a/System/Login/CreateRoleHeroShow.cs b/System/Login/CreateRoleHeroShow.cs
index 78dbf26..b4ee630 100644
--- a/System/Login/CreateRoleHeroShow.cs
+++ b/System/Login/CreateRoleHeroShow.cs
@@ -125,6 +125,8 @@
}
}
+ Dictionary<int, int> dict = null;
+ EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.loginInfo.EquipShowSwitch, out dict);
var data = new UI3DPlayerExhibitionData()
{
job = PlayerDatas.Instance.loginInfo.Job,
@@ -136,11 +138,7 @@
wingsId = wingsItemId,
fashionSecondaryId = fashionSecondary,
secondaryId = secondaryItemId,
- godWeapons = new Dictionary<int, int>() {
- { 1, (int)PlayerDatas.Instance.loginInfo.ExAttr15 },
- { 2, (int)PlayerDatas.Instance.loginInfo.ExAttr16},
- { 3, (int)PlayerDatas.Instance.loginInfo.ExAttr17 },
- { 4, (int)PlayerDatas.Instance.loginInfo.ExAttr18 } }
+ godWeapons = dict
};
var model = playerModel.Show(data, m_HeroPlatform.transform);
diff --git a/System/OpenServerActivity/WishingPoolModel.cs b/System/OpenServerActivity/WishingPoolModel.cs
index d405b69..e789c64 100644
--- a/System/OpenServerActivity/WishingPoolModel.cs
+++ b/System/OpenServerActivity/WishingPoolModel.cs
@@ -36,8 +36,8 @@
public void OnPlayerLoginOk()
{
GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
- UpdateFreeWishRedpoint();
UpdateRedpoint();
+ UpdateFreeWishRedpoint();
}
public override void UnInit()
@@ -73,8 +73,8 @@
{
if (type == Operation.WishingWellInfo && state == 0)
{
- UpdateFreeWishRedpoint();
UpdateRedpoint();
+ UpdateFreeWishRedpoint();
if (onStateUpate != null)
{
onStateUpate((int)OpenServerActivityCenter.OSActivityType.WishingPool);
@@ -97,8 +97,9 @@
{
if (type == Operation.WishingWellInfo && state == 0)
{
- UpdateFreeWishRedpoint();
+
UpdateRedpoint();
+ UpdateFreeWishRedpoint();
if (onStateUpate != null)
{
onStateUpate((int)OpenServerActivityCenter.OSActivityType.WishingPool);
@@ -181,7 +182,6 @@
if(!isCool)
{
UpdateFreeWishRedpoint();
- UpdateRedpoint();
}
}
@@ -241,9 +241,9 @@
SetWishingAwardData(i, wellItem);
}
}
- UpdateFreeWishRedpoint();
UpdateRedpoint();
- if(UpdateWishAwardEvent != null)
+ UpdateFreeWishRedpoint();
+ if (UpdateWishAwardEvent != null)
{
UpdateWishAwardEvent();
}
@@ -273,6 +273,7 @@
}
}
UpdateRedpoint();
+ UpdateFreeWishRedpoint();
}
public void SetWishingPoolData(int index, WishingWellItem wellItem)
@@ -412,6 +413,14 @@
{
freeWishRedpoint.state = RedPointState.None;
if (!IsOpen) return;
+ for (int i = 0; i < wishPointlist.Count; i++)
+ {
+ var wishPoint = wishPointlist[i];
+ if(wishPoint.state != RedPointState.None)
+ {
+ return;
+ }
+ }
int second = 0;
bool isCool = TryGetFreeWishCoolTime(out second);
@@ -429,7 +438,7 @@
wishPoint.state = RedPointState.None;
}
- if (!IsOpen || freeWishRedpoint.state != RedPointState.None) return;
+ if (!IsOpen) return;
for (int i = 0; i < wishPointlist.Count; i++)
{
diff --git a/System/Realm/RealmPropertyUpWin.cs b/System/Realm/RealmPropertyUpWin.cs
index fec5b3b..3aa5c8f 100644
--- a/System/Realm/RealmPropertyUpWin.cs
+++ b/System/Realm/RealmPropertyUpWin.cs
@@ -48,6 +48,8 @@
FunctionUnlockFlyObject flyObject;
+ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
+
DateTime openTime = DateTime.Now;
#region Built-in
protected override void BindController()
@@ -290,11 +292,64 @@
switch (ActivateShow.activateType)
{
case ActivateShow.ActivateFunc.Realm:
- case ActivateShow.ActivateFunc.GodWeaponEffect:
m_ModelRawImage.gameObject.SetActive(true);
m_ModelRawImage.rectTransform.sizeDelta = new Vector2(680, 510);
UI3DModelExhibition.Instance.ShowPlayer(m_ModelRawImage, PlayerDatas.Instance.baseData.Job, RoleEquipType.retWing);
break;
+ case ActivateShow.ActivateFunc.GodWeaponEffect:
+ m_ModelRawImage.gameObject.SetActive(true);
+ m_ModelRawImage.rectTransform.sizeDelta = new Vector2(680, 510);
+
+ var clothes = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retClothes);
+ var _clothesId = clothes == null ? 0 : (int)clothes.itemInfo.ItemID;
+
+ var weapon = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWeapon);
+ var _weaponId = weapon == null ? 0 : (int)weapon.itemInfo.ItemID;
+
+ var secondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWeapon2);
+ var _secondaryId = secondary == null ? 0 : (int)secondary.itemInfo.ItemID;
+
+ var fashionClothes = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionClothes);
+ var fashionClothesId = fashionClothes == null ? 0 : (int)fashionClothes.itemInfo.ItemID;
+
+ var fashionWeapon = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionWeapon);
+ var fashionWeaponId = fashionWeapon == null ? 0 : (int)fashionWeapon.itemInfo.ItemID;
+
+ var fashionSecondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionWeapon2);
+ var fashionSecondaryId = fashionSecondary == null ? 0 : (int)fashionSecondary.itemInfo.ItemID;
+
+ var model = ModelCenter.Instance.GetModel<MagicianModel>();
+ Dictionary<int, int> dict = new Dictionary<int, int>();
+ for (int i = 0; i < model.godWeaponTypes.Count; i++)
+ {
+ var type = model.godWeaponTypes[i];
+ var godWeaponInfo = model.GetGodWeaponInfo(type);
+ if (type == ActivateShow.godWeaponType)
+ {
+ var level = model.GetGodWeaponStageRequireLevel(type, ActivateShow.godWeaponStage);
+ dict.Add(type, level);
+ }
+ else
+ {
+ dict.Add(type, godWeaponInfo == null ? 0 : godWeaponInfo.level);
+ }
+ }
+
+ UI3DPlayerExhibitionData data = new UI3DPlayerExhibitionData()
+ {
+ job = PlayerDatas.Instance.baseData.Job,
+ fashionClothesId = fashionClothesId,
+ clothesId = _clothesId,
+ fashionWeaponId = fashionWeaponId,
+ weaponId = _weaponId,
+ fashionSecondaryId = fashionSecondaryId,
+ secondaryId = _secondaryId,
+ godWeapons = dict,
+ };
+
+
+ UI3DModelExhibition.Instance.ShowOtherPlayer(m_ModelRawImage, data);
+ break;
case ActivateShow.ActivateFunc.GodWeapon:
m_ModelRawImage.gameObject.SetActive(true);
m_ModelRawImage.rectTransform.sizeDelta = new Vector2(600, 600);
diff --git a/System/Role/EquipShowSwitch.cs b/System/Role/EquipShowSwitch.cs
new file mode 100644
index 0000000..dad96a8
--- /dev/null
+++ b/System/Role/EquipShowSwitch.cs
@@ -0,0 +1,116 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+namespace Snxxz.UI
+{
+ [XLua.Hotfix]
+ public static class EquipShowSwitch
+ {
+ static MagicianModel godWeaponModel
+ {
+ get { return ModelCenter.Instance.GetModel<MagicianModel>(); }
+ }
+
+ const int GODWEAPON_EFFECT_STAGE = 3;
+
+ public static bool IsGodWeaponEffectOn(uint value, out Dictionary<int, int> dict)
+ {
+ dict = new Dictionary<int, int>();
+ foreach (var type in godWeaponModel.godWeaponEffectTypes)
+ {
+ var level = 0;
+ if (IsGodWeaponEffectOn(value, type, out level))
+ {
+ dict.Add(type, level);
+ }
+ }
+ return dict.Count > 0;
+ }
+
+ public static bool IsGodWeaponEffectOn(uint value, int type, out int level)
+ {
+ level = 0;
+ for (int i = 0; i < GODWEAPON_EFFECT_STAGE; i++)
+ {
+ var stage = i + 1;
+ var index = GetGodWeaponEquipShowIndex(type, stage);
+ if (MathUtility.GetBitValue(value, index))
+ {
+ level = godWeaponModel.GetGodWeaponStageRequireLevel(type, stage);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static byte GetGodWeaponEquipShowIndex(int type, int stage)
+ {
+ EquipShowSwitchType switchType = EquipShowSwitchType.GodWeapon_Life1;
+ switch (type)
+ {
+ case 1:
+ switchType = stage == 1 ? EquipShowSwitchType.GodWeapon_Life1 : stage == 2 ?
+ EquipShowSwitchType.GodWeapon_Life2 : EquipShowSwitchType.GodWeapon_Life3;
+ break;
+ case 2:
+ switchType = stage == 1 ? EquipShowSwitchType.GodWeapon_Atk1 : stage == 2 ?
+ EquipShowSwitchType.GodWeapon_Atk2 : EquipShowSwitchType.GodWeapon_Atk3;
+ break;
+ case 4:
+ switchType = stage == 1 ? EquipShowSwitchType.GodWeapon_Defend1 : stage == 2 ?
+ EquipShowSwitchType.GodWeapon_Defend2 : EquipShowSwitchType.GodWeapon_Defend3;
+ break;
+ }
+ return (byte)switchType;
+ }
+
+ public static void SendGodWeaponEffectOn(int type, int stage, bool isOn)
+ {
+ var level = 0;
+ var value = PlayerDatas.Instance.baseData.equipShowSwitch;
+ var requireLevel = godWeaponModel.GetGodWeaponStageRequireLevel(type, stage);
+ if (isOn && IsGodWeaponEffectOn(value, type, out level)
+ && level != requireLevel)
+ {
+ var _stage = 0;
+ if (godWeaponModel.TryGetGodWeaponStage(type, level, out _stage))
+ {
+ var index = GetGodWeaponEquipShowIndex(type, _stage);
+ value = (uint)MathUtility.SetBitValue((int)value, index, false);
+ }
+ }
+
+ {
+ var index = GetGodWeaponEquipShowIndex(type, stage);
+ value = (uint)MathUtility.SetBitValue((int)value, index, isOn);
+ }
+
+ if (value != PlayerDatas.Instance.baseData.equipShowSwitch)
+ {
+ SendPackage(value);
+ }
+ }
+
+ public static void SendPackage(uint value)
+ {
+ C032F_tagCRequestEquipShowHide pak = new C032F_tagCRequestEquipShowHide();
+ pak.EquipShowSwitch = value;
+ GameNetSystem.Instance.SendInfo(pak);
+ }
+
+ public enum EquipShowSwitchType : byte
+ {
+ GodWeapon_Life1,//鐢熷懡
+ GodWeapon_Life2,
+ GodWeapon_Life3,
+ GodWeapon_Atk1,//鏀诲嚮
+ GodWeapon_Atk2,
+ GodWeapon_Atk3,
+ GodWeapon_Defend1,//鎶ょ浘
+ GodWeapon_Defend2,
+ GodWeapon_Defend3,
+ max = 32,
+ }
+ }
+}
+
diff --git a/System/Role/EquipShowSwitch.cs.meta b/System/Role/EquipShowSwitch.cs.meta
new file mode 100644
index 0000000..d42c3fc
--- /dev/null
+++ b/System/Role/EquipShowSwitch.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 01dcfe375cd5cf940bd33f6b2f4db077
+timeCreated: 1547125411
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Role/GodWeaponPreviewWin.cs b/System/Role/GodWeaponPreviewWin.cs
index b2c1994..c8e8f31 100644
--- a/System/Role/GodWeaponPreviewWin.cs
+++ b/System/Role/GodWeaponPreviewWin.cs
@@ -65,6 +65,8 @@
{
Display();
DisplayGodWeaponTypes();
+
+ PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
}
protected override void OnAfterOpen()
@@ -73,6 +75,7 @@
protected override void OnPreClose()
{
+ PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
UI3DModelExhibition.Instance.StopShow();
UI3DModelExhibition.InstanceClone1.StopShow();
}
@@ -81,6 +84,15 @@
{
}
#endregion
+
+ private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType)
+ {
+ if (refreshType == PlayerDataRefresh.EquipShowSwitch)
+ {
+ DisplayEquip();
+ DisplayModel();
+ }
+ }
void Display()
{
@@ -137,6 +149,7 @@
DisplayProperty();
DisplayFightPower();
DisplayGodWeaponEffect();
+ DisplayEquip();
}
private void DisplayRequireLevel()
@@ -194,7 +207,7 @@
void DisplayEquip()
{
var equipedLevel = 0;
- model.IsGodWeaponEffectEquip(selectGodWeaponType, out equipedLevel);
+ EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, selectGodWeaponType, out equipedLevel);
for (int i = 0; i < m_EquipSigns.Length; i++)
{
var stage = i + 1;
@@ -208,12 +221,12 @@
private void Equip()
{
-
+ EquipShowSwitch.SendGodWeaponEffectOn(selectGodWeaponType, selectStage, true);
}
private void PutOff()
{
-
+ EquipShowSwitch.SendGodWeaponEffectOn(selectGodWeaponType, selectStage, false);
}
private void DisplayModel()
@@ -268,7 +281,7 @@
{
dict[type] = model.GetGodWeaponStageRequireLevel(selectGodWeaponType, selectStage);
}
- else if (model.IsGodWeaponEffectEquip(type, out equipedLevel))
+ else if (EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, type, out equipedLevel))
{
dict[type] = equipedLevel;
}
diff --git a/System/Role/GodWeaponSkillBehaviour.cs b/System/Role/GodWeaponSkillBehaviour.cs
index 2cd2464..6ea922c 100644
--- a/System/Role/GodWeaponSkillBehaviour.cs
+++ b/System/Role/GodWeaponSkillBehaviour.cs
@@ -54,7 +54,7 @@
m_Effect.StopImediatly();
if (config != null)
{
- m_SkillIcon.SetSprite(config.icon);
+ m_SkillIcon.SetSprite(model.GetEffectSkillIcon(config.type, config.level));
var weaponInfo = model.GetGodWeaponInfo(config.type);
bool active = weaponInfo != null && weaponInfo.level >= config.level;
m_SkillCondition.gameObject.SetActive(!active);
diff --git a/System/Role/MagicianModel.cs b/System/Role/MagicianModel.cs
index af4f7e0..06be2e8 100644
--- a/System/Role/MagicianModel.cs
+++ b/System/Role/MagicianModel.cs
@@ -74,6 +74,7 @@
{
serverInited = true;
UpdateRedPoint();
+ CheckGodWeaponEffectOn();
}
private Dictionary<int, int[]> godWeaponLevelUpCost = new Dictionary<int, int[]>();
@@ -93,6 +94,7 @@
new Dictionary<int, List<GodWeaponEffectProperty>>();
Dictionary<int, Dictionary<int, int>> effectFightPower = new Dictionary<int, Dictionary<int, int>>();
Dictionary<int, int> godWeaponEffectEquipDict = new Dictionary<int, int>();
+ Dictionary<int, List<GodWeaponEffectInfo>> godWeaponEffectInfos = new Dictionary<int, List<GodWeaponEffectInfo>>();
int[] autoHammerExpArea { get; set; }
int[] autoHammerCount { get; set; }
@@ -261,6 +263,25 @@
{
godWeaponEffectTypes.Add(config.type);
}
+
+ List<GodWeaponEffectInfo> effectInfos;
+ if (!godWeaponEffectInfos.TryGetValue(config.type, out effectInfos))
+ {
+ effectInfos = new List<GodWeaponEffectInfo>();
+ godWeaponEffectInfos.Add(config.type, effectInfos);
+ }
+ Dictionary<int, string> skillIconDict = new Dictionary<int, string>();
+ var iconJson = LitJson.JsonMapper.ToObject(config.icon);
+ foreach (var key in iconJson.Keys)
+ {
+ var job = int.Parse(key);
+ skillIconDict.Add(job, iconJson[key].ToString());
+ }
+ effectInfos.Add(new GodWeaponEffectInfo()
+ {
+ level = config.level,
+ skillIconDict = skillIconDict,
+ });
}
funcConfig = Config.Instance.Get<FuncConfigConfig>("MagicExterior");
@@ -428,6 +449,7 @@
var stage = 0;
if (_beforeLv != _nowLv && TryGetUnlockStage(_type, _beforeLv, _nowLv, out stage))
{
+ EquipShowSwitch.SendGodWeaponEffectOn(_type, stage, true);
if (WindowCenter.Instance.IsOpen<MagicianWin>()
&& !NewBieCenter.Instance.inGuiding)
{
@@ -742,17 +764,6 @@
return godWeaponSkillEffect.TryGetValue(skillId, out effect);
}
- public bool IsGodWeaponEffectEquip(int type, out int level)
- {
- level = 0;
- if (godWeaponEffectEquipDict.ContainsKey(type))
- {
- level = godWeaponEffectEquipDict[type];
- return true;
- }
- return false;
- }
-
public bool TryGetEffectProperty(int type, int level, out Dictionary<int, int> dict)
{
dict = null;
@@ -837,6 +848,67 @@
displaySkillLevels.Sort();
return displaySkillLevels;
}
+
+ public string GetEffectSkillIcon(int type, int level)
+ {
+ var job = PlayerDatas.Instance.baseData.Job;
+ if (godWeaponEffectInfos.ContainsKey(type))
+ {
+ var list = godWeaponEffectInfos[type];
+ var index = list.FindIndex((x) =>
+ {
+ return x.level == level;
+ });
+ if (index != -1)
+ {
+ if (list[index].skillIconDict.ContainsKey(job))
+ {
+ return list[index].skillIconDict[job];
+ }
+ }
+ }
+ return string.Empty;
+ }
+
+ void CheckGodWeaponEffectOn()
+ {
+ var value = PlayerDatas.Instance.baseData.equipShowSwitch;
+ if (value == 7)
+ {
+ value = 0;
+ foreach (var type in godWeaponEffectTypes)
+ {
+ var stage = GetGodWeaponStage(type);
+ if (stage != 0 && stage <= 3)
+ {
+ var index = EquipShowSwitch.GetGodWeaponEquipShowIndex(type, stage);
+ value = (uint)MathUtility.SetBitValue((int)value, index, true);
+ }
+ }
+ }
+ else
+ {
+ foreach (var type in godWeaponEffectTypes)
+ {
+ var requireLevel = 0;
+ var godWeapon = GetGodWeaponInfo(type);
+ if (EquipShowSwitch.IsGodWeaponEffectOn(value, type, out requireLevel)
+ && (godWeapon == null || godWeapon.level < requireLevel))
+ {
+ var stage = 0;
+ if (TryGetGodWeaponStage(type, requireLevel, out stage))
+ {
+ var index = EquipShowSwitch.GetGodWeaponEquipShowIndex(type, stage);
+ value = (uint)MathUtility.SetBitValue((int)value, index, false);
+ }
+ }
+ }
+ }
+ if (value != PlayerDatas.Instance.baseData.equipShowSwitch)
+ {
+ EquipShowSwitch.SendPackage(value);
+ }
+ }
}
public class GodWeaponInfo
@@ -863,5 +935,11 @@
public int level;
public Dictionary<int, int> propertyDict;
}
+
+ public struct GodWeaponEffectInfo
+ {
+ public int level;
+ public Dictionary<int, string> skillIconDict;
+ }
}
diff --git a/System/RoleParticulars/RoleParticularModel.cs b/System/RoleParticulars/RoleParticularModel.cs
index 4de52d7..d78f5a6 100644
--- a/System/RoleParticulars/RoleParticularModel.cs
+++ b/System/RoleParticulars/RoleParticularModel.cs
@@ -785,6 +785,7 @@
public int JobRank;
public int FamilyID;
public ulong FightPower;
+ public uint EquipShowSwitch;
}
public class RolePlusData
diff --git a/System/RoleParticulars/RoleParticularsWin.cs b/System/RoleParticulars/RoleParticularsWin.cs
index eb27914..fd81d16 100644
--- a/System/RoleParticulars/RoleParticularsWin.cs
+++ b/System/RoleParticulars/RoleParticularsWin.cs
@@ -257,14 +257,8 @@
fashionWeapon2 = itemData.ItemID;
}
- var godWeapons = new Dictionary<int, int>();
- var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
- for (int i = 0; i < magicianModel.godWeaponTypes.Count; i++)
- {
- var type = magicianModel.godWeaponTypes[i];
- var level = viewPlayerData.rolePlusData.GetGodWeaponLevel(type);
- godWeapons.Add(type, level);
- }
+ Dictionary<int, int> dict = null;
+ EquipShowSwitch.IsGodWeaponEffectOn(viewPlayerData.rolePropData.EquipShowSwitch, out dict);
var data = new UI3DPlayerExhibitionData
{
@@ -277,7 +271,7 @@
weaponId = weapon,
wingsId = wing,
secondaryId = weapon2,
- godWeapons = godWeapons,
+ godWeapons = dict,
isDialogue = false,
};
UI3DModelExhibition.Instance.ShowOtherPlayer(roleModel, data);
diff --git a/System/Skill/SkillBehaviour.cs b/System/Skill/SkillBehaviour.cs
index df3aacf..c7cd425 100644
--- a/System/Skill/SkillBehaviour.cs
+++ b/System/Skill/SkillBehaviour.cs
@@ -40,7 +40,8 @@
public void DisplayGodWeaponEffect(GodWeaponEffectConfig config)
{
godWeaponEffectConfig = config;
- m_SkillIcon.SetSprite(config.icon);
+ var _model = ModelCenter.Instance.GetModel<MagicianModel>();
+ m_SkillIcon.SetSprite(_model.GetEffectSkillIcon(config.type, config.level));
if (m_SkillName != null)
{
m_SkillName.text = config.skillName;
diff --git a/System/Store/Logic/BuyBoxInfoWin.cs b/System/Store/Logic/BuyBoxInfoWin.cs
index d9cc656..267f5aa 100644
--- a/System/Store/Logic/BuyBoxInfoWin.cs
+++ b/System/Store/Logic/BuyBoxInfoWin.cs
@@ -237,7 +237,7 @@
realmImg.SetSprite(realmConfig.Img);
}
}
-
+ realmImg.SetNativeSize();
if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
{
realmTitleText.color = conditionColor;
diff --git a/System/Store/Logic/BuyEquipTip.cs b/System/Store/Logic/BuyEquipTip.cs
index 4e0f76a..8274e67 100644
--- a/System/Store/Logic/BuyEquipTip.cs
+++ b/System/Store/Logic/BuyEquipTip.cs
@@ -330,7 +330,7 @@
realmImg.SetSprite(realmConfig.Img);
}
}
-
+ realmImg.SetNativeSize();
if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit)
{
realmTitleText.color = conditionColor;
diff --git a/System/Store/Logic/BuyItemInfoWin.cs b/System/Store/Logic/BuyItemInfoWin.cs
index afe18e2..180749c 100644
--- a/System/Store/Logic/BuyItemInfoWin.cs
+++ b/System/Store/Logic/BuyItemInfoWin.cs
@@ -231,6 +231,7 @@
realmImg.SetSprite(realmConfig.Img);
}
}
+ realmImg.SetNativeSize();
if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
{
diff --git a/System/Store/Logic/BuyWingsTip.cs b/System/Store/Logic/BuyWingsTip.cs
index b6d5899..39c8cd6 100644
--- a/System/Store/Logic/BuyWingsTip.cs
+++ b/System/Store/Logic/BuyWingsTip.cs
@@ -236,6 +236,7 @@
}
}
+ conditionValueText.SetNativeSize();
}
else
{
diff --git a/System/Tip/SkillDetailsWin.cs b/System/Tip/SkillDetailsWin.cs
index 3540c54..d04962d 100644
--- a/System/Tip/SkillDetailsWin.cs
+++ b/System/Tip/SkillDetailsWin.cs
@@ -138,7 +138,7 @@
var level = godWeaponModel.GetGodWeaponStageRequireLevel(SkillDetails.godWeaponType, SkillDetails.godWeaponEffectStage);
var godWeaponEffectConfig = GodWeaponEffectConfig.Get(SkillDetails.godWeaponType, level);
var config = GodWeaponConfig.GetConfig(SkillDetails.godWeaponType, 1);
- m_SkillIcon.SetSprite(godWeaponEffectConfig.icon);
+ m_SkillIcon.SetSprite(godWeaponModel.GetEffectSkillIcon(godWeaponEffectConfig.type, godWeaponEffectConfig.level));
m_SkillInfo1.text = Language.Get("GodWeaponEffectSource", config.Name);
m_SkillInfo2.text = godWeaponEffectConfig.skillName;
diff --git a/System/Treasure/FunctionUnlockFlyObject.cs b/System/Treasure/FunctionUnlockFlyObject.cs
index 701b902..1bb25b8 100644
--- a/System/Treasure/FunctionUnlockFlyObject.cs
+++ b/System/Treasure/FunctionUnlockFlyObject.cs
@@ -110,7 +110,8 @@
{
m_UnLockType = FunctionUnlockType.GodWeaponEffect;
m_Id = config.level;
- m_FunctionIcon.SetSprite(config.icon);
+ var _model = ModelCenter.Instance.GetModel<MagicianModel>();
+ m_FunctionIcon.SetSprite(_model.GetEffectSkillIcon(config.type, config.level));
originalScale = 1f;
this.transform.localScale = Vector3.one * originalScale;
diff --git a/UI/Common/UI3DModelExhibition.cs b/UI/Common/UI3DModelExhibition.cs
index e7710a9..bf33ab2 100644
--- a/UI/Common/UI3DModelExhibition.cs
+++ b/UI/Common/UI3DModelExhibition.cs
@@ -120,6 +120,8 @@
var secondaryItemId = 0;
var suitLevel = 0;
var equipInfos = PlayerDatas.Instance.loginInfo.EquipInfo;
+ Dictionary<int, int> dict = null;
+ EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.loginInfo.EquipShowSwitch, out dict);
for (int i = 0; i < equipInfos.Length; i++)
{
@@ -171,11 +173,7 @@
wingsId = wingsItemId,
secondaryId = secondaryItemId,
isDialogue = false,
- godWeapons = new Dictionary<int, int>() {
- { 1, (int)PlayerDatas.Instance.loginInfo.ExAttr15 },
- { 2, (int)PlayerDatas.Instance.loginInfo.ExAttr16},
- { 3, (int)PlayerDatas.Instance.loginInfo.ExAttr17 },
- { 4, (int)PlayerDatas.Instance.loginInfo.ExAttr18 } }
+ godWeapons = dict
};
ShowPlayer(_rawImage, data);
@@ -213,11 +211,8 @@
}
}
- var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
- var godWeapon1 = magicianModel.GetGodWeaponInfo(1);
- var godWeapon2 = magicianModel.GetGodWeaponInfo(2);
- var godWeapon3 = magicianModel.GetGodWeaponInfo(3);
- var godWeapon4 = magicianModel.GetGodWeaponInfo(4);
+ Dictionary<int, int> dict = null;
+ EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
var data = new UI3DPlayerExhibitionData
{
job = _job,
@@ -230,12 +225,7 @@
wingsId = wingsId,
secondaryId = secondaryId,
isDialogue = _isDialogue,
- godWeapons = new Dictionary<int, int>() {
- { 1, godWeapon1==null?0:godWeapon1.level },
- { 2, godWeapon2==null?0:godWeapon2.level },
- { 3, godWeapon3==null?0:godWeapon3.level },
- { 4, godWeapon4==null?0:godWeapon4.level }
- }
+ godWeapons = dict
};
ShowPlayer(_rawImage, data);
@@ -295,11 +285,8 @@
}
}
- var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
- var godWeapon1 = magicianModel.GetGodWeaponInfo(1);
- var godWeapon2 = magicianModel.GetGodWeaponInfo(2);
- var godWeapon3 = magicianModel.GetGodWeaponInfo(3);
- var godWeapon4 = magicianModel.GetGodWeaponInfo(4);
+ Dictionary<int, int> dict = null;
+ EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
var data = new UI3DPlayerExhibitionData
{
job = job,
@@ -312,12 +299,7 @@
fashionWeaponId = flashWeaponId,
fashionSecondaryId = flashSecondaryId,
isDialogue = false,
- godWeapons = new Dictionary<int, int>() {
- { 1, godWeapon1==null?0:godWeapon1.level },
- { 2, godWeapon2==null?0:godWeapon2.level },
- { 3, godWeapon3==null?0:godWeapon3.level },
- { 4, godWeapon4==null?0:godWeapon4.level }
- }
+ godWeapons = dict
};
ShowPlayer(rawImage, data);
--
Gitblit v1.8.0