From 42e8bf4cf1ed3f5e249b7ae50e3cefca487652fc Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 22 八月 2018 14:57:49 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/MainInterfacePanel/PlayerMainDate.cs | 35 +++
System/Store/StoreModel.cs | 2
UI/Common/UI3DShowHero.cs | 24 --
System/Treasure/FairyTreasureCollectPanelPattern5.cs | 34 +++
System/MainInterfacePanel/SideMission.cs | 132 ++++++++++++-
System/MainInterfacePanel/TaskListTip.cs | 57 +++++
System/Realm/RealmBossShow.cs | 204 ++++++++++++++++++++
System/MainInterfacePanel/FlyingShoesTask.cs | 108 +++++++---
8 files changed, 513 insertions(+), 83 deletions(-)
diff --git a/System/MainInterfacePanel/FlyingShoesTask.cs b/System/MainInterfacePanel/FlyingShoesTask.cs
index 067699e..66291d4 100644
--- a/System/MainInterfacePanel/FlyingShoesTask.cs
+++ b/System/MainInterfacePanel/FlyingShoesTask.cs
@@ -120,36 +120,27 @@
m_ImgSelected.SetActive(true);
taskmodel.GetNowTaskID = Task_ID;
+
+ if (mainModel.TaskId_Skill1.Contains(Task_ID))
+ {
+ int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//鑾峰彇鐗规畩鐗╁搧
+ if (itemNumber >= mainModel.ItemNumber)
+ {
+ taskmodel.CompletionOfTask(Task_ID);
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+ }
+ else
+ {
+ StateDetermination();
+ ContentText.ExcuteHref();
+ }
+ return;
+ }
switch ((int)taskmodel.GetTaskStatus(Task_ID))
{
case -5:
case 0:
- DropItemManager.StopMissionPickup = true;//涓诲姩鍋滄鎷惧彇鐗╁搧
- if (PlayerDatas.Instance.extersion.bossState == 1)
- {
- string strNpc = string.Empty;
- strNpc = ContentText.GetHrefMessage("movenpc");
- int npcId = 0;
- int mapID = PlayerDatas.Instance.baseData.MapID;
- if (int.TryParse(strNpc, out npcId))
- {
- var npcConfig = Config.Instance.GetAllValues<mapnpcConfig>();
- foreach (var value in npcConfig)
- {
- if (value.NPCID == npcId && value.MapID != mapID)
- {
- SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
- return;
- }
- }
- var MonsterConfig = Config.Instance.Get<MonsterRefreshPointConfig>(npcId);
- if (MonsterConfig != null && MonsterConfig.MapId != mapID)
- {
- SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
- return;
- }
- }
- }
+ StateDetermination();
ContentText.ExcuteHref();
OpenPanel(Task_ID);
break;
@@ -202,12 +193,47 @@
break;
case 3:
taskmodel.CompletionOfTask(Task_ID);
+ if (mainModel.TaskId_Skill.Contains(Task_ID))
+ {
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+ }
break;
default:
break;
-
}
}
+
+ private void StateDetermination()//鐘舵�佸垽瀹�
+ {
+ DropItemManager.StopMissionPickup = true;//涓诲姩鍋滄鎷惧彇鐗╁搧
+ if (PlayerDatas.Instance.extersion.bossState == 1)
+ {
+ string strNpc = string.Empty;
+ strNpc = ContentText.GetHrefMessage("movenpc");
+ int npcId = 0;
+ int mapID = PlayerDatas.Instance.baseData.MapID;
+ if (int.TryParse(strNpc, out npcId))
+ {
+ var npcConfig = Config.Instance.GetAllValues<mapnpcConfig>();
+ foreach (var value in npcConfig)
+ {
+ if (value.NPCID == npcId && value.MapID != mapID)
+ {
+ SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
+ return;
+ }
+ }
+ var MonsterConfig = Config.Instance.Get<MonsterRefreshPointConfig>(npcId);
+ if (MonsterConfig != null && MonsterConfig.MapId != mapID)
+ {
+ SysNotifyMgr.Instance.ShowTip("Task_Transfer1");
+ return;
+ }
+ }
+ }
+
+ }
+
private void OnClickDeliveryButton()//浼犻�佺
{
mainModel.FlyShoseTaskID = Task_ID;
@@ -293,16 +319,32 @@
}
string str = taskmodel.allMissionDict[TaskID].InforList;
var taskinfo = Config.Instance.Get<TASKINFOConfig>(str);
- if (taskinfo != null)
+ if (mainModel.TaskId_Skill1.Contains(TaskID))//鐗规畩浠诲姟
{
- m_ContentText.text = taskinfo.show_writing;
+ int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//鑾峰彇鐗规畩鐗╁搧
+ string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber);
+ string Str_B = Language.Get("PassiveSkillTask2");
+ if (itemNumber >= mainModel.ItemNumber)
+ {
+ m_ContentText.text = Str_B;
+ }
+ else
+ {
+ m_ContentText.text = Str_A;
+ }
}
else
{
- DebugEx.LogError("浠诲姟琛ㄦ牸PyTaskInfo閰嶇疆缂哄け");
- return;
- }
-
+ if (taskinfo != null)
+ {
+ m_ContentText.text = taskinfo.show_writing;
+ }
+ else
+ {
+ DebugEx.LogError("浠诲姟琛ㄦ牸PyTaskInfo閰嶇疆缂哄け");
+ return;
+ }
+ }
bool isOPenTransferButton = HrefAnalysis.Inst.ContainsKey(taskinfo.show_writing, "flynpc");
if (isOPenTransferButton && !IsKaJiBool)
{
diff --git a/System/MainInterfacePanel/PlayerMainDate.cs b/System/MainInterfacePanel/PlayerMainDate.cs
index e49ebe1..d791053 100644
--- a/System/MainInterfacePanel/PlayerMainDate.cs
+++ b/System/MainInterfacePanel/PlayerMainDate.cs
@@ -123,6 +123,7 @@
OneKeyList.Add(Listmap[i]);
}
NetworkState = (int)SDKUtility.Instance.NetworkType;
+ GetPassiveSkillTask();
}
//----------鍏充簬鏌愪簺鍓湰鍙互杩涜鍦板浘鎸傛満
public List<int> OneKeyList = new List<int>();
@@ -130,6 +131,40 @@
//----------浣跨敤濞茬殗鍗疯酱鍚庣殑Buff琛ㄧ幇
public static event Action EmperorBuffEvent;
public bool IsEmperor = false;
+
+ //---------鍏充簬浠诲姟闇�瑕佺殑鏁版嵁
+ public List<int> TaskId_Skill = new List<int>();
+ public List<int> TaskId_Skill1 = new List<int>();
+ public int ItemID = 0;
+ public int UnitPrice = 0;
+ public int ItemNumber = 0;
+
+
+ private void GetPassiveSkillTask()//鑾峰彇浠诲姟鏁版嵁
+ {
+ TaskId_Skill.Clear();
+ TaskId_Skill1.Clear();
+ var PassiveSkillTaskconfig = Config.Instance.Get<FuncConfigConfig>("PassiveSkillTask");
+ int[] TaskId_SkillInt = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical1);
+ for (int i = 0; i < TaskId_SkillInt.Length; i++)
+ {
+ TaskId_Skill.Add(TaskId_SkillInt[i]);
+ }
+ int[] TaskId_SkillInt1 = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical2);
+ for (int i = 0; i < TaskId_SkillInt1.Length; i++)
+ {
+ TaskId_Skill1.Add(TaskId_SkillInt1[i]);
+ }
+ int[] PassiveSkillTask = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical3);
+ if (PassiveSkillTask.Length >= 3)
+ {
+ ItemID = PassiveSkillTask[0];
+ UnitPrice = PassiveSkillTask[1];
+ ItemNumber = PassiveSkillTask[2];
+ }
+ }
+
+
private void UseItemSuccessAct(int Index, int ItemID)
{
if (ItemID == 221)
diff --git a/System/MainInterfacePanel/SideMission.cs b/System/MainInterfacePanel/SideMission.cs
index 8c168cf..b9ec018 100644
--- a/System/MainInterfacePanel/SideMission.cs
+++ b/System/MainInterfacePanel/SideMission.cs
@@ -9,9 +9,11 @@
using TableConfig;
using System.Collections.Generic;
//浠诲姟闈㈡澘鐨勬敮绾夸换鍔�
-namespace Snxxz.UI {
+namespace Snxxz.UI
+{
- public class SideMission:MonoBehaviour {
+ public class SideMission : MonoBehaviour
+ {
[SerializeField] ScrollerController _TaskRamusList;
//鍙充晶闈㈡澘
[SerializeField] Text _Text_TaskName;//浠诲姟鍚�
@@ -25,11 +27,15 @@
PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
ItemTipsModel _itemTipsModel;
ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
+ PlayerPackModel _playerPack;
+ PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
+ PlayerMainDate m_MainModel;
+ PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
private List<RewardAnalysis.RewardInfo> rewardList = new List<RewardAnalysis.RewardInfo>();
private int TaskIdNow = 0;
private void Awake()
{
-
+
}
private void Start()
{
@@ -39,25 +45,108 @@
{
TaskIdNow = 0;
_TaskRamusList.OnRefreshCell += OnRefreshGridCell;
+ playerPack.RefreshItemCountAct += RefreshItemCountAct;
+ playerPack.ItemCntReduceAct += ItemCntReduceAct;
OnCreateGridLineCell(_TaskRamusList);
}
private void OnDisable()
{
_TaskRamusList.OnRefreshCell -= OnRefreshGridCell;
+ playerPack.RefreshItemCountAct -= RefreshItemCountAct;
+ playerPack.ItemCntReduceAct -= ItemCntReduceAct;
+ }
+
+ private void ItemCntReduceAct(PackType arg1, int arg2, int arg3)
+ {
+ if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
+ {
+ foreach (var key in taskmodel.SideQuestsDic.Keys)
+ {
+ if (mainModel.TaskId_Skill1.Contains(key))
+ {
+ _TaskRamusList.m_Scorller.RefreshActiveCellViews();//鍒锋柊褰撳墠鍙
+ }
+ }
+ }
+ }
+
+ private void RefreshItemCountAct(PackType arg1, int arg2, int arg3)
+ {
+ if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
+ {
+ foreach (var key in taskmodel.SideQuestsDic.Keys)
+ {
+ if (mainModel.TaskId_Skill1.Contains(key))
+ {
+ _TaskRamusList.m_Scorller.RefreshActiveCellViews();//鍒锋柊褰撳墠鍙
+ }
+ }
+ }
}
private void ForwardButton()
{
+ if (mainModel.TaskId_Skill1.Contains(TaskIdNow))
+ {
+ int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//鑾峰彇鐗规畩鐗╁搧
+ if (itemNumber >= mainModel.ItemNumber)
+ {
+ taskmodel.CompletionOfTask(TaskIdNow);
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+ }
+ else
+ {
+ int Gold = (int)UIHelper.GetMoneyCnt(1);//浠欑帀
+ int GoldPaper = (int)UIHelper.GetMoneyCnt(2);//缁戠帀
+ string strNull = string.Empty;
+ int needNumber = (mainModel.ItemNumber - itemNumber) * mainModel.UnitPrice;//鎵�闇�閲戦
+ if (GoldPaper >= needNumber)
+ {
+ strNull = string.Format(Language.Get("PassiveSkillTask3"), needNumber);
+ }
+ else
+ {
+ strNull = string.Format(Language.Get("PassiveSkillTask4"), needNumber, GoldPaper, needNumber- GoldPaper);
+ }
+ ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strNull, (bool isOk) =>
+ {
+
+ if (isOk)
+ {
+ if (Gold + GoldPaper >= needNumber)
+ {
+ taskmodel.CompletionOfTask(TaskIdNow);
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+ }
+ else
+ {
+ if (VersionConfig.Get().isBanShu)
+ {
+ SysNotifyMgr.Instance.ShowTip("GoldErr");
+ return;
+ }
+ WindowCenter.Instance.Open<RechargeTipWin>();
+ }
+ }
+ });
+
+ }
+ return;
+ }
if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
{
taskmodel.CompletionOfTask(TaskIdNow);
+ if (mainModel.TaskId_Skill.Contains(TaskIdNow))
+ {
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
+ }
}
else
{
_Text_TaskTarget.ExcuteHref();
}
-
+
WindowCenter.Instance.CloseImmediately<TaskWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
}
@@ -92,17 +181,17 @@
var taskname = taskmodel.SideQuestsDic[TaskId].Name;
if (Config.Instance.Get<TASKINFOConfig>(taskname) == null)
{
- DebugEx.LogError("TASKINFO浠诲姟琛ㄦ牸娌℃湁鑾峰彇鍒拌浠诲姟鍚嶇О"+ taskname);
+ DebugEx.LogError("TASKINFO浠诲姟琛ㄦ牸娌℃湁鑾峰彇鍒拌浠诲姟鍚嶇О" + taskname);
return;
}
- sideMissionTitleBtton.TitleName.text= Config.Instance.Get<TASKINFOConfig>(taskname).show_writing;//浠诲姟鍚�
+ sideMissionTitleBtton.TitleName.text = Config.Instance.Get<TASKINFOConfig>(taskname).show_writing;//浠诲姟鍚�
if (!taskmodel.SideQuestsDic.ContainsKey(TaskId))
{
return;
}
sideMissionTitleBtton.Text_RamusState.text = GegionalTaskStatus(taskmodel.SideQuestsDic[TaskId].MissionState);
sideMissionTitleBtton.SideMissionTitleBtton1.RemoveAllListeners();
- sideMissionTitleBtton.SideMissionTitleBtton1.AddListener(()=>
+ sideMissionTitleBtton.SideMissionTitleBtton1.AddListener(() =>
{
if (TaskId != TaskIdNow)
{
@@ -122,24 +211,43 @@
_Text_TaskName.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Name).show_writing;//浠诲姟鍚�
_Text_TaskDescribe.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Desclist).show_writing;//浠诲姟鎻忚堪
string strINfor = taskmodel.SideQuestsDic[taskID].InforList;
- string str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing;
+ string str = string.Empty;
+ if (mainModel.TaskId_Skill1.Contains(taskID))
+ {
+ int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//鑾峰彇鐗规畩鐗╁搧
+ if (itemNumber >= mainModel.ItemNumber)
+ {
+ string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, mainModel.ItemNumber);
+ str = Str_A;
+ }
+ else
+ {
+ string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber);
+ str = Str_A;
+ }
+ }
+ else
+ {
+ str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing;
+ }
str = WordAnalysis.Color_Start_Regex.Replace(str, string.Empty);
str = WordAnalysis.Color_End_Regex.Replace(str, string.Empty);
_Text_TaskTarget.text = str;//浠诲姟鐩爣
- if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
+
+ if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3 || mainModel.TaskId_Skill1.Contains(taskID))//鑳藉杩涜绔嬪嵆瀹屾垚鐨勬敮绾夸换鍔�
{
- _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z")) ;
+ _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z"));
}
else
{
_Text_Forward.text = TaskStatus(taskmodel.SideQuestsDic[taskID].MissionState);
}
-
+
if (taskmodel._DicTaskInformation.ContainsKey(taskID))
{
_Text_TaskTarget.SetReplaceInfo(taskmodel._DicTaskInformation[taskID]);
}
-
+
if (taskmodel.SideQuestsDic[taskID].RewardList == null)
{
if (_Grid.childCount != 0)
diff --git a/System/MainInterfacePanel/TaskListTip.cs b/System/MainInterfacePanel/TaskListTip.cs
index 5981779..a7f6553 100644
--- a/System/MainInterfacePanel/TaskListTip.cs
+++ b/System/MainInterfacePanel/TaskListTip.cs
@@ -33,6 +33,10 @@
TreasureModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TreasureModel>()); } }
PlayerTaskDatas m_TaskModel;
PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
+ PlayerPackModel _playerPack;
+ PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
+ PlayerMainDate m_MainModel;
+ PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
List<int> RenzhuTaskIDList = new List<int>();//娉曞疂浠诲姟鏁扮粍ID
List<int> ListSort = new List<int>();//鐢ㄤ簬鎺掑垪椤哄簭(鏈崱绾�)
List<int> ListSort1 = new List<int>();//鐢ㄤ簬鎺掑簭锛堝崱绾э級
@@ -104,12 +108,12 @@
PlayerTaskDatas.Event_TaskRefreshes += TaskRefreshes;//浠诲姟鐨勫埛鏂�
PlayerTaskDatas.Event_TaskToDelete += OnTaskToDelete;//浠诲姟鐨勫垹闄�
PlayerTaskDatas.Event_TaskInformation += TaskInformation;//浠诲姟瀛楀吀淇℃伅
- //PlayerTaskDatas.CardLevelChange += CardLevelChange;//浠诲姟鍗$骇鐘舵�佹敼鍙�
PlayerTaskDatas.MainCardLevelChange += MainCardLevelChange;//鍗$骇浠诲姟淇敼
model.collectingTreasureChangeEvent += OnCollectingTreasureChangeEvent;
FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
TreasureNewGotWin.CloseTreasureNewGotWinEvent += CloseTreasureNewGotWinEvent;
-
+ playerPack.RefreshItemCountAct += RefreshItemCountAct;
+ playerPack.ItemCntReduceAct += ItemCntReduceAct;
OnCollectingTreasureChangeEvent(TreasureCategory.Human);
TaskScheduling();//浠诲姟鎺掑簭 1
TheTaskToGenerate();//浠诲姟鐢熸垚
@@ -139,11 +143,55 @@
FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent;
PlayerTaskDatas.MainCardLevelChange -= MainCardLevelChange;//鍗$骇浠诲姟淇敼
+ playerPack.RefreshItemCountAct -= RefreshItemCountAct;
+ playerPack.ItemCntReduceAct -= ItemCntReduceAct;
+ }
+
+ private void ItemCntReduceAct(PackType arg1, int arg2, int arg3)
+ {
+ if (arg1 == PackType.rptItem && arg3== mainModel.ItemID)
+ {
+ foreach (var key in taskmodel.SideQuestsDic.Keys)
+ {
+ if (mainModel.TaskId_Skill1.Contains(key))
+ {
+ TaskIdUpdate(key);
+ }
+ }
+ }
+
+ }
+
+ private void RefreshItemCountAct(PackType arg1, int arg2, int arg3)
+ {
+ if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
+ {
+ foreach (var key in taskmodel.SideQuestsDic.Keys)
+ {
+ if (mainModel.TaskId_Skill1.Contains(key))
+ {
+ TaskIdUpdate(key);
+ }
+ }
+ }
+ }
+
+ 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 MainCardLevelChange(int _id)
{
-
TaskScheduling();
bool IsDefault = true;
var State = taskmodel.GetTaskStatus(_id);
@@ -348,7 +396,6 @@
{
_list.Sort(Compare1);//鍗$骇鎺掑簭
}
-
}
int Compare(int x, int y)//榛樿鎺掑簭(鏃犲崱绾�)
{
@@ -401,8 +448,6 @@
var _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));
- // m_ScrollRect.verticalNormalizedPosition = Mathf.Clamp01(m_ScrollRect.verticalNormalizedPosition + ((Content as RectTransform).sizeDelta.y - 196));
- //m_ScrollRect.verticalNormalizedPosition = ((float)1 - (float)(type + 1) / _list.Count);
}
}
}
diff --git a/System/Realm/RealmBossShow.cs b/System/Realm/RealmBossShow.cs
index b2aaa7d..891a8e6 100644
--- a/System/Realm/RealmBossShow.cs
+++ b/System/Realm/RealmBossShow.cs
@@ -11,7 +11,12 @@
[SerializeField, Header("灞曠ず鏃堕棿")] float m_DisplayTime = 15f;
[SerializeField, Header("鐗规晥浣嶇疆")] Vector3 m_EffectPosition = Vector3.zero;
- UI3DShowHero showHero = new UI3DShowHero();
+ GameObject clothesModel;
+ Animator clothesAnimator;
+
+ Transform showPoint;
+
+ List<SFXController> closthesSFXList = new List<SFXController>();
static RealmBossShow m_Instance = null;
public static RealmBossShow Instance
@@ -134,10 +139,11 @@
}
#endregion
- var _hero = showHero.Show(_job, _clothesId, _suitLevel, _weaponId, _wingsId, _secondaryId, m_HeroStage);
+ showPoint = m_HeroStage;
+ var _hero = ShowHero(_job, _clothesId, _suitLevel, _weaponId, _wingsId, _secondaryId);
if (_hero != null)
{
- showHero.SitDown();
+ SitDown();
LayerUtility.SetLayer(m_HeroStage.gameObject, LayerUtility.BossShow, true);
}
}
@@ -185,12 +191,202 @@
showCamera.enabled = false;
m_Effect.gameObject.SetActive(false);
transform.localPosition = new Vector3(0, 4000, 5000);
- showHero.Dispose();
if (m_Effect != null)
{
SFXPlayUtility.Instance.Release(m_Effect);
m_Effect = null;
}
+
+ for (int i = closthesSFXList.Count - 1; i >= 0; i--)
+ {
+ if (closthesSFXList[i] != null)
+ {
+ Destroy(closthesSFXList[i].gameObject);
+ }
+ }
+ closthesSFXList.Clear();
+
+ if (clothesModel != null)
+ {
+ Destroy(clothesModel);
+ clothesModel = null;
+ clothesAnimator = null;
+ }
+ }
+
+ GameObject ShowHero(int _job, int _clothes, int suitID, int _weaponId, int _wingsId, int _secondaryId)
+ {
+ PutOnClothes(_job, _clothes, suitID);
+ return clothesModel;
+ }
+
+ public void SitDown()
+ {
+ if (clothesModel != null)
+ {
+ var animator = clothesModel.GetComponent<Animator>();
+ animator.Play(GAStaticDefine.State_SitDown);
+ }
+ }
+
+ public void PutOnClothes(int _job, int itemID, int suitID)
+ {
+ var newClothes = 0;
+ var config = Config.Instance.Get<JobSetupConfig>(_job);
+
+ if (itemID == 0)
+ {
+ newClothes = config.BaseEquip[0];
+ }
+ else
+ {
+ var item = Config.Instance.Get<ItemConfig>(itemID);
+ newClothes = item == null ? newClothes = config.BaseEquip[0] : item.ChangeOrd;
+ }
+
+ var _prefab = InstanceResourcesLoader.LoadModelRes(newClothes);
+ if (!_prefab)
+ {
+ newClothes = config.BaseEquip[0];
+ }
+
+ LoadClothes(newClothes);
+
+ LoadClothesEffect(_job, itemID, suitID);
+ }
+
+ private void LoadClothes(int resID)
+ {
+ var prefab = InstanceResourcesLoader.LoadModelRes(resID);
+ if (clothesModel == null)
+ {
+ clothesModel = Instantiate(prefab, Constants.Special_Hide_Position, Quaternion.identity);
+ }
+
+ clothesModel.transform.SetParent(null);
+ clothesModel.transform.localScale = Vector3.one;
+
+ LayerUtility.SetLayer(clothesModel, LayerUtility.Player, false);
+ var skinnedMeshRenderer = clothesModel.GetComponentInChildren<SkinnedMeshRenderer>(true);
+ LayerUtility.SetLayer(skinnedMeshRenderer.gameObject, LayerUtility.Player, false);
+ clothesModel.SetActive(true);
+ clothesModel.transform.SetParentEx(showPoint, Vector3.zero, Quaternion.identity, Vector3.one);
+ clothesAnimator = clothesModel.GetComponent<Animator>();
+
+ if (clothesAnimator == null)
+ {
+ DebugEx.LogErrorFormat("瑙掕壊璧勬簮: {0} 娌℃湁鍔ㄧ敾鎺у埗鍣�", resID);
+ }
+
+ // 鍔ㄧ敾鐘舵�佹満淇敼
+ if (clothesAnimator)
+ {
+ RuntimeAnimatorController _controller = AnimatorControllerLoader.Load(AnimatorControllerLoader.controllerUISuffix, resID);
+ clothesAnimator.runtimeAnimatorController = _controller;
+ clothesAnimator.enabled = true;
+ }
+ }
+
+ public void LoadClothesEffect(int job,int clothedID, int suitLevel)
+ {
+ var _equipModel = ModelCenter.Instance.GetModel<PlayerPackModel>().GetSinglePackModel(PackType.rptEquip);
+ if (_equipModel == null)
+ {
+ if (DTC0309_tagPlayerLoginInfo.equipSuitID > 0)
+ {
+ PutOnEffect(DTC0309_tagPlayerLoginInfo.equipSuitID);
+ }
+ return;
+ }
+
+ int _suitCount = 0;
+
+ int _start = (int)RoleEquipType.retHat;
+ int _end = (int)RoleEquipType.retShoes;
+
+ ItemModel _itemModel = null;
+
+ _itemModel = _equipModel.GetItemModelByIndex((int)RoleEquipType.retClothes);
+
+ if (_itemModel == null)
+ {
+ return;
+ }
+
+ int _rank = _itemModel.chinItemModel.LV;
+
+ for (int i = _start; i <= _end; ++i)
+ {
+ _itemModel = _equipModel.GetItemModelByIndex(i);
+
+ if (_itemModel == null)
+ {
+ continue;
+ }
+
+ if (_itemModel.chinItemModel.SuiteiD <= 0)
+ {
+ continue;
+ }
+
+ if (i == (int)RoleEquipType.retClothes)
+ {
+ _rank = _itemModel.chinItemModel.LV;
+ }
+
+ var suitModel = ModelCenter.Instance.GetModel<PlayerSuitModel>();
+ if (suitModel.suitModelDict.ContainsKey(i))
+ {
+ if (suitModel.suitModelDict[i].ContainsKey(1)
+ || suitModel.suitModelDict[i].ContainsKey(2))
+ {
+ if (_itemModel.chinItemModel.LV >= _rank)
+ {
+ _suitCount += 1;
+ }
+ }
+ }
+ }
+
+ if (_suitCount == 5)
+ {
+ int _type = 1;
+
+ int _suitEffectID = _type * 1000 + job * 100 + _rank;
+
+ PutOnEffect(_suitEffectID);
+ }
+ }
+
+ public void PutOnEffect(int id)
+ {
+ SuitEffectConfig _suitEffect = Config.Instance.Get<SuitEffectConfig>(id);
+
+ // 涓婄壒鏁�
+ if (_suitEffect != null)
+ {
+ Transform _parent = null;
+ SFXController _sfx = null;
+ for (int i = 0; _suitEffect.bindbones != null && i < _suitEffect.bindbones.Length; ++i)
+ {
+ if (string.IsNullOrEmpty(_suitEffect.bindbones[i])
+ || _suitEffect.effectIds[i] == 0)
+ {
+ continue;
+ }
+
+ _parent = clothesModel.transform.GetChildTransformDeeply(_suitEffect.bindbones[i]);
+
+ if (_parent == null)
+ {
+ Debug.LogErrorFormat("濂楄: {0} 閰嶇疆鐨勯楠艰妭鐐�: {1} 涓嶅瓨鍦�", id, _suitEffect.bindbones[i]);
+ continue;
+ }
+
+ _sfx = SFXPlayUtility.Instance.PlayBattleEffect(_suitEffect.effectIds[i], _parent);
+ closthesSFXList.Add(_sfx);
+ }
+ }
}
}
}
diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index db7725d..25a4299 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -69,6 +69,8 @@
{
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= RefreshFamilyLv;
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += RefreshFamilyLv;
+ PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= RefreshServerHour;
+ PlayerDatas.Instance.fairyData.OnRefreshFairyMine += RefreshServerHour;
FuncOpen.Instance.OnFuncStateChangeEvent -= FuncStateChange;
FuncOpen.Instance.OnFuncStateChangeEvent += FuncStateChange;
RefreshTCBPlayerDataEvent -= RefreshPlayerLv;
diff --git a/System/Treasure/FairyTreasureCollectPanelPattern5.cs b/System/Treasure/FairyTreasureCollectPanelPattern5.cs
index 6da991c..9a5de96 100644
--- a/System/Treasure/FairyTreasureCollectPanelPattern5.cs
+++ b/System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -13,6 +13,7 @@
[SerializeField] ScrollRect m_AchievementScroller;
[SerializeField] FurnacesAchievement[] m_FurnacesAchievements;
[SerializeField] Button m_AchievementGetBtn;
+ [SerializeField] Button m_ActiveBtn;
[SerializeField] RectTransform m_ContainerHoles;
[SerializeField] Image[] m_FurnacesIcons;
[SerializeField] RectTransform m_ContainerFunc;
@@ -56,10 +57,12 @@
{
m_AchievementGetBtn.onClick.AddListener(OnAchievementGet);
m_GotoStove.onClick.AddListener(GotoStove);
+ m_ActiveBtn.onClick.AddListener(Active);
}
public override void Display(int _treasureId, bool _tween = false)
{
+ base.Display(_treasureId);
m_GotoGet.onClick.RemoveAllListeners();
m_GotoGet.onClick.AddListener(GotoGet);
@@ -77,7 +80,11 @@
DisplayFurnacesHole();
DisplayFurnace();
DisplayFunc();
+
+ achievementModel.achievementCompletedEvent -= AchievementCompletedEvent;
achievementModel.achievementCompletedEvent += AchievementCompletedEvent;
+ model.treasureStageUpEvent -= TreasureStageUpEvent;
+ model.treasureStageUpEvent += TreasureStageUpEvent;
completedAchivement = 0;
@@ -112,9 +119,18 @@
{
m_GotoGet.onClick.RemoveAllListeners();
achievementModel.achievementCompletedEvent -= AchievementCompletedEvent;
+ model.treasureStageUpEvent -= TreasureStageUpEvent;
for (int i = 0; i < m_FurnacesAchievements.Length; i++)
{
m_FurnacesAchievements[i].Dispose();
+ }
+ }
+
+ private void TreasureStageUpEvent(int _id)
+ {
+ if (_id == treasureId && model.serverInited)
+ {
+ TreasureActiveEffect();
}
}
@@ -190,10 +206,10 @@
{
_effect.OnComplete = null;
m_FurnacesIcons[_index].gameObject.SetActive(true);
- if (_index == m_FurnacesIcons.Length - 1)
- {
- TreasureActiveEffect();
- }
+ //if (_index == m_FurnacesIcons.Length - 1)
+ //{
+ // TreasureActiveEffect();
+ //}
};
}
continue;
@@ -281,6 +297,7 @@
var unlockTreasureConfig = Config.Instance.Get<TreasureConfig>(unlocktreasureId);
m_AchievementGetBtn.gameObject.SetActive(false);
+ m_ActiveBtn.gameObject.SetActive(false);
m_GotoGet.gameObject.SetActive(false);
m_ContainerLocked.gameObject.SetActive(true);
m_LockedDescription.text = Language.Get("BlastFurnaceGet", unlockTreasureConfig == null ? string.Empty : unlockTreasureConfig.Name);
@@ -291,10 +308,12 @@
m_AchievementGetBtn.gameObject.SetActive(false);
m_GotoGet.gameObject.SetActive(false);
m_ContainerLocked.gameObject.SetActive(false);
+ m_ActiveBtn.gameObject.SetActive(currentAchievement == null && treasure.stage == 0);
}
else
{
m_ContainerLocked.gameObject.SetActive(false);
+ m_ActiveBtn.gameObject.SetActive(false);
var _isReach = Achievement.IsReach(currentAchievement.id, currentAchievement.progress);
m_AchievementGetBtn.gameObject.SetActive(_isReach);
var _list = model.GetFurnacesAchievements();
@@ -413,6 +432,13 @@
WindowCenter.Instance.Open<BlastFurnaceWin>();
}
+ private void Active()
+ {
+ CA515_tagCMMagicWeaponUp _pak = new CA515_tagCMMagicWeaponUp();
+ _pak.MWID = (uint)treasureId;
+ GameNetSystem.Instance.SendInfo(_pak);
+ }
+
private void GetCurrentAchievement()
{
diff --git a/UI/Common/UI3DShowHero.cs b/UI/Common/UI3DShowHero.cs
index a420572..35a3367 100644
--- a/UI/Common/UI3DShowHero.cs
+++ b/UI/Common/UI3DShowHero.cs
@@ -50,7 +50,6 @@
{
prefab = InstanceResourcesLoader.LoadModelRes(weaponId);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
- ResetModelLayer(weaponModel);
pool.Release(weaponModel);
weaponModel = null;
}
@@ -59,7 +58,6 @@
{
prefab = InstanceResourcesLoader.LoadModelRes(secondaryId);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
- ResetModelLayer(secondaryModel);
pool.Release(secondaryModel);
secondaryModel.SetActive(true);
secondaryModel = null;
@@ -69,7 +67,6 @@
{
prefab = InstanceResourcesLoader.LoadModelRes(wingsId);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
- ResetModelLayer(wingsModel);
pool.Release(wingsModel);
wingsModel = null;
wingsAnimator = null;
@@ -79,7 +76,6 @@
{
prefab = InstanceResourcesLoader.LoadModelRes(clothesId);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
- ResetModelLayer(clothesModel);
pool.Release(clothesModel);
clothesModel = null;
if (clothesAnimator)
@@ -120,7 +116,6 @@
if (weaponModel)
{
- ResetModelLayer(weaponModel);
GameObject prefab = InstanceResourcesLoader.LoadModelRes(weaponId);
GameObjectPoolManager.Instance.ReleaseGameObject(prefab, weaponModel);
weaponModel = null;
@@ -225,7 +220,6 @@
var prefab = InstanceResourcesLoader.LoadModelRes(clothesId);
var pool = GameObjectPoolManager.Instance.RequestPool(prefab);
- ResetModelLayer(clothesModel);
pool.Release(clothesModel);
clothesModel = null;
if (clothesAnimator != null)
@@ -268,7 +262,6 @@
{
prefab = InstanceResourcesLoader.LoadModelRes(oldWeapon);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
- ResetModelLayer(weaponModel);
pool.Release(weaponModel);
weaponModel = null;
}
@@ -318,7 +311,6 @@
{
prefab = InstanceResourcesLoader.LoadModelRes(oldSecondary);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
- ResetModelLayer(secondaryModel);
pool.Release(secondaryModel);
secondaryModel = null;
}
@@ -333,13 +325,6 @@
}
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
secondaryModel = pool.Request();
-
- secondaryModel.layer = LayerUtility.Player;
- SkinnedMeshRenderer _renderer = secondaryModel.GetComponentInChildren<SkinnedMeshRenderer>();
- if (_renderer)
- {
- _renderer.gameObject.layer = LayerUtility.Player;
- }
var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[job - 1]);
secondaryModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
@@ -372,7 +357,6 @@
{
prefab = InstanceResourcesLoader.LoadModelRes(oldWings);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
- ResetModelLayer(wingsModel);
pool.Release(wingsModel);
wingsModel = null;
}
@@ -538,14 +522,6 @@
SFXPlayUtility.Instance.Release(closthesSFXList[i]);
}
closthesSFXList.Clear();
- }
-
- void ResetModelLayer(GameObject _go)
- {
- if (_go != null)
- {
- LayerUtility.SetLayer(_go, LayerUtility.Player, true);
- }
}
}
--
Gitblit v1.8.0