少年修仙传客户端代码仓库
client_linchunjie
2019-03-27 0c7d47ae29d60a715b35a281fd8d2d5022567d93
Merge branch 'master' into TreasureMission
4个文件已添加
49个文件已修改
1021 ■■■■ 已修改文件
Core/MapEditor/Behavior/Bhv_MapData.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Data/Event/Evt_RefreshMonster.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Editor/MapEditor.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB5_Bourse/DTCB501_tagGCAuctionItemInfo.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB5_Bourse/DTCB502_tagGCPlayerAuctionItemInfo.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB5_Bourse/DTCB505_tagGCFamilyAuctionItemInfo.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB5_Bourse/DTCB508_tagGCRefreshAuctionItemInfo.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB5_Bourse/HB501_tagGCAuctionItemInfo.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB5_Bourse/HB502_tagGCPlayerAuctionItemInfo.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB5_Bourse/HB505_tagGCFamilyAuctionItemInfo.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB5_Bourse/HB506_tagGCAttentionAuctionItemInfo.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB5_Bourse/HB508_tagGCRefreshAuctionItemInfo.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB5_Bourse/HB510_tagGCBiddingItemInfo.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/HeroBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GAMgr.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcClientCollect.cs 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcClientCollect.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcClientFightNorm.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcClientFunc.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActor.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorFight.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorNpcFight.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorNpcNoFight.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/MapTransferUtility.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/MapEditor/Game/ClientSceneManager.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/MapEditor/Game/EventRefreshNPCHandler.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/MapEditor/Game/TransferGroup.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionHelpModel.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionHouseWin.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionInquiryModel.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/FamilyAuctioncell.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/FullServiceAuctioncell.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyAuctionCell.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyFocusCell.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/MyFocusWin.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/TransactionRecordWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipSlotBehaviour.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipSuitPropertyWidget.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipGemSelectBehaviour.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipGemWin.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarModel.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarUpgradeMaterialBehaviour.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarWin.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/EquipTipUtility.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/EquipTipWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipBaseInfoWidget.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainButtonMisc.cs 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainCollectBehaviour.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskModel.cs 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/NormalCollectWin.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Behavior/Bhv_MapData.cs
@@ -28,6 +28,33 @@
        public const string NodeName_Event = "Event_";
        public const string NodeName_Transfer = "Transfer_";
        private int m_TriggerSeed;
        private int m_EventSeed;
        public int GetTriggerSeed()
        {
            return m_TriggerSeed;
        }
        public int GetEventSeed()
        {
            return m_EventSeed;
        }
        public int RequestTriggerID()
        {
            return m_TriggerSeed++;
        }
        public int RequestEventID()
        {
            return m_EventSeed++;
        }
        public void SetTriggerID(int id)
        {
            m_TriggerSeed = id;
        }
        public void SetEventID(int id)
        {
            m_EventSeed = id;
        }
        public void Save(BinaryWriter bw)
        {
            bw.Write(id);
Core/MapEditor/Data/Event/Evt_RefreshMonster.cs
@@ -51,37 +51,5 @@
                monsters[i].Load(br);
            }
        }
        /*
            float delay = Time.now
            float interval
            int index
            update
                if refreshType == all
                    for index = 0; index < monsters.Length; ++index
                        doRefresh(monsters[index]);
                else if refreshType == onebyoneTime
                    if Time.now - delay > interval
                        doRefresh(monster[index]);
                        index++;
                        delay = Time.now;
                else if refreshType == onebyoneDie
                    if prevNpc.isDie
                        prevNpc = doRefresh(monster[index]);
                        index++;
            int deadCount
            float overTime = conditionParam * 0.001f;
            float timePast = Time.now
            over
                if condition == None
                    return true;
                else if condition == DeadCount
                    return deadCount > monsters.Length || deadCount > conditionParam;
                else if condition == Time
                    return Time.now - timePast >= overTime;
         */
    }
}
Core/MapEditor/Editor/MapEditor.cs
@@ -10,18 +10,6 @@
        private string LS_KEY_SAVEPATH;
        private string LS_KEY_EXPORTPATH;
        private int m_TriggerSeed;
        private int m_EventSeed;
        private int m_TransferSeed;
        private int RequestTriggerID()
        {
            return m_TriggerSeed++;
        }
        private int RequestEventID()
        {
            return m_EventSeed++;
        }
        private Evt.E_EventType eventType = Evt.E_EventType.Enemy;
        [MenuItem("程序/MapEditor | 地图编辑器")]
@@ -52,6 +40,7 @@
                        _root.AddComponent<MeshCollider>();
                        _root.transform.position = _go.transform.position;
                        _root.transform.rotation = _go.transform.rotation;
                        _root.transform.localScale = _go.transform.localScale;
                        _root.layer = LayerUtility.Walkble;
                        break;
                    }
@@ -85,11 +74,7 @@
        {
            if (GUILayout.Button("测试"))
            {
                var m = MapData.LoadFormFile(10120);
                if (m == null)
                {
                    Debug.Log("加载失败");
                }
                ClientSceneManager.Instance.TriggerTest(8);
            }
            if (gUISkin == null)
            {
@@ -269,7 +254,7 @@
        private void CreateTrigger()
        {
            var _mapData = target as Bhv_MapData;
            var _id = RequestTriggerID();
            var _id = _mapData.RequestTriggerID();
            var _trigger = CreateNewGO(Bhv_MapData.NodeName_Trigger + _id);
            var _triggerBhv = _trigger.AddComponent<Bhv_MapTrigger>();
            _triggerBhv.id = _id;
@@ -284,7 +269,7 @@
            if (type == Evt.E_EventType.Enemy)
            {
                int _id = RequestEventID();
                int _id = _mapData.RequestEventID();
                var _event = CreateNewGO(Bhv_MapData.NodeName_Event + "RefreshEvemy_" + _id);
                var _eventBhv = _event.AddComponent<Bhv_Evt_RefreshMonster>();
                _eventBhv.id = _id;
@@ -296,7 +281,7 @@
            }
            else if (type == Evt.E_EventType.SceneObject)
            {
                int _id = RequestEventID();
                int _id = _mapData.RequestEventID();
                var _event = CreateNewGO(Bhv_MapData.NodeName_Event + "RefreshSceneObject_" + _id);
                var _eventBhv = _event.AddComponent<Bhv_Evt_RefreshSceneObject>();
                _eventBhv.id = _id;
@@ -374,19 +359,20 @@
                    _mapData.Load(_binaryReader);
                    EditorPrefs.SetString(LS_KEY_SAVEPATH, Directory.GetParent(_path).FullName);
                    foreach (var _event in _mapData.eventList)
                    {
                        if (_event.id >= m_EventSeed)
                        if (_event.id >= _mapData.GetEventSeed())
                        {
                            m_EventSeed = _event.id + 1;
                            _mapData.SetEventID(_event.id + 1);
                        }
                    }
                    foreach (var _trigger in _mapData.triggerList)
                    {
                        if (_trigger.id >= m_TriggerSeed)
                        if (_trigger.id >= _mapData.GetTriggerSeed())
                        {
                            m_TriggerSeed = _trigger.id + 1;
                            _mapData.SetTriggerID(_trigger.id + 1);
                        }
                    }
                }
Core/NetworkPackage/DTCFile/ServerPack/HB5_Bourse/DTCB501_tagGCAuctionItemInfo.cs
@@ -6,9 +6,11 @@
public class DTCB501_tagGCAuctionItemInfo : DtcBasic {
public class DTCB501_tagGCAuctionItemInfo : DtcBasic
{
    AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        HB501_tagGCAuctionItemInfo vNetData = vNetPack as HB501_tagGCAuctionItemInfo;         model.AuctionItemInfo(vNetData);
    }
Core/NetworkPackage/DTCFile/ServerPack/HB5_Bourse/DTCB502_tagGCPlayerAuctionItemInfo.cs
@@ -6,9 +6,11 @@
public class DTCB502_tagGCPlayerAuctionItemInfo : DtcBasic {
public class DTCB502_tagGCPlayerAuctionItemInfo : DtcBasic
{
    AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        HB502_tagGCPlayerAuctionItemInfo vNetData = vNetPack as HB502_tagGCPlayerAuctionItemInfo;         model.PlayerAuctionItemInfo(vNetData);
    }
Core/NetworkPackage/DTCFile/ServerPack/HB5_Bourse/DTCB505_tagGCFamilyAuctionItemInfo.cs
@@ -6,9 +6,11 @@
public class DTCB505_tagGCFamilyAuctionItemInfo : DtcBasic {
public class DTCB505_tagGCFamilyAuctionItemInfo : DtcBasic
{
    AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        HB505_tagGCFamilyAuctionItemInfo vNetData = vNetPack as HB505_tagGCFamilyAuctionItemInfo;         model.FamilyAuctionItemInfo(vNetData);
    }
Core/NetworkPackage/DTCFile/ServerPack/HB5_Bourse/DTCB508_tagGCRefreshAuctionItemInfo.cs
@@ -6,9 +6,11 @@
public class DTCB508_tagGCRefreshAuctionItemInfo : DtcBasic {
public class DTCB508_tagGCRefreshAuctionItemInfo : DtcBasic
{
    AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        HB508_tagGCRefreshAuctionItemInfo vNetData = vNetPack as HB508_tagGCRefreshAuctionItemInfo;         model.RefreshAuctionItem(vNetData);
    }
Core/NetworkPackage/ServerPack/HB5_Bourse/HB501_tagGCAuctionItemInfo.cs
@@ -42,6 +42,7 @@
            TransBytes (out AuctionItemList[i].ItemCount, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].AddTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].BidderPrice, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].BiddingTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].UserDataLen, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].UserData, vBytes, NetDataType.Chars, AuctionItemList[i].UserDataLen);
        }
@@ -54,6 +55,7 @@
        public ushort ItemCount;
        public string AddTime;        //上架时间 yyyy-MM-dd hh:mm:ss
        public ushort BidderPrice;        //竞拍玩家出价
        public string BiddingTime;        //竞价时间 yyyy-MM-dd hh:mm:ss
        public ushort UserDataLen;
        public string UserData;        //自定义数据
    }
Core/NetworkPackage/ServerPack/HB5_Bourse/HB502_tagGCPlayerAuctionItemInfo.cs
@@ -22,6 +22,7 @@
            TransBytes (out AuctionItemList[i].ItemCount, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].AddTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].BidderPrice, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].BiddingTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].UserDataLen, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].UserData, vBytes, NetDataType.Chars, AuctionItemList[i].UserDataLen);
        }
@@ -34,6 +35,7 @@
        public ushort ItemCount;
        public string AddTime;        //上架时间 yyyy-MM-dd hh:mm:ss
        public ushort BidderPrice;        //竞拍玩家出价
        public string BiddingTime;        //竞价时间 yyyy-MM-dd hh:mm:ss
        public ushort UserDataLen;
        public string UserData;        //自定义数据
    }
Core/NetworkPackage/ServerPack/HB5_Bourse/HB505_tagGCFamilyAuctionItemInfo.cs
@@ -22,6 +22,7 @@
            TransBytes (out AuctionItemList[i].ItemCount, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].AddTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].BidderPrice, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].BiddingTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].UserDataLen, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].UserData, vBytes, NetDataType.Chars, AuctionItemList[i].UserDataLen);
            TransBytes (out AuctionItemList[i].FamilyPlayerIDLen, vBytes, NetDataType.WORD);
@@ -37,6 +38,7 @@
        public ushort ItemCount;
        public string AddTime;        //上架时间 yyyy-MM-dd hh:mm:ss
        public ushort BidderPrice;        //竞拍玩家出价
        public string BiddingTime;        //竞价时间 yyyy-MM-dd hh:mm:ss
        public ushort UserDataLen;
        public string UserData;        //自定义数据
        public ushort FamilyPlayerIDLen;
Core/NetworkPackage/ServerPack/HB5_Bourse/HB506_tagGCAttentionAuctionItemInfo.cs
@@ -22,6 +22,7 @@
            TransBytes (out AuctionItemList[i].ItemCount, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].AddTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].BidderPrice, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].BiddingTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].UserDataLen, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].UserData, vBytes, NetDataType.Chars, AuctionItemList[i].UserDataLen);
        }
@@ -34,6 +35,7 @@
        public ushort ItemCount;
        public string AddTime;        //上架时间 yyyy-MM-dd hh:mm:ss
        public ushort BidderPrice;        //竞拍玩家出价
        public string BiddingTime;        //竞价时间 yyyy-MM-dd hh:mm:ss
        public ushort UserDataLen;
        public string UserData;        //自定义数据
    }
Core/NetworkPackage/ServerPack/HB5_Bourse/HB508_tagGCRefreshAuctionItemInfo.cs
@@ -21,6 +21,7 @@
            TransBytes (out RefreshAuctionItemList[i].AddTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out RefreshAuctionItemList[i].BidderID, vBytes, NetDataType.DWORD);
            TransBytes (out RefreshAuctionItemList[i].BidderPrice, vBytes, NetDataType.DWORD);
            TransBytes (out RefreshAuctionItemList[i].BiddingTime, vBytes, NetDataType.Chars, 19);
        }
    }
@@ -30,6 +31,7 @@
        public string AddTime;        //上架时间
        public uint BidderID;        //最高竞拍玩家ID,也就是当前最高竞价玩家ID    
        public uint BidderPrice;        //最高竞拍价格
        public string BiddingTime;        //竞价时间 yyyy-MM-dd hh:mm:ss
    }
}
Core/NetworkPackage/ServerPack/HB5_Bourse/HB510_tagGCBiddingItemInfo.cs
@@ -23,6 +23,7 @@
            TransBytes (out AuctionItemList[i].AddTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].BidderID, vBytes, NetDataType.DWORD);
            TransBytes (out AuctionItemList[i].BidderPrice, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].BiddingTime, vBytes, NetDataType.Chars, 19);
            TransBytes (out AuctionItemList[i].UserDataLen, vBytes, NetDataType.WORD);
            TransBytes (out AuctionItemList[i].UserData, vBytes, NetDataType.Chars, AuctionItemList[i].UserDataLen);
        }
@@ -36,6 +37,7 @@
        public string AddTime;        //上架时间 yyyy-MM-dd hh:mm:ss
        public uint BidderID;        //竞拍玩家ID,也就是当前最高竞价玩家ID
        public ushort BidderPrice;        //竞拍玩家出价
        public string BiddingTime;        //竞价时间 yyyy-MM-dd hh:mm:ss
        public ushort UserDataLen;
        public string UserData;        //自定义数据
    }
Fight/Actor/HeroBehaviour.cs
@@ -903,7 +903,7 @@
                    if (_clientNpc != null
                     && _clientNpc.belongEventID != -1)
                    {
                        ClientSceneManager.Instance.NpcDead(_clientNpc.belongEventID, _clientNpc);
                        ClientSceneManager.Instance.NpcDead(_clientNpc.belongEventID, _clientNpc, _clientNpc.NpcConfig.NPCID);
                    }
                    // 前期战斗只发送石头人的
                    //if (1000 == _target.NpcConfig.NPCID)
Fight/GameActor/GAMgr.cs
@@ -677,11 +677,15 @@
                case E_ActorClassType.NpcClientFunc:
                    _actor = new GA_NpcClientFunc();
                    break;
                case E_ActorClassType.NpcCollect:
                    _actor = new GA_NpcClientCollect();
                    break;
            }
        }
        if (_actor != null)
        {
            _actor.InitNpcConfig((int)npcID);
            _actor.Init(serverInstID, m_ClientId.Request(), group, null);
            BuildManagerRelation(_actor, _actorClassType);
@@ -1376,6 +1380,10 @@
        {
            return (byte)E_ActorClassType.PVPClientPlayer;
        }
        else if (_type == typeof(GA_NpcClientCollect))
        {
            return (byte)E_ActorClassType.NpcCollect;
        }
        return (byte)E_ActorClassType.UnDefine;
    }
Fight/GameActor/GA_NpcClientCollect.cs
New file
@@ -0,0 +1,269 @@
using System;
using System.Collections.Generic;
using Snxxz.UI;
using UnityEngine;
using UnityEngine.Events;
public class GA_NpcClientCollect : GA_NpcClientFunc
{
    private static List<uint> m_ArrivedList = new List<uint>();
    public static event UnityAction<uint, int> OnArrive;
    public static event UnityAction<uint, int> OnLeave;
    private bool m_IsMainWinOpen = false;
    protected override void OnInit(GameNetPackBasic package)
    {
        base.OnInit(package);
        WindowCenter.Instance.windowAfterOpenEvent += CheckOpenCollectIcon;
        WindowCenter.Instance.windowAfterCloseEvent += AfterCloseMainWin;
        NPCInteractProcessor.s_NpcInteractEvent += HandleCallback;
    }
    private void HandleCallback(E_NpcType type, int npcID, uint sid)
    {
        if (sid == ServerInstID)
        {
            OnClick();
        }
    }
    protected override void OnUnit()
    {
        if (m_ArrivedList.Contains(ServerInstID))
        {
            if (OnLeave != null)
            {
                OnLeave(ServerInstID, NpcConfig.NPCID);
            }
            m_ArrivedList.Remove(ServerInstID);
        }
        WindowCenter.Instance.windowAfterOpenEvent -= CheckOpenCollectIcon;
        WindowCenter.Instance.windowAfterCloseEvent -= AfterCloseMainWin;
    }
    private void CheckOpenCollectIcon(Window obj)
    {
        if (obj is MainInterfaceWin)
        {
            m_IsMainWinOpen = true;
            if (NpcConfig.NPCID != GeneralDefine.GatherSoulDZ)
            {
                GA_Hero _hero = PlayerDatas.Instance.hero;
                if (_hero != null)
                {
                    float _distSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
                    if (_distSqrt < Mathf.Pow(NpcConfig.ModelRadius + 0.4f + GeneralDefine.CloseNpcDist, 2))
                    {
                        Arrive();
                    }
                }
            }
        }
    }
    private void AfterCloseMainWin(Window obj)
    {
        if (obj is MainInterfaceWin)
        {
            m_IsMainWinOpen = false;
            Leave();
        }
    }
    public override void OnClick()
    {
        if (GA_Hero.s_MapSwitching)
        {
            return;
        }
        GA_Hero _hero = PlayerDatas.Instance.hero;
        if (_hero == null)
        {
            return;
        }
        _hero.LockTarget = this;
        _hero.SelectTarget = this;
        float _chkDistSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
        // 这里判断是否要走向此对象
        if (_chkDistSqrt > 2f)
        {
            _hero.MoveToPosition(Pos, 1f);
        }
        if (_chkDistSqrt < 4)
        {
            StartCollect();
        }
    }
    private bool m_StartCollect;
    private float m_CollectTime;
    public void StartCollect()
    {
        if (m_StartCollect)
        {
            return;
        }
        m_CollectTime = 0;
        NormalCollectWin.s_CollectInfo = new PrepareHandler.ClientH0812()
        {
            PlayerID = PlayerDatas.Instance.PlayerId,
            PrepareState = (byte)PrepareHandler.E_PrepareType.pstMissionCollecting,
            MaxTime = 2000,
            PrepareID = NpcConfig.NPCID,
        };
        PrepareHandler.Instance.isPreparing = true;
        WindowCenter.Instance.Open<NormalCollectWin>();
        m_StartCollect = true;
    }
    public void StopCollect()
    {
        PrepareHandler.Instance.isPreparing = false;
        WindowCenter.Instance.Close<NormalCollectWin>();
        m_StartCollect = false;
    }
    protected override void OnUpdate()
    {
        if (m_StartCollect)
        {
            GA_Hero m_Hero = PlayerDatas.Instance.hero;
            m_CollectTime += Time.deltaTime;
            if (m_CollectTime > 2f)
            {
                StopCollect();
                if (m_Hero != null)
                {
                    if (m_Hero.LockTarget == this)
                    {
                        m_Hero.LockTarget = null;
                    }
                    if (m_Hero.SelectTarget == this)
                    {
                        m_Hero.SelectTarget = null;
                    }
                }
                if (belongEventID != -1)
                {
                    ClientSceneManager.Instance.NpcDead(belongEventID, this, NpcConfig.NPCID);
                }
                GAMgr.Instance.Release(this);
            }
            if (!m_Hero.IsIdle() && !m_Hero.IsCollect())
            {
                StopCollect();
            }
        }
    }
    public override void OnSelect()
    {
        if (NpcConfig.NPCID != 10204200)
        {
            SelectionManager.Request(SelectionManager.E_Type.Green, this, NpcConfig.ModelRadius * 2);
        }
        GA_Hero _hero = PlayerDatas.Instance.hero;
        Vector3 _forward = MathUtility.ForwardXZ(Pos, _hero.Pos);
        _hero.Forward = _forward;
        if (NpcConfig.AutomaticFace == 1)
        {
            _forward = MathUtility.ForwardXZ(_hero.Pos, Pos);
            Forward = _forward;
        }
    }
    public override void OnUnSelect()
    {
        base.OnUnSelect();
        if (m_ArrivedList.Contains(ServerInstID))
        {
            if (OnLeave != null)
            {
                OnLeave(ServerInstID, NpcConfig.NPCID);
            }
            m_ArrivedList.Remove(ServerInstID);
        }
    }
    protected override void OnFixedUpdate()
    {
        base.OnFixedUpdate();
        if (!m_IsMainWinOpen)
        {
            m_IsMainWinOpen = WindowCenter.Instance.IsOpen<MainInterfaceWin>();
            return;
        }
        GA_Hero _hero = PlayerDatas.Instance.hero;
        if (_hero != null)
        {
            float _distSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
            if (_distSqrt < Mathf.Pow(NpcConfig.ModelRadius + 0.4f + GeneralDefine.CloseNpcDist, 2))
            {
                Arrive();
            }
            else
            {
                if (m_ArrivedList.Contains(ServerInstID))
                {
                    if (OnLeave != null)
                    {
                        OnLeave(ServerInstID, NpcConfig.NPCID);
                    }
                    m_ArrivedList.Remove(ServerInstID);
                }
            }
        }
    }
    public void Arrive()
    {
        if (!m_ArrivedList.Contains(ServerInstID))
        {
            if (OnArrive != null)
            {
                OnArrive(ServerInstID, NpcConfig.NPCID);
            }
            m_ArrivedList.Add(ServerInstID);
            Debug.Log("靠近了采集物: " + NpcConfig.NPCID);
        }
    }
    public void Leave()
    {
        if (m_ArrivedList.Contains(ServerInstID))
        {
            if (OnLeave != null)
            {
                OnLeave(ServerInstID, NpcConfig.NPCID);
            }
            m_ArrivedList.Remove(ServerInstID);
            Debug.Log("离开了采集物: " + NpcConfig.NPCID);
        }
    }
}
Fight/GameActor/GA_NpcClientCollect.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 5d176ae09b0a918488a325b4304a2d2d
timeCreated: 1553583520
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Fight/GameActor/GA_NpcClientFightNorm.cs
@@ -3,7 +3,6 @@
public class GA_NpcClientFightNorm : GActorNpcFight
{
    public int belongEventID;
    private HeadUpName m_HeadUpName;
    private LifeBar m_LifeBar;
Fight/GameActor/GA_NpcClientFunc.cs
@@ -22,11 +22,29 @@
            Rotation = Quaternion.Euler(0, UnityEngine.Random.Range(0, 360), 0);
        }
        ActorType = GameObjType.gotNPC;
        Root.gameObject.layer = LayerUtility.Monster;
        if (CanBeSelected())
        {
            CapsuleCollider _collider = Root.AddMissingComponent<CapsuleCollider>();
            _collider.center = new Vector3(0, NpcConfig.ModleHeight * .5f, 0);
            _collider.radius = NpcConfig.ModelRadius;
            _collider.height = NpcConfig.ModleHeight;
            m_NPCInteractProcessor = Root.AddMissingComponent<NPCInteractProcessor>();
            m_NPCInteractProcessor.npcIntergactEvent += OnClick;
        }
        RequestShadow();
        if (NpcConfig.NPCEffect != 0)
        {
            m_AppearEffect = SFXPlayUtility.Instance.PlayBattleEffect(NpcConfig.NPCEffect, this);
        }
        // 开始异步加载表现层
        InstanceResourcesLoader.AsyncLoadNpc(NpcConfig.NPCID, OnPrefabLoadFinished);
    }
    protected override void OnUnit()
Fight/GameActor/GActor.cs
@@ -21,6 +21,23 @@
    protected Transform m_Root = null;
    public Transform Root { get { return m_Root; } }
    /// <summary>
    /// 如果有,杀死这个npc的角色服务器实例ID
    /// </summary>
    private uint m_KillServerInstID;
    public uint KillerServerInstID
    {
        get { return m_KillServerInstID; }
        set { m_KillServerInstID = value; }
    }
    public int belongEventID;
    private Vector3 m_BornPos;
    public virtual Vector3 BornPos
    {
        get { return m_BornPos; }
        set { m_BornPos = value; }
    }
    private Vector3 m_Pos;
    public Vector3 Pos
    {
@@ -298,6 +315,10 @@
            m_SearchType = E_SearchType.Dynamic;
            TargetActor = target;
            // if (this is GA_Hero)
            // {
            //     Debug.Log("开始寻路至目标: " + target);
            // }
            // 这里记录坐标的意义
            // 在可能发生坐标动态变化的目标用以与之前记录坐标比较
            // 判断是否在寻路过程中需要重新执行寻路
@@ -326,6 +347,10 @@
            m_SearchType = E_SearchType.Static;
            MoveTo(_validPos, keepDist);
        }
        // if (this is GA_Hero)
        // {
        //     Debug.Log("开始寻路至点: " + destPos);
        // }
    }
    public void ClearPathFindTarget()
@@ -343,6 +368,11 @@
            return;
        }
        // if (this is GA_Hero)
        // {
        //     Debug.Log("停止寻路");
        // }
        TargetActor = null;
        DestPos = Vector3.zero;
        m_CornerIndex = 0;
Fight/GameActor/GActorFight.cs
@@ -59,15 +59,6 @@
    }
    /// <summary>
    /// 如果有,杀死这个npc的角色服务器实例ID
    /// </summary>
    private uint m_KillServerInstID;
    public uint KillerServerInstID
    {
        get { return m_KillServerInstID; }
        set { m_KillServerInstID = value; }
    }
    /// <summary>
    /// 如果有,杀死这个npc使用的死亡飞行配置
    /// </summary>
    public int DeadFlyID { get; set; }
Fight/GameActor/GActorNpcFight.cs
@@ -20,13 +20,6 @@
    /// </summary>
    protected float m_LastCantAtkedTime;
    private Vector3 m_BornPos;
    public virtual Vector3 BornPos
    {
        get { return m_BornPos; }
        set { m_BornPos = value; }
    }
    public override int NextAction
    {
        get
Fight/GameActor/GActorNpcNoFight.cs
@@ -31,6 +31,19 @@
        }
    }
    public virtual void InitNpcConfig(int npcID)
    {
        if (NpcConfig != null && NpcConfig.NPCID == npcID)
        {
            return;
        }
        if (npcID > 0)
        {
            NpcConfig = NPCConfig.Get(npcID);
        }
    }
    protected override void OnInit(GameNetPackBasic package)
    {
        m_LoadDefaultRes = false;
Fight/MapTransferUtility.cs
@@ -1202,7 +1202,10 @@
                    {
                        if (_npc != null)
                        {
                            NPCInteractProcessor.InvokeEvent(E_NpcType.Func, NpcID, _npc.ServerInstID);
                            if (_npc is GA_NpcClientFightNorm)
                            {
                                NPCInteractProcessor.InvokeEvent(E_NpcType.Func, NpcID, _npc.ServerInstID);
                            }
                        }
                    }
                    Clear();
Fight/Stage/MapEditor/Game/ClientSceneManager.cs
@@ -12,7 +12,7 @@
    private Dictionary<int, uint> m_TriggerIDToMissionIDDict = new Dictionary<int, uint>();
    private Dictionary<int, TriggerHandler> m_TriggerHandlerDict = new Dictionary<int, TriggerHandler>();
    private List<int> m_ReadyRemoveTriggerList = new List<int>();
    private Dictionary<int, List<GActorNpcFight>> m_EventActorDict = new Dictionary<int, List<GActorNpcFight>>();
    private Dictionary<int, List<GActor>> m_EventActorDict = new Dictionary<int, List<GActor>>();
    public bool IsClientFightMode { get; private set; }
    private IEnumerator DelayUnTrigger(int id)
@@ -66,11 +66,11 @@
        }
    }
    public void NpcBorn(int eventID, GActorNpcFight npc)
    public void NpcBorn(int eventID, GActor npc)
    {
        if (!m_EventActorDict.ContainsKey(eventID))
        {
            m_EventActorDict.Add(eventID, new List<GActorNpcFight>());
            m_EventActorDict.Add(eventID, new List<GActor>());
        }
        if (!m_EventActorDict[eventID].Contains(npc))
@@ -80,7 +80,7 @@
        }
    }
    public void NpcDead(int eventID, GActorNpcFight npc)
    public void NpcDead(int eventID, GActor npc, int npcID)
    {
        if (eventID < 0 || npc == null)
        {
@@ -90,7 +90,7 @@
        var _eventHandler = GetEventHandler(eventID) as EventRefreshNPCHandler;
        if (_eventHandler != null)
        {
            _eventHandler.NpcDead(npc.NpcConfig.NPCID);
            _eventHandler.NpcDead(npcID);
        }
        if (m_EventActorDict.ContainsKey(eventID))
@@ -506,6 +506,11 @@
        return _targetPos;
    }
    public void TriggerTest(int triggerID)
    {
        SnxxzGame.Instance.StartCoroutine(DelayTrigger(99999999, triggerID));
    }
    private IEnumerator DelayTrigger(uint missionID, int triggerID)
    {
        // ID为0, 约定为清空触发
Fight/Stage/MapEditor/Game/EventRefreshNPCHandler.cs
@@ -87,7 +87,16 @@
        if (m_RefreshCount >= 0 && m_RefreshCount < m_Evt.monsters.Length)
        {
            var _data = m_Evt.monsters[m_RefreshCount];
            var _npc = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightNorm>(_data.npcID, E_ActorGroup.Enemy);
            var _npcConfig = NPCConfig.Get((int)_data.npcID);
            GActor _npc = null;
            if (_npcConfig.NPCType == (int)E_NpcType.Collect)
            {
                _npc = GAMgr.Instance.ReqClntNoFightNpc<GA_NpcClientCollect>(_data.npcID, E_ActorGroup.FuncNpc);
            }
            else
            {
                _npc = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightNorm>(_data.npcID, E_ActorGroup.Enemy);
            }
            _npc.BornPos = _npc.Pos = _data.position;
            _npc.belongEventID = m_Evt.id;
            ClientSceneManager.Instance.NpcBorn(m_Evt.id, _npc);
@@ -100,7 +109,16 @@
        {
            foreach (var _data in m_Evt.monsters)
            {
                var _npc = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightNorm>(_data.npcID, E_ActorGroup.Enemy);
                var _npcConfig = NPCConfig.Get((int)_data.npcID);
                GActor _npc = null;
                if (_npcConfig.NPCType == (int)E_NpcType.Collect)
                {
                    _npc = GAMgr.Instance.ReqClntNoFightNpc<GA_NpcClientCollect>(_data.npcID, E_ActorGroup.FuncNpc);
                }
                else
                {
                    _npc = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightNorm>(_data.npcID, E_ActorGroup.Enemy);
                }
                _npc.BornPos = _npc.Pos = _data.position;
                _npc.belongEventID = m_Evt.id;
                ClientSceneManager.Instance.NpcBorn(m_Evt.id, _npc);
Fight/Stage/MapEditor/Game/TransferGroup.cs
@@ -64,6 +64,7 @@
                        m_Step = 11;
                        GA_Hero.s_MapSwitching = true;
                        _hero.StopPathFind();
                        _hero.Behaviour.StopHandupAI(true);
                        startPoint = i;
                        if (i == 0)
                        {
System/Auction/AuctionHelpModel.cs
@@ -32,6 +32,7 @@
        public int AuctionTaxrate3 = 0;//仙盟拍品个人税率
        public int MaxFocusCount = 10;//最大可关注数量
        public int ExtensionTime = 0;//延长时间(秒)
        private int selectedGenreNow = 0;
        public int SelectedGenreNow//当前选择的页签
        {
@@ -58,8 +59,9 @@
        }
        public override void Init()
        {
            var funconfig = FuncConfigConfig.Get("AuctionHouse").Numerical5;
            MaxFocusCount = int.Parse(funconfig);
            var funconfig = FuncConfigConfig.Get("AuctionHouse");
            MaxFocusCount = int.Parse(funconfig.Numerical5);
            ExtensionTime = int.Parse(funconfig.Numerical4);
            var AuctionTaxrateConfig = FuncConfigConfig.Get("AuctionTaxrate");
            AuctionTaxrate1 = int.Parse(AuctionTaxrateConfig.Numerical1);
            AuctionTaxrate2 = int.Parse(AuctionTaxrateConfig.Numerical2);
System/Auction/AuctionHouseWin.cs
@@ -67,8 +67,7 @@
        }
        protected override void OnPreClose()
        {
            CloseImmediately();
        {
            if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>())
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
System/Auction/AuctionInquiryModel.cs
@@ -18,7 +18,8 @@
        public int ItemID;//物品ID
        public int ItemCount;
        public string TimeStr;//上架时间 yyyy-MM-dd hh:mm:ss
        public DateTime Time;
        public DateTime Time;//上架时间
        public DateTime TimeEnd;//最后上架时间
        public int BidderPrice;//竞拍玩家出价
        public string UserData;//自定义数据
        public string FamilyPlayerIDInfo;//可获得收益的仙盟玩家ID信息
@@ -100,7 +101,7 @@
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;
        }
        public override void UnInit()
        {
@@ -108,7 +109,7 @@
        private void OnRefreshFairyMine()//用于被提出仙盟清除仙盟拍品
        {
            if (!PlayerDatas.Instance.fairyData.HasFairy)
            if (PlayerDatas.Instance.baseData.FamilyId == 0)
            {
                FamilyAuctionItemDic.Clear();
                if (ClearFamilyAuctionUpdate != null)
@@ -131,6 +132,11 @@
                playerAuctionItemClass.ItemCount = (int)PlayerAuctionItem.ItemCount;
                playerAuctionItemClass.TimeStr = PlayerAuctionItem.AddTime;
                playerAuctionItemClass.Time = DateTime.Parse(PlayerAuctionItem.AddTime);
                var str = UIHelper.ServerStringTrim(PlayerAuctionItem.BiddingTime);
                if (!str.Equals(string.Empty))
                {
                    playerAuctionItemClass.TimeEnd = DateTime.Parse(str);
                }
                playerAuctionItemClass.BidderPrice = PlayerAuctionItem.BidderPrice;
                playerAuctionItemClass.UserData = PlayerAuctionItem.UserData;
                var index = FullServiceAuctionList.FindIndex((x) => { return x.ItemGUID == PlayerAuctionItem.ItemGUID; });
@@ -151,7 +157,7 @@
                {
                    FullServiceAuctionList.InsertRange(FullServiceAuctionList.Count - 1, fullServiceAuctionList);
                }
            }
            else if (info.QueryDir == 2)//往前查询
            {
@@ -169,7 +175,7 @@
                    FullServiceAuctionList.InsertRange(FullServiceAuctionList.Count - 1, fullServiceAuctionList);
                }
                LocationQuery = true;
                WindowCenter.Instance.Open<AuctionHouseWin>(true,0);//定位查询
                WindowCenter.Instance.Open<AuctionHouseWin>(true, 0);//定位查询
            }
            if (FullServiceAuctionUpdate != null)
@@ -190,6 +196,11 @@
                playerAuctionItemClass.ItemCount = (int)PlayerAuctionItem.ItemCount;
                playerAuctionItemClass.TimeStr = PlayerAuctionItem.AddTime;
                playerAuctionItemClass.Time = DateTime.Parse(PlayerAuctionItem.AddTime);
                var str = UIHelper.ServerStringTrim(PlayerAuctionItem.BiddingTime);
                if (!str.Equals(string.Empty))
                {
                    playerAuctionItemClass.TimeEnd = DateTime.Parse(str);
                }
                playerAuctionItemClass.BidderPrice = PlayerAuctionItem.BidderPrice;
                playerAuctionItemClass.UserData = PlayerAuctionItem.UserData;
                if (PlayerAuctionItemInfoDic.ContainsKey(playerAuctionItemClass.ItemGUID))
@@ -277,6 +288,11 @@
                familyAuctionItemClass.ItemCount = (int)FamilyAuctionItem.ItemCount;
                familyAuctionItemClass.TimeStr = FamilyAuctionItem.AddTime;
                familyAuctionItemClass.Time = DateTime.Parse(FamilyAuctionItem.AddTime);
                var str = UIHelper.ServerStringTrim(FamilyAuctionItem.BiddingTime);
                if (!str.Equals(string.Empty))
                {
                    familyAuctionItemClass.TimeEnd = DateTime.Parse(str);
                }
                familyAuctionItemClass.BidderPrice = FamilyAuctionItem.BidderPrice;
                familyAuctionItemClass.UserData = FamilyAuctionItem.UserData;
                familyAuctionItemClass.FamilyPlayerIDInfo = FamilyAuctionItem.FamilyPlayerIDInfo;
@@ -323,6 +339,11 @@
                playerAuctionItemClass.ItemCount = (int)AttentionAuctionItem.ItemCount;
                playerAuctionItemClass.TimeStr = AttentionAuctionItem.AddTime;
                playerAuctionItemClass.Time = DateTime.Parse(AttentionAuctionItem.AddTime);
                var str = UIHelper.ServerStringTrim(AttentionAuctionItem.BiddingTime);
                if (!str.Equals(string.Empty))
                {
                    playerAuctionItemClass.TimeEnd = DateTime.Parse(str);
                }
                playerAuctionItemClass.BidderPrice = AttentionAuctionItem.BidderPrice;
                playerAuctionItemClass.UserData = AttentionAuctionItem.UserData;
                if (AttentionAuctionItemDic.ContainsKey(playerAuctionItemClass.ItemGUID))
@@ -373,6 +394,11 @@
                    {
                        FamilyAuctionItem.TimeStr = RefreshAuctionItem.AddTime;
                        FamilyAuctionItem.Time = DateTime.Parse(RefreshAuctionItem.AddTime);
                        var str = UIHelper.ServerStringTrim(RefreshAuctionItem.BiddingTime);
                        if (!str.Equals(string.Empty))
                        {
                            FamilyAuctionItem.TimeEnd = DateTime.Parse(str);
                        }
                        FamilyAuctionItem.BidderID = (int)RefreshAuctionItem.BidderID;
                        FamilyAuctionItem.BidderPrice = (int)RefreshAuctionItem.BidderPrice;
                        FamilyAuctionItemDic[RefreshAuctionItem.ItemGUID] = FamilyAuctionItem;
@@ -458,6 +484,11 @@
                BiddingItemClass.FamilyID = (int)BiddingItem.FamilyID;
                BiddingItemClass.TimeStr = BiddingItem.AddTime;
                BiddingItemClass.Time = DateTime.Parse(BiddingItem.AddTime);
                var str = UIHelper.ServerStringTrim(BiddingItem.BiddingTime);
                if (!str.Equals(string.Empty))
                {
                    BiddingItemClass.TimeEnd = DateTime.Parse(str);
                }
                BiddingItemClass.BidderPrice = BiddingItem.BidderPrice;//竞拍玩家出价
                BiddingItemClass.BidderID = (int)BiddingItem.BidderID;//竞拍玩家ID,也就是当前最高竞价玩家ID
                BiddingItemClass.UserData = BiddingItem.UserData;
@@ -476,9 +507,9 @@
            }
        }
        private  void SetRedPoint()
        private void SetRedPoint()
        {
             int GetDayOfYear = DateTime.Now.DayOfYear;
            int GetDayOfYear = DateTime.Now.DayOfYear;
            string strKey = "AuctionRedPoint" + PlayerDatas.Instance.baseData.PlayerID;
            int day = LocalSave.GetInt(strKey);
            if (day != GetDayOfYear)
System/Auction/FamilyAuctioncell.cs
@@ -64,8 +64,9 @@
                return;
            }
            AuctionItem = auctionItem;
            var jobBool = itemConfig.JobLimit == PlayerDatas.Instance.baseData.Job;
            var equipNeedBool = auctionHelpModel.WhetherEquipped(itemConfig.LV, itemConfig.EquipPlace);
            if (!equipNeedBool)//是否需要
            if (!equipNeedBool && jobBool)//是否需要
            {
                m_NeedImage.SetActive(true);
            }
@@ -99,8 +100,8 @@
                m_EquipmentScoreObj.SetActive(true);
                m_Score.text = cellModel.score.ToString();
                var equipScore = auctionHelpModel.GetEquipScore(itemConfig.LV, itemConfig.EquipPlace);
                m_StateIcon.SetActive(cellModel.score > equipScore);
                m_DeclineIcon.SetActive(equipScore > cellModel.score);
                m_StateIcon.SetActive(cellModel.score > equipScore && jobBool);
                m_DeclineIcon.SetActive(equipScore > cellModel.score && jobBool);
            }
            else
            {
@@ -217,8 +218,8 @@
                    }
                    if (m_BiddingButton.interactable && needMoney >= maxMoney && AuctionItem.BuyoutPrice != 0)
                    {
                        m_PriceButton.interactable = false;
                        m_PriceImage.gray = true;
                        m_BiddingButton.interactable = false;
                        m_BiddingImage.gray = true;
                    }
                    int seconds = AuctionItem.FamilySaleMinutes * 60 - ((int)timeSpan.TotalSeconds - AuctionItem.NoticeSaleMinutes * 60);
                    m_TimeText.text = Language.Get("PMH_04", TimeUtility.SecondsToHMS(seconds));
System/Auction/FullServiceAuctioncell.cs
@@ -86,8 +86,9 @@
                return;
            }
            AuctionItem = auctionItem;
            var jobBool = itemConfig.JobLimit == PlayerDatas.Instance.baseData.Job;
            var equipNeedBool = auctionHelpModel.WhetherEquipped(itemConfig.LV, itemConfig.EquipPlace);
            if (!equipNeedBool)
            if (!equipNeedBool && jobBool)
            {
                m_NeedImage.SetActive(true);
            }
@@ -122,8 +123,8 @@
                m_EquipmentScoreObj.SetActive(true);
                m_Score.text = cellModel.score.ToString();
                var equipScore = auctionHelpModel.GetEquipScore(itemConfig.LV, itemConfig.EquipPlace);
                m_StateIcon.SetActive(cellModel.score > equipScore);
                m_DeclineIcon.SetActive(equipScore> cellModel.score);
                m_StateIcon.SetActive(cellModel.score > equipScore && jobBool);
                m_DeclineIcon.SetActive(equipScore> cellModel.score && jobBool);
            }
            else
            {
@@ -200,8 +201,10 @@
            if (AuctionItem != null && FullServiceAuction != null)
            {
                var timeNow = TimeUtility.ServerNow;
                TimeSpan timeSpan = timeNow - FullServiceAuction.Time;
                TimeSpan timeSpan = timeNow - FullServiceAuction.Time;
                int minute = (int)timeSpan.TotalMinutes;
                DateTime extensionTime = FullServiceAuction.TimeEnd.AddSeconds(auctionHelpModel.ExtensionTime);
                if (minute < AuctionItem.NoticeSaleMinutes)//预热中
                {
                    if (m_PriceButton.interactable)
@@ -217,7 +220,7 @@
                    int seconds = AuctionItem.NoticeSaleMinutes * 60 - (int)timeSpan.TotalSeconds;
                    m_TimeText.text = Language.Get("PMH_03", TimeUtility.SecondsToHMS(seconds));
                }
                else if (minute >= AuctionItem.NoticeSaleMinutes && minute <= AuctionItem.WorldSaleMinutes)//拍卖中
                else if (minute <= AuctionItem.WorldSaleMinutes)//拍卖中
                {
                    var maxMoney = AuctionItem.BuyoutPrice * FullServiceAuction.ItemCount;
                    var needMoney = 0;
@@ -241,12 +244,19 @@
                    }
                    if (m_BiddingButton.interactable && needMoney >= maxMoney && AuctionItem.BuyoutPrice != 0)
                    {
                        m_PriceButton.interactable = false;
                        m_PriceImage.gray = true;
                        m_BiddingButton.interactable = false;
                        m_BiddingImage.gray = true;
                    }
                    int seconds = AuctionItem.WorldSaleMinutes * 60 - ((int)timeSpan.TotalSeconds - AuctionItem.NoticeSaleMinutes * 60);
                    m_TimeText.text = Language.Get("PMH_04", TimeUtility.SecondsToHMS(seconds));
                }
                else if(timeNow< extensionTime)
                {
                    m_TimeText.text = Language.Get("PMH_04",0);
                    TimeSpan timeSpan2 = extensionTime - timeNow;
                    int timeSeconds = (int)timeSpan2.TotalSeconds;
                    DebugEx.LogError(Language.Get("PMH_04", TimeUtility.SecondsToHMS(timeSeconds)));
                }
            }
        }
    }
System/Auction/MyAuctionCell.cs
@@ -66,6 +66,7 @@
                DebugEx.LogError("拍卖物品表没有找到该物品,物品ID为" + myAuction.ItemID);
                return;
            }
            var jobBool = itemConfig.JobLimit == PlayerDatas.Instance.baseData.Job;
            AuctionItem = auctionItem;
            m_Income.text = 0.ToString();
            if (myAuction.BidderPrice == 0)
@@ -102,7 +103,7 @@
                    int auctionTaxrate = Mathf.CeilToInt((float)(auctionHelpModel.
                       AuctionTaxrate2 * myAuction.BidderPrice * myAuction.ItemCount) / 100);//仙盟税收
                    int number = myAuction.BidderPrice * myAuction.ItemCount - auctionTaxrate;
                    int incomeMax = number - Mathf.CeilToInt((float)(number * auctionHelpModel.AuctionTaxrate3) / 100);
                    int incomeMax =Mathf.CeilToInt((float)(number * auctionHelpModel.AuctionTaxrate3) / 100);
                    int incomeNumber = Mathf.FloorToInt((float)number / myAuction.FamilyPlayerIDList.Count);
                    if (incomeMax >= incomeNumber)
                    {
@@ -128,8 +129,8 @@
                m_EquipmentScoreObj.SetActive(true);
                m_Score.text = cellModel.score.ToString();
                var equipScore = auctionHelpModel.GetEquipScore(itemConfig.LV, itemConfig.EquipPlace);
                m_StateIcon.SetActive(cellModel.score > equipScore);
                m_DeclineIcon.SetActive(equipScore > cellModel.score);
                m_StateIcon.SetActive(cellModel.score > equipScore && jobBool);
                m_DeclineIcon.SetActive(equipScore > cellModel.score && jobBool);
            }
            else
            {
System/Auction/MyFocusCell.cs
@@ -76,8 +76,9 @@
                return;
            }
            AuctionItem = auctionItem;
            var jobBool = itemConfig.JobLimit == PlayerDatas.Instance.baseData.Job;
            var equipNeedBool = auctionHelpModel.WhetherEquipped(itemConfig.LV, itemConfig.EquipPlace);
            if (!equipNeedBool)//是否需要
            if (!equipNeedBool && jobBool)//是否需要
            {
                m_NeedImage.SetActive(true);
            }
@@ -103,8 +104,8 @@
                m_EquipmentScoreObj.SetActive(true);
                m_Score.text = cellModel.score.ToString();
                var equipScore = auctionHelpModel.GetEquipScore(itemConfig.LV, itemConfig.EquipPlace);
                m_StateIcon.SetActive(cellModel.score > equipScore);
                m_DeclineIcon.SetActive(equipScore > cellModel.score);
                m_StateIcon.SetActive(cellModel.score > equipScore && jobBool);
                m_DeclineIcon.SetActive(equipScore > cellModel.score && jobBool);
            }
            else
            {
@@ -222,8 +223,8 @@
                    }
                    if (m_BiddingButton.interactable && needMoney >= maxMoney && AuctionItem.BuyoutPrice != 0)
                    {
                        m_PriceButton.interactable = false;
                        m_PriceImage.gray = true;
                        m_BiddingButton.interactable = false;
                        m_BiddingImage.gray = true;
                    }
                    if (!m_BiddingTextObj.activeSelf)
                    {
System/Auction/MyFocusWin.cs
@@ -40,20 +40,24 @@
        protected override void OnAfterOpen()
        {
            model.AttentionAuctionItemUdate += Reset;
            model.ClearAuctionUpdate += Reset;
            model.AttentionAuctionItemUdate += ResetUpdate;
            model.ClearAuctionUpdate += ResetUpdate;
            model.RefreshAuctionItemUpdate -= AuctionItemUpdate;//刷新
            model.FamilyAuctionItemUpdate += Reset;
            model.FamilyAuctionItemUpdate += ResetUpdate;
            model.AddAuctionItemInfoUpdate += AddAuctionItemInfoUpdate;
            model.BiddingItemInfoUpdate += ResetUpdate;
        }
        protected override void OnPreClose()
        {
            model.AttentionAuctionItemUdate -= Reset;
            model.ClearAuctionUpdate -= Reset;
            model.AttentionAuctionItemUdate -= ResetUpdate;
            model.ClearAuctionUpdate -= ResetUpdate;
            model.RefreshAuctionItemUpdate -= AuctionItemUpdate;//刷新
            model.FamilyAuctionItemUpdate -= Reset;
            model.FamilyAuctionItemUpdate -= ResetUpdate;
            model.AddAuctionItemInfoUpdate -= AddAuctionItemInfoUpdate;
            model.BiddingItemInfoUpdate -= ResetUpdate;
        }
@@ -63,7 +67,12 @@
        }
        #endregion
        private void Reset()
        private void AddAuctionItemInfoUpdate()
        {
            AuctionInquiry.Instance.SendQueryAttentionAuctionItem();//查询拍卖行的关注物品
            ResetUpdate();
        }
        private void ResetUpdate()
        {
            GetMyFocusList();
            ListSotr();
System/Auction/TransactionRecordWin.cs
@@ -177,7 +177,7 @@
            itemCell.Init(cellModel);
            itemCell.button.SetListener(() =>
            {
                ItemAttrData attrData = new ItemAttrData(itemConfig.ID, true, (ulong)1);
                ItemAttrData attrData = new ItemAttrData(itemConfig.ID, true, (ulong)auctionRecord.ItemCount);
                itemTipsModel.SetItemTipsModel(attrData);
            });
            textName.text = itemConfig.ItemName;
System/Equip/EquipSlotBehaviour.cs
@@ -18,10 +18,12 @@
        [SerializeField] Image m_IconFrame;
        [SerializeField] RectTransform m_LockContainer;
        [SerializeField] Text m_UnLockCondition;
        [SerializeField] Text m_Star;
        EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        ItemTipsModel tipModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        int level = 0;
        int place = 0;
@@ -57,7 +59,9 @@
            if (unLocked)
            {
                m_LockContainer.gameObject.SetActive(false);
                m_SlotName.gameObject.SetActive(string.IsNullOrEmpty(slot.equip.value));
                var hasEquip = string.IsNullOrEmpty(slot.equip.value);
                m_SlotName.gameObject.SetActive(!hasEquip);
            }
            else
            {
@@ -94,12 +98,18 @@
                    m_SlotName.gameObject.SetActive(true);
                    m_Icon.SetSprite(GetDefaultEquipIcon(slot.equipPosition.y));
                    m_IconFrame.SetSprite("ItemNormal_a");
                    m_Star.gameObject.SetActive(false);
                }
                else
                {
                    m_SlotName.gameObject.SetActive(false);
                    m_Icon.SetSprite(equip.config.IconKey);
                    m_IconFrame.SetItemBackGround(equip.config.ItemColor);
                    var starLevel = starModel.GetEquipStarLevel(slot.equipPosition);
                    m_Star.gameObject.SetActive(true);
                    m_Star.text = starLevel >= 1 ? string.Format("{0}星", starLevel) : "";
                }
            }
        }
System/Equip/EquipSuitPropertyWidget.cs
@@ -38,22 +38,23 @@
            m_StarToggles[1].SetActive(maxLevel >= 3);
            m_StarToggles[0].SetActive(true);
            if (eightSuitLevel < 0)
            {
                m_StarToggles[0].Select();
            }
            else if (eightSuitLevel < 3)
            {
                m_StarToggles[1].Select();
            }
            else if (eightSuitLevel < 6)
            {
                m_StarToggles[2].Select();
            }
            else
            if (eightSuitLevel >= 6 && maxLevel >= 9)
            {
                m_StarToggles[3].Select();
            }
            else if (eightSuitLevel >= 3 && maxLevel >= 6)
            {
                m_StarToggles[2].Select();
            }
            else if (eightSuitLevel >= 0 && maxLevel >= 3)
            {
                m_StarToggles[1].Select();
            }
            else
            {
                m_StarToggles[0].Select();
            }
        }
        public void DisplaySuitPlaces(List<int> places)
System/EquipGem/EquipGemSelectBehaviour.cs
@@ -14,6 +14,7 @@
        [SerializeField] Text m_EquipPlaceName;
        [SerializeField] Transform m_ContainerSelect;
        [SerializeField] ItemCell m_Item;
        [SerializeField] Text m_EquipStar;
        [SerializeField] Text m_ItemName;
        [SerializeField] TinyGem[] m_TinyGems;
        [SerializeField] Button m_Select;
@@ -70,6 +71,10 @@
                m_Item.Init(item);
                m_ItemName.text = item.config.ItemName;
                m_ItemName.color = UIHelper.GetUIColor(item.config.ItemColor, true);
                var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV);
                var starLevel = Mathf.Min(maxStar, equipStarModel.GetEquipStarLevel(new Int2(equipLevel, equipPlace)));
                m_EquipStar.text = starLevel == 0 ? string.Empty : Language.Get("EquipStarLevel", starLevel);
            }
        }
System/EquipGem/EquipGemWin.cs
@@ -16,6 +16,7 @@
    {
        [SerializeField] ScrollerController m_Controller;
        [SerializeField] ItemCell m_EquipItem;
        [SerializeField] Text m_EquipStar;
        [SerializeField] EquipGemHoleBehaviour[] m_GemHoles;
        EquipGemModel model
@@ -25,6 +26,7 @@
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        EquipStarModel equipStarModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -240,6 +242,10 @@
                    itemTipsModel.SetItemTipsModel(PackType.Item, equipGuid, false, true);
                    itemTipsModel.ShowUICtrl();
                });
                var maxStar = EquipStarModel.GetMaxStarLevel(equip.config.ItemColor, equip.config.LV);
                var starLevel = Mathf.Min(maxStar, equipStarModel.GetEquipStarLevel(equipPosition));
                m_EquipStar.text = starLevel == 0 ? string.Empty : Language.Get("EquipStarLevel", starLevel);
            }
            for (int i = 0; i < m_GemHoles.Length; i++)
System/EquipStar/EquipStarModel.cs
@@ -20,9 +20,9 @@
            {3,new LogicString () },
            {4,new LogicString () },
            {5,new LogicString () },
            {6,new LogicString () },
        };
        public readonly LogicInt specialMaterial = new LogicInt();
        public readonly LogicInt starResultEffect = new LogicInt();
        Dictionary<int, EquipSetStar> equipStars = new Dictionary<int, EquipSetStar>();
@@ -105,8 +105,7 @@
                return;
            }
            var specialMaterial = packModel.GetItemByGuid(materials[6].value);
            if (config.CostItemDict.x > 0 && (specialMaterial == null || specialMaterial.config.ID != config.CostItemDict.x))
            if (config.CostItemDict.x > 0 && packModel.GetItemCountByID(PackType.Item, config.CostItemDict.x) < config.CostItemDict.y)
            {
                SysNotifyMgr.Instance.ShowTip("StarLevelUp2", config.CostItemDict.x);
                return;
@@ -365,7 +364,7 @@
                }
            }
            for (var i = 1; i <= 6; i++)
            for (var i = 1; i <= 5; i++)
            {
                var placedMaterialGuid = GetMaterialLogicStringByIndex(i).value;
                var materialItem = packModel.GetItemByGuid(placedMaterialGuid);
@@ -432,12 +431,11 @@
                if (config.CostItemDict.x > 0)
                {
                    var itemId = config.CostItemDict.x;
                    var items = packModel.GetItemsById(PackType.Item, itemId);
                    materials[6].value = items.IsNullOrEmpty() ? string.Empty : items[0].guid;
                    specialMaterial.value = itemId;
                }
                else
                {
                    materials[6].value = string.Empty;
                    specialMaterial.value = 0;
                }
            }
            else
System/EquipStar/EquipStarUpgradeMaterialBehaviour.cs
@@ -29,7 +29,7 @@
            DisplayBaseInfo(this.isUnLocked);
            DisplayDynamicInfo(true);
            m_AddMaterial.SetListener(OpenCandidateMaterials);
            m_AddMaterial.SetListener(AddMaterials);
            m_RemoveMaterial.SetListener(RemoveMaterial);
        }
@@ -69,7 +69,7 @@
            }
        }
        private void OpenCandidateMaterials()
        private void AddMaterials()
        {
            model.operateMaterialIndex.value = m_Index;
        }
System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs
New file
@@ -0,0 +1,72 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, March 26, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class EquipStarUpgradeSpecialMaterialBehaviour : MonoBehaviour
    {
        [SerializeField] RectTransform m_Empty;
        [SerializeField] ItemBehaviour m_Item;
        [SerializeField] Button m_AddMaterial;
        [SerializeField] RectTransform m_Locked;
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        bool isUnLocked = false;
        int itemId = 0;
        public void Display(bool isUnLocked, int itemId)
        {
            this.isUnLocked = isUnLocked;
            this.itemId = itemId;
            DisplayBaseInfo();
            m_AddMaterial.SetListener(AddMaterials);
        }
        private void DisplayBaseInfo()
        {
            m_Locked.gameObject.SetActive(!isUnLocked);
            if (isUnLocked)
            {
                var own = packModel.GetItemCountByID(PackType.Item, itemId);
                if (own > 0)
                {
                    m_Item.gameObject.SetActive(true);
                    m_Item.SetItem(itemId, 1);
                    m_Empty.gameObject.SetActive(false);
                    m_AddMaterial.gameObject.SetActive(false);
                }
                else
                {
                    m_Item.gameObject.SetActive(false);
                    m_Empty.gameObject.SetActive(true);
                    m_AddMaterial.gameObject.SetActive(true);
                }
            }
            else
            {
                m_Empty.gameObject.SetActive(true);
                m_AddMaterial.gameObject.SetActive(false);
                m_Item.gameObject.SetActive(false);
            }
        }
        private void AddMaterials()
        {
            ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(itemId);
        }
    }
}
System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 739e6ee2c7736cf4aaaeacb69f7fd362
timeCreated: 1553586646
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/EquipStar/EquipStarWin.cs
@@ -26,8 +26,8 @@
        [SerializeField] Button m_StarUpgrade;
        [SerializeField] RectTransform m_MaxStarLevelHint;
        [SerializeField] EquipStarMaterialCandidateWidget m_MaterialCandidateWidget;
        [SerializeField] UIEffect m_EffectSuccessfu1;
        [SerializeField] UIEffect m_EffectSuccessfu2;
        [SerializeField] UIEffect m_EffectStarFill;
        [SerializeField] UIEffect m_EffectSuccess;
        [SerializeField] UIEffect m_EffectFailed;
        List<EquipStarLevelSelectBehaviour> levelBehaviours = new List<EquipStarLevelSelectBehaviour>();
@@ -197,10 +197,12 @@
            if (!upgradable || isMax)
            {
                for (var i = 1; i <= 6; i++)
                for (var i = 1; i <= 5; i++)
                {
                    m_Materials[i].Display(false);
                }
                m_Materials.materialSpecial.Display(false, 0);
            }
            else
            {
@@ -210,7 +212,7 @@
                    m_Materials[i].Display(starConfig != null && i <= starConfig.CostEquipCnt);
                }
                m_Materials[6].Display(starConfig != null && starConfig.CostItemDict.x != 0);
                m_Materials.materialSpecial.Display(starConfig != null && starConfig.CostItemDict.x != 0, starConfig.CostItemDict.x);
            }
        }
@@ -386,26 +388,33 @@
        private void PlayStarUpgradeEffect(int result)
        {
            if (result == 1)
            if (result == 1 || result == -1)
            {
                StopCoroutine("Co_PlaySuccessEffect");
                StopCoroutine("Co_PlayFailedEffect");
            }
            if (result == 1)
            {
                StartCoroutine("Co_PlaySuccessEffect");
            }
            else if (result == -1)
            {
                PlayFailedEffect();
                StartCoroutine("Co_PlayFailedEffect");
            }
        }
        IEnumerator Co_PlaySuccessEffect()
        {
            m_EffectSuccessfu1.Play();
            yield return WaitingForSecondConst.WaitMS500;
            m_EffectSuccessfu2.Play();
            m_EffectStarFill.Play();
            yield return WaitingForSecondConst.WaitMS700;
            m_EffectSuccess.Play();
        }
        private void PlayFailedEffect()
        IEnumerator Co_PlayFailedEffect()
        {
            m_EffectStarFill.Play();
            yield return WaitingForSecondConst.WaitMS700;
            m_EffectFailed.Play();
        }
@@ -436,7 +445,7 @@
            public EquipStarUpgradeMaterialBehaviour m_Material3;
            public EquipStarUpgradeMaterialBehaviour m_Material4;
            public EquipStarUpgradeMaterialBehaviour m_Material5;
            public EquipStarUpgradeMaterialBehaviour m_MaterialSpecial;
            public EquipStarUpgradeSpecialMaterialBehaviour materialSpecial;
            public EquipStarUpgradeMaterialBehaviour this[int index] {
                get {
@@ -452,8 +461,6 @@
                            return m_Material4;
                        case 5:
                            return m_Material5;
                        case 6:
                            return m_MaterialSpecial;
                        default:
                            return null;
                    }
System/ItemTip/EquipTipUtility.cs
@@ -42,6 +42,7 @@
            public bool isAuction;
            public bool isEquiped;
            public int star;
            public int score;
            public int auctionSurplusTime;
        }
@@ -277,13 +278,17 @@
        private static BaseInfo GetBaseInfo(string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            var isEquiped = equipModel.GetEquip(new Int2(item.config.LV, item.config.EquipPlace)) == guid;
            var star = isEquiped ? starModel.GetEquipStarLevel(new Int2(item.config.LV, item.config.EquipPlace)) : -1;
            var baseInfo = new BaseInfo()
            {
                itemId = item.itemId,
                isAuction = item.isAuction,
                isEquiped = equipModel.GetEquip(new Int2(item.config.LV, item.config.EquipPlace)) == guid,
                isEquiped = isEquiped,
                score = item.score,
                auctionSurplusTime = item.auctionSurplusTime,
                star = star,
            };
            return baseInfo;
System/ItemTip/EquipTipWin.cs
@@ -278,8 +278,8 @@
                button.SetListener(() =>
                {
                    EquipTipUtility.Operate(operateType, this.guid);
                    WindowCenter.Instance.Close<EquipTipWin>();
                    EquipTipUtility.Operate(operateType, this.guid);
                });
            }
System/ItemTip/TipBaseInfoWidget.cs
@@ -19,6 +19,7 @@
        [SerializeField] Image m_Realm;
        [SerializeField] RectTransform m_SurplusTimeContainer;
        [SerializeField] Text m_SurplusTime;
        [SerializeField] Text m_Star;
        public void Display(EquipTipUtility.BaseInfo baseInfo)
        {
@@ -26,14 +27,17 @@
            {
                m_Label.gameObject.SetActive(true);
                m_Label.SetSprite("Equiped_a");
                m_Star.text = string.Format("{0}星", baseInfo.star);
            }
            else if (baseInfo.isAuction)
            {
                m_Label.gameObject.SetActive(true);
                m_Label.SetSprite("Item_Auction_2");
                m_Star.text = "";
            }
            else
            {
                m_Star.text = "";
                m_Label.gameObject.SetActive(false);
            }
System/MainInterfacePanel/MainButtonMisc.cs
@@ -1,14 +1,14 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, February 19, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, February 19, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
{
    public class MainButtonMisc : MonoBehaviour
    {
        [SerializeField] Button m_RedBag;//红包入口按钮
@@ -52,7 +52,7 @@
            CheckSendRedpackBtn();
            ShowFairyGrabBoss();
            IsCrossServerOneVsOne();
            RedPacketModel.OnRedBagGetEvent += OnRedBagGet;
            OSEnvelopeModel.OSRedEnvelopeUpdateEvent += OnRedBagGet;
            OSEnvelopeModel.OSRedEnvelopeInfoEnvent += OnRedBagGet;
@@ -60,6 +60,8 @@
            PlayerDatas.Instance.playerDataRefreshEvent += Updatefighting;
            GA_NpcCollect.OnArrive += OnArriveCollectNPC;
            GA_NpcCollect.OnLeave += OnLeaveCollectNpc;
            GA_NpcClientCollect.OnArrive += OnArriveCollectNPC;
            GA_NpcClientCollect.OnLeave += OnLeaveCollectNpc;
            wishModel.UpdateWishAwardEvent += UpdateWishAwardImag;
            purchaseModel.UpdateNewMysticalEvent += UpdateMysticalPurchaseImag;
            assistModel.UpdateRedpointEvent += UpdateDungeonAssistImag;
@@ -67,12 +69,12 @@
            fairyGrabBossModel.gotoBossStateUpdate += ShowFairyGrabBoss;
            ChatTip.OnChatUpEvent += RefreshAdaptiveChat;
            fairyModel.UpdateFairyRequestEvent += UpdateFairyRequest;
        }
        }
        public void OnActived()
        {
           RefreshAdaptiveChat();
            RefreshAdaptiveChat();
        }
        }
        public void Unit()
        {
            m_CollectBehaviour.Dispose();
@@ -215,11 +217,11 @@
        {
            m_CollectBehaviour.Dispose();
            m_CollectBehaviour.gameObject.SetActive(false);
        }
        }
        private void ClickWishAward()
        {
            WindowCenter.Instance.Open<WishingGetItemWin>();
        }
        }
        private void UpdateWishAwardImag()
        {
            m_WishingAwardImg.gameObject.SetActive(wishModel.wishingAwardDict.Count > 0 ? true : false);
@@ -235,7 +237,7 @@
        private void ClickDungeonAssist()
        {
            WindowCenter.Instance.Open<DungeonAssistWin>();
        }
        }
        private void UpdateDungeonAssistImag()
        {
            m_DungeonAssistImg.gameObject.SetActive(assistModel.IsNewAssistInfo);
@@ -297,7 +299,7 @@
                        {
                            if (fairyGrabBossModel.flyToGrabBossRemind)
                            {
                                var money = (int)UIHelper.GetMoneyCnt(1) ;
                                var money = (int)UIHelper.GetMoneyCnt(1);
                                if (money >= 1)
                                {
                                    FlyShoesUseCallback();
@@ -369,18 +371,18 @@
        private void OnClickFriendQuest()
        {
            WindowCenter.Instance.Open<FriendQuestWin>();
        }
        }
        private void OnFairyRequestClick()
        {
            WindowCenter.Instance.Open<FairyInviteWin>();
        }
        }
        private void UpdateFairyRequest()
        {
            m_FairyRequestBtn.gameObject.SetActive(fairyModel.FairyRequestRedPoint.count > 0);
        }
    }
}
        }
    }
}
System/MainInterfacePanel/MainCollectBehaviour.cs
@@ -1,7 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
@@ -82,5 +82,5 @@
            }
        }
    }
}
}
System/MainInterfacePanel/TaskModel.cs
@@ -363,14 +363,15 @@
        if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing)
        {
            return;
        }
        }
        bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>();
        var state = GetQuestState(taskID);
        var config = StoryMissionsConfig.GetConfig(taskID, state);
        bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>();
        if (config != null)
        var state = 0;
        if (TryGetCustomTaskState(taskID, out state))
        {
            if (NPCid == config.NpcID)
            var config = StoryMissionsConfig.GetConfig(taskID, state);
            if (config != null && NPCid == config.NpcID)
            {
                if (!WindowCenter.Instance.IsOpen<DialogueDuidanceWin>() && IsOpenMain
                     && !WindowCenter.Instance.ExistAnyFullScreenOrMaskWin())
@@ -380,44 +381,21 @@
                    WindowCenter.Instance.Open<DialogueDuidanceWin>();
                }
                return;
            }
            if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain)
            {
                WindowCenter.Instance.Close<MainInterfaceWin>();
                WindowCenter.Instance.Open<TaskBoxBGMWin>();
                return;
            }
            else
            {
                if (BountyDic.ContainsKey(_TaskNow) || FairyAuDic.ContainsKey(_TaskNow))
                {
                    if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
                    {
                        RequestGetTaskAward("OK");
                    }
                }
            }
        }
        else
        {
            if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain)
            {
                WindowCenter.Instance.Close<MainInterfaceWin>();
                WindowCenter.Instance.Open<TaskBoxBGMWin>();
                return;
            }
            else
            {
                if (BountyDic.ContainsKey(_TaskNow) || FairyAuDic.ContainsKey(_TaskNow))
                {
                    if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
                    {
                        RequestGetTaskAward("OK");
                    }
                }
            }
        }
            }
        }
        if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain)
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<TaskBoxBGMWin>();
            return;
        }
        if (BountyDic.ContainsKey(_TaskNow) || FairyAuDic.ContainsKey(_TaskNow))
        {
            if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
            {
                RequestGetTaskAward("OK");
            }
        }
    }
@@ -431,6 +409,21 @@
    }
    public bool TryGetCustomTaskState(int taskId, out int state)
    {
        state = 0;
        if (ReplaceDic.ContainsKey(taskId))
        {
            var keyValue = ReplaceDic[taskId];
            if (keyValue.ContainsKey("state"))
            {
                state = keyValue["state"];
                return true;
            }
        }
        return false;
    }
    void AddMission(int MissionID, int MissionState, int DiscriptionIndex)//添加任务
    {
        var config = PyTaskConfig.Get(MissionID);
System/Realm/NormalCollectWin.cs
@@ -73,7 +73,6 @@
        {
            var progress = 1 - (float)(endTime - TimeUtility.ServerNow).TotalMilliseconds / s_CollectInfo.MaxTime;
            m_SmoothSlider.value = progress;
            progress = (float)Math.Round(progress * 100, 0);
            if (currentProgress != progress)
            {
@@ -81,7 +80,7 @@
                m_Progress.text = StringUtility.Contact(currentProgress, "%");
            }
            if (currentProgress >= 1)
            if (currentProgress >= 100)
            {
                CloseImmediately();
            }
Utility/EnumHelper.cs
@@ -6,8 +6,8 @@
    Guard,
    NpcFightNorm,
    NpcFightBoss,
    NpcCollect,
    NpcSummonFunc,
    NpcCollect,
    NpcSummonFight,
    NpcFunc,
    Pet,