Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
3个文件已删除
43个文件已修改
2个文件已添加
1 文件已复制
1 文件已重命名
| | |
| | | //--------------------------------------------------------
|
| | | // [Author]: Fish
|
| | | // [ Date ]: Thursday, February 14, 2019
|
| | | //--------------------------------------------------------
|
| | |
|
| | | using System.Collections.Generic;
|
| | | using System.IO;
|
| | | using System.Threading;
|
| | | using System;
|
| | | using UnityEngine;
|
| | |
|
| | | [XLua.LuaCallCSharp]
|
| | | public partial class StoryMissionsConfig
|
| | | {
|
| | |
|
| | | public readonly int TaskID;
|
| | | public readonly int[] NpcID;
|
| | | //-------------------------------------------------------- |
| | | // [Author]: Fish |
| | | // [ Date ]: Tuesday, March 26, 2019 |
| | | //-------------------------------------------------------- |
| | | |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Threading; |
| | | using System; |
| | | using UnityEngine; |
| | | |
| | | [XLua.LuaCallCSharp] |
| | | public partial class StoryMissionsConfig |
| | | { |
| | | |
| | | public readonly int id;
|
| | | public readonly int TaskID;
|
| | | public readonly int state;
|
| | | public readonly int NpcID;
|
| | | public readonly int[] TalkNum;
|
| | | public readonly string[] content;
|
| | | public readonly string content;
|
| | | public readonly int[] Speaker1;
|
| | | public readonly int[] Speaker2;
|
| | | public readonly string[] NpcIcon;
|
| | | public readonly int TaskMusic;
|
| | | public readonly int TaskMusic; |
| | | |
| | | public StoryMissionsConfig() |
| | | { |
| | | } |
| | | |
| | | public StoryMissionsConfig(string input) |
| | | { |
| | | try |
| | | { |
| | | var tables = input.Split('\t'); |
| | | |
| | | int.TryParse(tables[0],out id); |
| | |
|
| | | public StoryMissionsConfig()
|
| | | {
|
| | | }
|
| | | int.TryParse(tables[1],out TaskID); |
| | |
|
| | | public StoryMissionsConfig(string input)
|
| | | {
|
| | | try
|
| | | {
|
| | | var tables = input.Split('\t');
|
| | | int.TryParse(tables[2],out state); |
| | |
|
| | | int.TryParse(tables[0],out TaskID); |
| | | int.TryParse(tables[3],out NpcID); |
| | |
|
| | | string[] NpcIDStringArray = tables[1].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); |
| | | NpcID = new int[NpcIDStringArray.Length]; |
| | | for (int i=0;i<NpcIDStringArray.Length;i++) |
| | | { |
| | | int.TryParse(NpcIDStringArray[i],out NpcID[i]); |
| | | }
|
| | |
|
| | | string[] TalkNumStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); |
| | | string[] TalkNumStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); |
| | | TalkNum = new int[TalkNumStringArray.Length]; |
| | | for (int i=0;i<TalkNumStringArray.Length;i++) |
| | | { |
| | | int.TryParse(TalkNumStringArray[i],out TalkNum[i]); |
| | | }
|
| | |
|
| | | content = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
|
| | | content = tables[5];
|
| | |
|
| | | string[] Speaker1StringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); |
| | | string[] Speaker1StringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); |
| | | Speaker1 = new int[Speaker1StringArray.Length]; |
| | | for (int i=0;i<Speaker1StringArray.Length;i++) |
| | | { |
| | | int.TryParse(Speaker1StringArray[i],out Speaker1[i]); |
| | | }
|
| | |
|
| | | string[] Speaker2StringArray = tables[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); |
| | | Speaker2 = new int[Speaker2StringArray.Length]; |
| | | for (int i=0;i<Speaker2StringArray.Length;i++) |
| | | { |
| | | int.TryParse(Speaker2StringArray[i],out Speaker2[i]); |
| | | }
|
| | |
|
| | | NpcIcon = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
|
| | |
|
| | | int.TryParse(tables[7],out TaskMusic); |
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | DebugEx.Log(ex);
|
| | | }
|
| | | }
|
| | |
|
| | | static Dictionary<string, StoryMissionsConfig> configs = new Dictionary<string, StoryMissionsConfig>();
|
| | | public static StoryMissionsConfig Get(string id)
|
| | | { |
| | | if (!inited)
|
| | | {
|
| | | Debug.Log("StoryMissionsConfig 还未完成初始化。");
|
| | | return null;
|
| | | }
|
| | | |
| | | if (configs.ContainsKey(id))
|
| | | {
|
| | | return configs[id];
|
| | | }
|
| | |
|
| | | StoryMissionsConfig config = null;
|
| | | if (rawDatas.ContainsKey(id))
|
| | | {
|
| | | config = configs[id] = new StoryMissionsConfig(rawDatas[id]);
|
| | | rawDatas.Remove(id);
|
| | | }
|
| | |
|
| | | return config;
|
| | | }
|
| | |
|
| | | public static StoryMissionsConfig Get(int id)
|
| | | {
|
| | | return Get(id.ToString());
|
| | | }
|
| | |
|
| | | public static List<string> GetKeys()
|
| | | {
|
| | | var keys = new List<string>();
|
| | | keys.AddRange(configs.Keys);
|
| | | keys.AddRange(rawDatas.Keys);
|
| | | return keys;
|
| | | }
|
| | |
|
| | | public static List<StoryMissionsConfig> GetValues()
|
| | | {
|
| | | var values = new List<StoryMissionsConfig>();
|
| | | values.AddRange(configs.Values);
|
| | |
|
| | | var keys = new List<string>(rawDatas.Keys);
|
| | | foreach (var key in keys)
|
| | | {
|
| | | values.Add(Get(key));
|
| | | }
|
| | |
|
| | | return values;
|
| | | }
|
| | |
|
| | | public static bool Has(string id)
|
| | | {
|
| | | return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
|
| | | }
|
| | |
|
| | | public static bool Has(int id)
|
| | | {
|
| | | return Has(id.ToString());
|
| | | }
|
| | |
|
| | | public static bool inited { get; private set; }
|
| | | protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
|
| | | public static void Init(bool sync=false)
|
| | | {
|
| | | inited = false;
|
| | | var path = string.Empty;
|
| | | if (AssetSource.refdataFromEditor)
|
| | | {
|
| | | path = ResourcesPath.CONFIG_FODLER +"/StoryMissions.txt";
|
| | | }
|
| | | else
|
| | | {
|
| | | path = AssetVersionUtility.GetAssetFilePath("config/StoryMissions.txt");
|
| | | }
|
| | |
|
| | | var tempConfig = new StoryMissionsConfig();
|
| | | var preParse = tempConfig is IConfigPostProcess;
|
| | |
|
| | | if (sync)
|
| | | {
|
| | | var lines = File.ReadAllLines(path);
|
| | | if (!preParse)
|
| | | {
|
| | | rawDatas = new Dictionary<string, string>(lines.Length - 3);
|
| | | }
|
| | | for (int i = 3; i < lines.Length; i++)
|
| | | {
|
| | | try |
| | | {
|
| | | var line = lines[i];
|
| | | var index = line.IndexOf("\t");
|
| | | if (index == -1)
|
| | | {
|
| | | continue;
|
| | | }
|
| | | var id = line.Substring(0, index);
|
| | |
|
| | | if (preParse)
|
| | | {
|
| | | var config = new StoryMissionsConfig(line);
|
| | | configs[id] = config;
|
| | | (config as IConfigPostProcess).OnConfigParseCompleted();
|
| | | }
|
| | | else
|
| | | {
|
| | | rawDatas[id] = line;
|
| | | }
|
| | | }
|
| | | catch (System.Exception ex)
|
| | | {
|
| | | Debug.LogError(ex);
|
| | | }
|
| | | }
|
| | | inited = true;
|
| | | }
|
| | | else
|
| | | {
|
| | | ThreadPool.QueueUserWorkItem((object _object) =>
|
| | | {
|
| | | var lines = File.ReadAllLines(path);
|
| | | if (!preParse)
|
| | | {
|
| | | rawDatas = new Dictionary<string, string>(lines.Length - 3);
|
| | | }
|
| | | for (int i = 3; i < lines.Length; i++)
|
| | | {
|
| | | try |
| | | {
|
| | | var line = lines[i];
|
| | | var index = line.IndexOf("\t");
|
| | | if (index == -1)
|
| | | {
|
| | | continue;
|
| | | }
|
| | | var id = line.Substring(0, index);
|
| | |
|
| | | if (preParse)
|
| | | {
|
| | | var config = new StoryMissionsConfig(line);
|
| | | configs[id] = config;
|
| | | (config as IConfigPostProcess).OnConfigParseCompleted();
|
| | | }
|
| | | else
|
| | | {
|
| | | rawDatas[id] = line;
|
| | | }
|
| | | }
|
| | | catch (System.Exception ex)
|
| | | {
|
| | | Debug.LogError(ex);
|
| | | }
|
| | | }
|
| | |
|
| | | inited = true;
|
| | | });
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | int.TryParse(tables[7],out TaskMusic); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | DebugEx.Log(ex); |
| | | } |
| | | } |
| | | |
| | | static Dictionary<string, StoryMissionsConfig> configs = new Dictionary<string, StoryMissionsConfig>(); |
| | | public static StoryMissionsConfig Get(string id) |
| | | { |
| | | if (!inited) |
| | | { |
| | | Debug.Log("StoryMissionsConfig 还未完成初始化。"); |
| | | return null; |
| | | } |
| | | |
| | | if (configs.ContainsKey(id)) |
| | | { |
| | | return configs[id]; |
| | | } |
| | | |
| | | StoryMissionsConfig config = null; |
| | | if (rawDatas.ContainsKey(id)) |
| | | { |
| | | config = configs[id] = new StoryMissionsConfig(rawDatas[id]); |
| | | rawDatas.Remove(id); |
| | | } |
| | | |
| | | return config; |
| | | } |
| | | |
| | | public static StoryMissionsConfig Get(int id) |
| | | { |
| | | return Get(id.ToString()); |
| | | } |
| | | |
| | | public static List<string> GetKeys() |
| | | { |
| | | var keys = new List<string>(); |
| | | keys.AddRange(configs.Keys); |
| | | keys.AddRange(rawDatas.Keys); |
| | | return keys; |
| | | } |
| | | |
| | | public static List<StoryMissionsConfig> GetValues() |
| | | { |
| | | var values = new List<StoryMissionsConfig>(); |
| | | values.AddRange(configs.Values); |
| | | |
| | | var keys = new List<string>(rawDatas.Keys); |
| | | foreach (var key in keys) |
| | | { |
| | | values.Add(Get(key)); |
| | | } |
| | | |
| | | return values; |
| | | } |
| | | |
| | | public static bool Has(string id) |
| | | { |
| | | return configs.ContainsKey(id) || rawDatas.ContainsKey(id); |
| | | } |
| | | |
| | | public static bool Has(int id) |
| | | { |
| | | return Has(id.ToString()); |
| | | } |
| | | |
| | | public static bool inited { get; private set; } |
| | | protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>(); |
| | | public static void Init(bool sync=false) |
| | | { |
| | | inited = false; |
| | | var path = string.Empty; |
| | | if (AssetSource.refdataFromEditor) |
| | | { |
| | | path = ResourcesPath.CONFIG_FODLER +"/StoryMissions.txt"; |
| | | } |
| | | else |
| | | { |
| | | path = AssetVersionUtility.GetAssetFilePath("config/StoryMissions.txt"); |
| | | } |
| | | |
| | | var tempConfig = new StoryMissionsConfig(); |
| | | var preParse = tempConfig is IConfigPostProcess; |
| | | |
| | | if (sync) |
| | | { |
| | | var lines = File.ReadAllLines(path); |
| | | if (!preParse) |
| | | { |
| | | rawDatas = new Dictionary<string, string>(lines.Length - 3); |
| | | } |
| | | for (int i = 3; i < lines.Length; i++) |
| | | { |
| | | try |
| | | { |
| | | var line = lines[i]; |
| | | var index = line.IndexOf("\t"); |
| | | if (index == -1) |
| | | { |
| | | continue; |
| | | } |
| | | var id = line.Substring(0, index); |
| | | |
| | | if (preParse) |
| | | { |
| | | var config = new StoryMissionsConfig(line); |
| | | configs[id] = config; |
| | | (config as IConfigPostProcess).OnConfigParseCompleted(); |
| | | } |
| | | else |
| | | { |
| | | rawDatas[id] = line; |
| | | } |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | Debug.LogError(ex); |
| | | } |
| | | } |
| | | inited = true; |
| | | } |
| | | else |
| | | { |
| | | ThreadPool.QueueUserWorkItem((object _object) => |
| | | { |
| | | var lines = File.ReadAllLines(path); |
| | | if (!preParse) |
| | | { |
| | | rawDatas = new Dictionary<string, string>(lines.Length - 3); |
| | | } |
| | | for (int i = 3; i < lines.Length; i++) |
| | | { |
| | | try |
| | | { |
| | | var line = lines[i]; |
| | | var index = line.IndexOf("\t"); |
| | | if (index == -1) |
| | | { |
| | | continue; |
| | | } |
| | | var id = line.Substring(0, index); |
| | | |
| | | if (preParse) |
| | | { |
| | | var config = new StoryMissionsConfig(line); |
| | | configs[id] = config; |
| | | (config as IConfigPostProcess).OnConfigParseCompleted(); |
| | | } |
| | | else |
| | | { |
| | | rawDatas[id] = line; |
| | | } |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | Debug.LogError(ex); |
| | | } |
| | | } |
| | | |
| | | inited = true; |
| | | }); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | |
| | | fileFormatVersion: 2 |
| | | guid: cfc7efaf66b8710448b57f2006fe4011 |
| | | timeCreated: 1550120972 |
| | | timeCreated: 1553569420 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | |
| | | |
| | | public partial class StoryMissionsConfig : IConfigPostProcess |
| | | { |
| | | static Dictionary<int, Dictionary<int, int>> m_StoryMissions = |
| | | new Dictionary<int, Dictionary<int, int>>(); |
| | | |
| | | public void OnConfigParseCompleted()
|
| | | {
|
| | | Dictionary<int, int> missons = null;
|
| | | if (!m_StoryMissions.TryGetValue(TaskID, out missons))
|
| | | {
|
| | | missons = new Dictionary<int, int>();
|
| | | m_StoryMissions.Add(TaskID, missons);
|
| | | }
|
| | | missons.Add(state, id);
|
| | | } |
| | | |
| | | public static StoryMissionsConfig GetConfig(int taskId, int state)
|
| | | {
|
| | | if (m_StoryMissions.ContainsKey(taskId))
|
| | | {
|
| | | var missions = m_StoryMissions[taskId];
|
| | | if (missions.ContainsKey(state))
|
| | | {
|
| | | var id = missions[state];
|
| | | return Get(id);
|
| | | }
|
| | | }
|
| | | return null;
|
| | | } |
| | | } |
| | | |
| | | |
| File was renamed from Lua/Gen/StoryMissionsConfigWrap.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 6bc321e7c730e4d4d8a8b9e9d1d054d7 |
| | | timeCreated: 1550122890 |
| | | guid: b6c2dca6b54449d4b8c11039fd6f8c26 |
| | | timeCreated: 1553570058 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | |
|
| | |
|
| | |
|
| | | 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);
|
| | | }
|
| | |
| | |
|
| | |
|
| | |
|
| | | 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);
|
| | | }
|
| | |
| | |
|
| | |
|
| | |
|
| | | 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);
|
| | | }
|
| | |
| | |
|
| | |
|
| | |
|
| | | 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);
|
| | | }
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | 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; //自定义数据
|
| | | }
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | 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; //自定义数据
|
| | | }
|
| | |
| | | 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);
|
| | |
| | | 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;
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | 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; //自定义数据
|
| | | }
|
| | |
| | | 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);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | public string AddTime; //上架时间
|
| | | public uint BidderID; //最高竞拍玩家ID,也就是当前最高竞价玩家ID
|
| | | public uint BidderPrice; //最高竞拍价格
|
| | | public string BiddingTime; //竞价时间 yyyy-MM-dd hh:mm:ss
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | 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; //自定义数据
|
| | | }
|
| | |
| | | |
| | | |
| | | { |
| | | string _equipGuid = LuaAPI.lua_tostring(L, 2); |
| | | |
| | | gen_to_be_invoked.SelectCandidateEquip( _equipGuid ); |
| | | |
| | | |
| | | |
| | | return 0; |
| | | } |
| | | |
| | |
| | | Utils.RegisterFunc(L, Utils.METHOD_IDX, "demonTreasureDungeonUpdate", _e_demonTreasureDungeonUpdate); |
| | | Utils.RegisterFunc(L, Utils.METHOD_IDX, "demonDungeonChallengeNext", _e_demonDungeonChallengeNext); |
| | | |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "stoveRedpoint", _g_get_stoveRedpoint); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedTreasure", _g_get_selectedTreasure); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "treasureStepUpShow", _g_get_treasureStepUpShow); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "treasureStageUpShow", _g_get_treasureStageUpShow); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "currentCategory", _g_get_currentCategory); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "collectingHuman", _g_get_collectingHuman); |
| | |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "treasureBackLvLimit", _g_get_treasureBackLvLimit); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "exitRecord", _g_get_exitRecord); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "entranceOpenCondition", _g_get_entranceOpenCondition); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "cacheGotAchievements", _g_get_cacheGotAchievements); |
| | | Utils.RegisterFunc(L, Utils.GETTER_IDX, "vipKillNPCTreasure", _g_get_vipKillNPCTreasure); |
| | | |
| | | Utils.RegisterFunc(L, Utils.SETTER_IDX, "selectedTreasure", _s_set_selectedTreasure); |
| | | Utils.RegisterFunc(L, Utils.SETTER_IDX, "treasureStepUpShow", _s_set_treasureStepUpShow); |
| | | Utils.RegisterFunc(L, Utils.SETTER_IDX, "treasureStageUpShow", _s_set_treasureStageUpShow); |
| | | Utils.RegisterFunc(L, Utils.SETTER_IDX, "currentCategory", _s_set_currentCategory); |
| | | Utils.RegisterFunc(L, Utils.SETTER_IDX, "collectingHuman", _s_set_collectingHuman); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] |
| | | static int _g_get_stoveRedpoint(RealStatePtr L) |
| | | { |
| | | try { |
| | | ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); |
| | | |
| | | Snxxz.UI.TreasureModel gen_to_be_invoked = (Snxxz.UI.TreasureModel)translator.FastGetCSObj(L, 1); |
| | | translator.Push(L, gen_to_be_invoked.stoveRedpoint); |
| | | } catch(System.Exception gen_e) { |
| | | return LuaAPI.luaL_error(L, "c# exception:" + gen_e); |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] |
| | | static int _g_get_selectedTreasure(RealStatePtr L) |
| | | { |
| | |
| | | |
| | | Snxxz.UI.TreasureModel gen_to_be_invoked = (Snxxz.UI.TreasureModel)translator.FastGetCSObj(L, 1); |
| | | LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.selectedTreasure); |
| | | } catch(System.Exception gen_e) { |
| | | return LuaAPI.luaL_error(L, "c# exception:" + gen_e); |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] |
| | | static int _g_get_treasureStepUpShow(RealStatePtr L) |
| | | { |
| | | try { |
| | | ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); |
| | | |
| | | Snxxz.UI.TreasureModel gen_to_be_invoked = (Snxxz.UI.TreasureModel)translator.FastGetCSObj(L, 1); |
| | | LuaAPI.lua_pushboolean(L, gen_to_be_invoked.treasureStepUpShow); |
| | | } catch(System.Exception gen_e) { |
| | | return LuaAPI.luaL_error(L, "c# exception:" + gen_e); |
| | | } |
| | |
| | | } |
| | | |
| | | [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] |
| | | static int _g_get_cacheGotAchievements(RealStatePtr L) |
| | | { |
| | | try { |
| | | ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); |
| | | |
| | | Snxxz.UI.TreasureModel gen_to_be_invoked = (Snxxz.UI.TreasureModel)translator.FastGetCSObj(L, 1); |
| | | translator.Push(L, gen_to_be_invoked.cacheGotAchievements); |
| | | } catch(System.Exception gen_e) { |
| | | return LuaAPI.luaL_error(L, "c# exception:" + gen_e); |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] |
| | | static int _g_get_vipKillNPCTreasure(RealStatePtr L) |
| | | { |
| | | try { |
| | |
| | | |
| | | Snxxz.UI.TreasureModel gen_to_be_invoked = (Snxxz.UI.TreasureModel)translator.FastGetCSObj(L, 1); |
| | | gen_to_be_invoked.selectedTreasure = LuaAPI.xlua_tointeger(L, 2); |
| | | |
| | | } catch(System.Exception gen_e) { |
| | | return LuaAPI.luaL_error(L, "c# exception:" + gen_e); |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] |
| | | static int _s_set_treasureStepUpShow(RealStatePtr L) |
| | | { |
| | | try { |
| | | ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); |
| | | |
| | | Snxxz.UI.TreasureModel gen_to_be_invoked = (Snxxz.UI.TreasureModel)translator.FastGetCSObj(L, 1); |
| | | gen_to_be_invoked.treasureStepUpShow = LuaAPI.lua_toboolean(L, 2); |
| | | |
| | | } catch(System.Exception gen_e) { |
| | | return LuaAPI.luaL_error(L, "c# exception:" + gen_e); |
| | |
| | | translator.DelayWrapLoader(typeof(StoreConfig), StoreConfigWrap.__Register); |
| | | |
| | | |
| | | translator.DelayWrapLoader(typeof(StoryMissionsConfig), StoryMissionsConfigWrap.__Register); |
| | | |
| | | |
| | | translator.DelayWrapLoader(typeof(SuccessConfig), SuccessConfigWrap.__Register); |
| | | |
| | | |
| | |
| | | [SerializeField] Button m_CloseButton;
|
| | | AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
|
| | | AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } } |
| | | List<AuctionItemConfig> auctionItemList = new List<AuctionItemConfig>(); |
| | | List<AuctionItemConfig> auctionItemList = new List<AuctionItemConfig>();
|
| | | ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } |
| | | int ItemType = 1; |
| | | #region Built-in |
| | | enum AttentionType
|
| | |
| | | }
|
| | | ItemCellModel cellModel = new ItemCellModel(itemConfig.ID, true, (ulong)1);
|
| | | itemCell.Init(cellModel);
|
| | | itemCell.button.SetListener(() =>
|
| | | {
|
| | | ItemAttrData attrData = new ItemAttrData(itemConfig.ID, true, (ulong)1);
|
| | | itemTipsModel.SetItemTipsModel(attrData);
|
| | | });
|
| | | textName.text = itemConfig.ItemName;
|
| | | if (model.AttentionAuctionItemIDdic.ContainsKey(auctionItem.ItemID))
|
| | | {
|
| | |
| | | public int AuctionTaxrate3 = 0;//仙盟拍品个人税率
|
| | |
|
| | | public int MaxFocusCount = 10;//最大可关注数量
|
| | | public int ExtensionTime = 0;//延长时间(秒)
|
| | | private int selectedGenreNow = 0;
|
| | | public int SelectedGenreNow//当前选择的页签
|
| | | {
|
| | |
| | | }
|
| | | 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);
|
| | |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | CloseChild();
|
| | | {
|
| | | if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>())
|
| | | {
|
| | | WindowCenter.Instance.Open<MainInterfaceWin>();
|
| | |
| | | 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信息
|
| | |
| | | PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;
|
| | | }
|
| | |
|
| | | |
| | |
|
| | | public override void UnInit()
|
| | | {
|
| | |
|
| | |
| | |
|
| | | private void OnRefreshFairyMine()//用于被提出仙盟清除仙盟拍品
|
| | | {
|
| | | if (!PlayerDatas.Instance.fairyData.HasFairy)
|
| | | if (PlayerDatas.Instance.baseData.FamilyId == 0)
|
| | | {
|
| | | FamilyAuctionItemDic.Clear();
|
| | | if (ClearFamilyAuctionUpdate != null)
|
| | |
| | | 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; });
|
| | |
| | | {
|
| | | FullServiceAuctionList.InsertRange(FullServiceAuctionList.Count - 1, fullServiceAuctionList);
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | | else if (info.QueryDir == 2)//往前查询
|
| | | {
|
| | |
| | | FullServiceAuctionList.InsertRange(FullServiceAuctionList.Count - 1, fullServiceAuctionList);
|
| | | }
|
| | | LocationQuery = true;
|
| | | WindowCenter.Instance.Open<AuctionHouseWin>(true,0);//定位查询
|
| | | WindowCenter.Instance.Open<AuctionHouseWin>(true, 0);//定位查询
|
| | | }
|
| | |
|
| | | if (FullServiceAuctionUpdate != null)
|
| | |
| | | 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))
|
| | |
| | | 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;
|
| | |
| | | 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))
|
| | |
| | | {
|
| | | 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;
|
| | |
| | | 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;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | 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)
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | 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
|
| | | {
|
| | |
| | | }
|
| | | 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));
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | 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
|
| | | {
|
| | |
| | | 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)
|
| | |
| | | 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;
|
| | |
| | | }
|
| | | 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)));
|
| | | }
|
| | | }
|
| | | }
|
| | | } |
| | |
| | | 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)
|
| | |
| | | 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)
|
| | | {
|
| | |
| | | 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
|
| | | {
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | 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
|
| | | {
|
| | |
| | | }
|
| | | 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)
|
| | | {
|
| | |
| | | |
| | | protected override void OnAfterOpen() |
| | | { |
| | | model.AttentionAuctionItemUdate += Reset; |
| | | model.ClearAuctionUpdate += Reset;
|
| | | model.RefreshAuctionItemUpdate -= Update;//刷新 |
| | | model.FamilyAuctionItemUpdate += Reset; |
| | | model.AttentionAuctionItemUdate += ResetUpdate; |
| | | model.ClearAuctionUpdate += ResetUpdate;
|
| | | model.RefreshAuctionItemUpdate -= AuctionItemUpdate;//刷新 |
| | | model.FamilyAuctionItemUpdate += ResetUpdate; |
| | | model.AddAuctionItemInfoUpdate += AddAuctionItemInfoUpdate; |
| | | model.BiddingItemInfoUpdate += ResetUpdate; |
| | | }
|
| | |
|
| | |
|
| | |
|
| | | protected override void OnPreClose() |
| | | {
|
| | | model.AttentionAuctionItemUdate -= Reset;
|
| | | model.ClearAuctionUpdate -= Reset;
|
| | | model.RefreshAuctionItemUpdate -= Update;//刷新
|
| | | model.FamilyAuctionItemUpdate -= Reset; |
| | | model.AttentionAuctionItemUdate -= ResetUpdate;
|
| | | model.ClearAuctionUpdate -= ResetUpdate;
|
| | | model.RefreshAuctionItemUpdate -= AuctionItemUpdate;//刷新
|
| | | model.FamilyAuctionItemUpdate -= ResetUpdate;
|
| | | model.AddAuctionItemInfoUpdate -= AddAuctionItemInfoUpdate;
|
| | | model.BiddingItemInfoUpdate -= ResetUpdate; |
| | | }
|
| | |
|
| | |
|
| | |
|
| | | protected override void OnAfterClose() |
| | |
| | | }
|
| | | #endregion |
| | |
|
| | | private void Reset()
|
| | | private void AddAuctionItemInfoUpdate()
|
| | | {
|
| | | AuctionInquiry.Instance.SendQueryAttentionAuctionItem();//查询拍卖行的关注物品
|
| | | ResetUpdate();
|
| | | }
|
| | | private void ResetUpdate()
|
| | | {
|
| | | GetMyFocusList(); |
| | | ListSotr();
|
| | | OnCreateGridLineCell(m_ScrollerController);
|
| | | }
|
| | | private void Update()
|
| | |
|
| | | private void AuctionItemUpdate()
|
| | | {
|
| | | m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
|
| | | } |
| | | |
| | | private void OnCreateGridLineCell(ScrollerController gridCtrl)
|
| | | {
|
| | | gridCtrl.Refresh();
|
| | |
| | | AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
|
| | | AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } } |
| | | private List<AuctionItemClass> AuctionRecordList = new List<AuctionItemClass>(); |
| | | ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } |
| | | int AuctionType = 0; |
| | | int MaxCount = 0; |
| | | #region Built-in |
| | |
| | | }
|
| | |
|
| | | itemCell.Init(cellModel);
|
| | | itemCell.button.SetListener(() =>
|
| | | {
|
| | | ItemAttrData attrData = new ItemAttrData(itemConfig.ID, true, (ulong)auctionRecord.ItemCount);
|
| | | itemTipsModel.SetItemTipsModel(attrData);
|
| | | });
|
| | | textName.text = itemConfig.ItemName;
|
| | | timeText.text = auctionRecord.TimeStr;
|
| | | }
|
| | |
| | | [SerializeField] Text m_EquipName; |
| | | [SerializeField] Text m_EquipSorce; |
| | | [SerializeField] Button m_Select; |
| | | [SerializeField] RectTransform m_SelectedContainer; |
| | | |
| | | EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } |
| | | PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } |
| | |
| | | m_ItemCell.button.enabled = false; |
| | | |
| | | var isEquipLevelUnlocked = model.IsLevelUnLocked(equip.config.LV); |
| | | m_BackGround.gray=!isEquipLevelUnlocked; |
| | | m_BackGround.gray = !isEquipLevelUnlocked; |
| | | m_UnLockLabel.gameObject.SetActive(!isEquipLevelUnlocked); |
| | | m_EquipName.text = equip.config.ItemName; |
| | | m_EquipName.color = UIHelper.GetUIColor(equip.config.ItemColor, true); |
| | |
| | | { |
| | | if (force || candidateEquip.selected.dirty) |
| | | { |
| | | m_SelectedContainer.gameObject.SetActive(candidateEquip.selected.Fetch()); |
| | | } |
| | | } |
| | | |
| | |
| | | tipModel.SetItemTipsModel(PackType.Item, equip.guid, false, true); |
| | | tipModel.SetBagTipsBtn(tipModel.curAttrData); |
| | | tipModel.ShowUICtrl(); |
| | | |
| | | if (this.candidateEquip.selected.value) |
| | | { |
| | | model.ClearRecommendCandidateEquip(); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | public void SelectCandidateEquip(string equipGuid) |
| | | public bool HasSamePlaceCandidateEquip(Int2 equipPosition) |
| | | { |
| | | for (int i = 0; i < candidateEquips.Count; i++) |
| | | { |
| | | var candidateEquip = candidateEquips[i]; |
| | | candidateEquip.selected.value = candidateEquip.guid == equipGuid; |
| | | var item = packModel.GetItemByGuid(candidateEquips[i].guid); |
| | | if (item != null && item.config.LV == equipPosition.x && item.config.EquipPlace == equipPosition.y) |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | public void RecommendCandidateEquip(Int2 equipPosition) |
| | | { |
| | | var highestScore = 0; |
| | | var highestScoreEquip = string.Empty; |
| | | for (int i = 0; i < candidateEquips.Count; i++) |
| | | { |
| | | var candidate = candidateEquips[i]; |
| | | var item = packModel.GetItemByGuid(candidate.guid); |
| | | if (equipPosition.x == item.config.LV && item.config.EquipPlace == equipPosition.y) |
| | | { |
| | | if (item.score > highestScore) |
| | | { |
| | | highestScore = item.score; |
| | | highestScoreEquip = candidate.guid; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(highestScoreEquip)) |
| | | { |
| | | candidateEquips.Sort((CandidateEquip x, CandidateEquip y) => |
| | | { |
| | | if (x.guid == highestScoreEquip && y.guid != highestScoreEquip) |
| | | { |
| | | return -1; |
| | | } |
| | | else if (x.guid != highestScoreEquip && y.guid == highestScoreEquip) |
| | | { |
| | | return 1; |
| | | } |
| | | else |
| | | { |
| | | var betterX = CompareToCurrent(x.guid); |
| | | var betterY = CompareToCurrent(y.guid); |
| | | |
| | | if (betterX > 0 && betterY < 0) |
| | | { |
| | | return -1; |
| | | } |
| | | else if (betterX < 0 && betterY > 0) |
| | | { |
| | | return 1; |
| | | } |
| | | else |
| | | { |
| | | var a = packModel.GetItemByGuid(x.guid); |
| | | var b = packModel.GetItemByGuid(y.guid); |
| | | return -a.score.CompareTo(b.score); |
| | | } |
| | | } |
| | | |
| | | }); |
| | | } |
| | | |
| | | for (int i = 0; i < candidateEquips.Count; i++) |
| | | { |
| | | candidateEquips[i].selected.value = candidateEquips[i].guid == highestScoreEquip; |
| | | } |
| | | |
| | | } |
| | | |
| | | public void ClearRecommendCandidateEquip() |
| | | { |
| | | for (int i = 0; i < candidateEquips.Count; i++) |
| | | { |
| | | candidateEquips[i].selected.value = false; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | break; |
| | | case PackType.Equip: |
| | | var equip = packModel.GetItemByIndex(PackType.Equip, index); |
| | | var clientPlace = EquipSet.ServerPlaceToClientPlace(index); |
| | | equipSets[clientPlace.x].UpdateEquipSlot(clientPlace.y, equip == null ? string.Empty : equip.guid); |
| | | |
| | | appearance.value = GetAppearance(selectedLevel.value); |
| | | if (clientPlace.x == selectedLevel.value) |
| | | if (equipSets.ContainsKey(clientPlace.x)) |
| | | { |
| | | equipDirty = true; |
| | | } |
| | | |
| | | if (clientPlace.x == PlayerDatas.Instance.baseData.equipShowSwitch / 10) |
| | | { |
| | | if (appearanceChangeEvent != null) |
| | | var equip = packModel.GetItemByIndex(PackType.Equip, index); |
| | | equipSets[clientPlace.x].UpdateEquipSlot(clientPlace.y, equip == null ? string.Empty : equip.guid); |
| | | appearance.value = GetAppearance(selectedLevel.value); |
| | | if (clientPlace.x == selectedLevel.value) |
| | | { |
| | | appearanceChangeEvent(); |
| | | equipDirty = true; |
| | | } |
| | | |
| | | if (clientPlace.x == PlayerDatas.Instance.baseData.equipShowSwitch / 10) |
| | | { |
| | | if (appearanceChangeEvent != null) |
| | | { |
| | | appearanceChangeEvent(); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | [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; |
| | |
| | | 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 |
| | | { |
| | |
| | | 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); |
| | | m_Star.gameObject.SetActive(true); |
| | | m_Star.text = string.Format("{0}星", starModel.GetEquipStarLevel(slot.equipPosition)); |
| | | } |
| | | } |
| | | } |
| | |
| | | tipModel.SetPutOnTipsBtn(tipModel.curAttrData); |
| | | tipModel.ShowUICtrl(); |
| | | } |
| | | else if (model.HasSamePlaceCandidateEquip(slot.equipPosition)) |
| | | { |
| | | model.RecommendCandidateEquip(slot.equipPosition); |
| | | } |
| | | else |
| | | { |
| | | model.RefreshGetWays(slot.equipPosition); |
| | |
| | | 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) |
| | |
| | | [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;
|
| | |
| | | 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 = Language.Get("EquipStarLevel", starLevel);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | [SerializeField] ScrollerController m_Controller;
|
| | | [SerializeField] ItemCell m_EquipItem;
|
| | | [SerializeField] Text m_EquipStar;
|
| | | [SerializeField] EquipGemHoleBehaviour[] m_GemHoles;
|
| | | |
| | | EquipGemModel model
|
| | |
| | | |
| | | 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()
|
| | |
| | | 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 = Language.Get("EquipStarLevel", starLevel);
|
| | | }
|
| | |
|
| | | for (int i = 0; i < m_GemHoles.Length; i++)
|
| | |
| | | {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>(); |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | |
| | | for (var i = 1; i <= 6; i++) |
| | | for (var i = 1; i <= 5; i++) |
| | | { |
| | | var placedMaterialGuid = GetMaterialLogicStringByIndex(i).value; |
| | | var materialItem = packModel.GetItemByGuid(placedMaterialGuid); |
| | |
| | | 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 |
| | |
| | | DisplayBaseInfo(this.isUnLocked); |
| | | DisplayDynamicInfo(true); |
| | | |
| | | m_AddMaterial.SetListener(OpenCandidateMaterials); |
| | | m_AddMaterial.SetListener(AddMaterials); |
| | | m_RemoveMaterial.SetListener(RemoveMaterial); |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | private void OpenCandidateMaterials() |
| | | private void AddMaterials() |
| | | { |
| | | model.operateMaterialIndex.value = m_Index; |
| | | } |
| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [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); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
copy from Lua/Gen/StoryMissionsConfigWrap.cs.meta
copy to System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs.meta
| File was copied from Lua/Gen/StoryMissionsConfigWrap.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 6bc321e7c730e4d4d8a8b9e9d1d054d7 |
| | | timeCreated: 1550122890 |
| | | guid: 739e6ee2c7736cf4aaaeacb69f7fd362 |
| | | timeCreated: 1553586646 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | [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>(); |
| | |
| | | |
| | | 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 |
| | | { |
| | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | 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(); |
| | | } |
| | | |
| | |
| | | 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 { |
| | |
| | | return m_Material4; |
| | | case 5: |
| | | return m_Material5; |
| | | case 6: |
| | | return m_MaterialSpecial; |
| | | default: |
| | | return null; |
| | | } |
| | |
| | | public bool isAuction; |
| | | public bool isEquiped; |
| | | |
| | | public int star; |
| | | public int score; |
| | | public int auctionSurplusTime; |
| | | } |
| | |
| | | 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; |
| | |
| | | var baseProperty = GetBaseProperty(item.itemId); |
| | | |
| | | var starProperties = new List<Int2>(); |
| | | var star = starModel.GetEquipStarLevel(new Int2(item.config.LV, item.config.EquipPlace)); |
| | | var currentStar = starModel.GetEquipStarLevel(new Int2(item.config.LV, item.config.EquipPlace)); |
| | | var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV); |
| | | var star = Mathf.Min(currentStar, maxStar); |
| | | if (star > 0) |
| | | { |
| | | baseProperty.star = star; |
| | |
| | | var place = item.config.EquipPlace; |
| | | var gemInfo = new GemInfo(); |
| | | |
| | | var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV); |
| | | gemInfo.activeStates = new Dictionary<int, bool>(); |
| | | for (int i = 0; i < 4; i++) |
| | | { |
| | | gemInfo.activeStates[i] = IsEquipGemHoleOpen(new Int2(level, place), i); |
| | | gemInfo.activeStates[i] = IsEquipGemHoleOpen(new Int2(level, place), maxStar, i); |
| | | } |
| | | |
| | | gemInfo.gems = new Dictionary<int, int>(); |
| | |
| | | return operates; |
| | | } |
| | | |
| | | private static bool IsEquipGemHoleOpen(Int2 equipPosition, int hole) |
| | | private static bool IsEquipGemHoleOpen(Int2 equipPosition, int maxStar, int hole) |
| | | { |
| | | GemHoleCondition condition; |
| | | if (gemModel.TryGetGemHoleCondition(hole, out condition)) |
| | | { |
| | | var star = starModel.GetEquipStarLevel(equipPosition); |
| | | if (star < condition.equipStar) |
| | | if (Mathf.Min(star, maxStar) < condition.equipStar) |
| | | { |
| | | return false; |
| | | } |
| | |
| | | |
| | | return true; |
| | | } |
| | | |
| | | private static int GetStarGemHoleCount(int itemId) |
| | | { |
| | | var config = ItemConfig.Get(itemId); |
| | | if (config == null) |
| | | { |
| | | return 0; |
| | | } |
| | | |
| | | var maxStar = EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV); |
| | | if (maxStar >= 5) |
| | | { |
| | | return 3; |
| | | } |
| | | else if (maxStar >= 2) |
| | | { |
| | | return 2; |
| | | } |
| | | else |
| | | { |
| | | return 1; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | button.SetListener(() => |
| | | { |
| | | EquipTipUtility.Operate(operateType, this.guid); |
| | | WindowCenter.Instance.Close<EquipTipWin>(); |
| | | EquipTipUtility.Operate(operateType, this.guid); |
| | | }); |
| | | } |
| | | |
| | |
| | | [SerializeField] Image m_Realm; |
| | | [SerializeField] RectTransform m_SurplusTimeContainer; |
| | | [SerializeField] Text m_SurplusTime; |
| | | [SerializeField] Text m_Star; |
| | | |
| | | public void Display(EquipTipUtility.BaseInfo baseInfo) |
| | | { |
| | |
| | | { |
| | | 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); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | propertyBehaviour.text = string.Join("\r\n", lines); |
| | | propertyBehaviour.gameObject.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | |
| | | [SerializeField] Text m_ContentText;
|
| | |
|
| | | [SerializeField] Text m_NextText;
|
| | | [SerializeField] List<int> MysteriousTaskID = new List<int>();//新添神秘任务
|
| | | Dictionary<int, string> PlayerIcon = new Dictionary<int, string>();
|
| | | private int storyMissionsID = 0;//剧情任务ID
|
| | | private int taskCount = 0;//获取对话总条数
|
| | | private int[] sPeaker;//对话对应半身像(0为主角/1为NPC)
|
| | | private int nowTaskNum = 0;//获取当前的任务
|
| | | private int typesPeaker = -1;
|
| | |
|
| | | int[] sPeaker;//对话对应半身像(0为主角/1为NPC)
|
| | | int taskIndex = 0;//获取当前的任务
|
| | | int typesPeaker = -1;
|
| | |
|
| | | public static int storyMissionId = 0;
|
| | |
|
| | | private float timeType = 0f;
|
| | | TaskModel m_TaskModel;
|
| | |
| | | var config = FuncConfigConfig.Get("TaskContinue");
|
| | | FabaoId = int.Parse(config.Numerical1);
|
| | | AwaitSecond = int.Parse(config.Numerical2);
|
| | | PlayerHead();
|
| | | }
|
| | |
|
| | | protected override void AddListeners()
|
| | |
| | | m_NextText.text = string.Format(Language.Get("TaskContinueCount"), AwaitSecond);
|
| | | IsCloseWindow();
|
| | | typesPeaker = -1;
|
| | | storyMissionsID = taskmodel._TaskNow;
|
| | | var config = StoryMissionsConfig.Get(storyMissionsID);
|
| | | var config = StoryMissionsConfig.Get(storyMissionId);
|
| | | if (config.TaskMusic != 0)
|
| | | {
|
| | | SoundPlayer.Instance.PlayNpcAudio(config.TaskMusic);
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | if (config.NpcID[0] == taskmodel.NPCid)
|
| | | {
|
| | | taskCount = config.TalkNum[0];
|
| | | sPeaker = config.Speaker1;
|
| | | IsMultistage = 0;
|
| | | }
|
| | | else
|
| | | {
|
| | | taskCount = config.TalkNum[0];
|
| | | sPeaker = config.Speaker2;
|
| | | IsMultistage = 1;
|
| | | }
|
| | | //taskCount = config.TalkNum;
|
| | | //sPeaker = config.Speaker;
|
| | | nowTaskNum = 0;
|
| | | ShowDialogSelect(sPeaker[0], nowTaskNum);
|
| | |
|
| | | sPeaker = config.Speaker1;
|
| | |
|
| | | taskIndex = config.TalkNum[0];
|
| | | ShowDialogSelect(sPeaker[0], taskIndex);
|
| | | }
|
| | |
|
| | | private void IsCloseWindow()
|
| | |
| | |
|
| | | protected override void OnAfterClose()
|
| | | {
|
| | | if (MysteriousTaskID.Contains(storyMissionsID))
|
| | | {
|
| | | mainModel.MysteriousTaskID = storyMissionsID;
|
| | | CoroutineMgr.Instance.OnMysteriousTask();
|
| | | }
|
| | | bool _bool = IsDungeon();
|
| | | if (_bool)
|
| | | {
|
| | |
| | | private void OnClickMarkRay()
|
| | | {
|
| | | timeType = 0;
|
| | | var config = StoryMissionsConfig.Get(storyMissionsID);
|
| | | var config = StoryMissionsConfig.Get(storyMissionId);
|
| | | if (config == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | | nowTaskNum += 1;
|
| | | if (taskCount - 1 >= nowTaskNum)//下一条
|
| | |
|
| | | taskIndex += 1;
|
| | | var end = config.TalkNum.Length > 1 ? config.TalkNum[1] : config.TalkNum[0];
|
| | |
|
| | | if (taskIndex <= end)//下一条
|
| | | {
|
| | | ShowDialogSelect(sPeaker[nowTaskNum], nowTaskNum);
|
| | | ShowDialogSelect(sPeaker[taskIndex], taskIndex);
|
| | | }
|
| | | if (taskCount - 1 < nowTaskNum)//最后一条
|
| | | else//最后一条
|
| | | {
|
| | | SessionEnd(TaskType.OK);
|
| | | Close();
|
| | |
| | | }
|
| | | private void OnClickSKIPButton()
|
| | | {
|
| | | var config = StoryMissionsConfig.Get(storyMissionsID);
|
| | | var config = StoryMissionsConfig.Get(storyMissionId);
|
| | | if (config != null)
|
| | | {
|
| | | SessionEnd(TaskType.OK);
|
| | |
| | |
|
| | | m_PlayerNameText.text = PlayerDatas.Instance.baseData.PlayerName;
|
| | |
|
| | | string platercContentKey = StoryMissionsConfig.Get(storyMissionsID).content[IsMultistage];
|
| | | string platercContentKey = StoryMissionsConfig.Get(storyMissionId).content;
|
| | | var config = TASKINFOConfig.Get(string.Format(platercContentKey, stepNum));
|
| | | if (config != null)
|
| | | {
|
| | |
| | | m_BaseboardImageNPC.SetActive(true);
|
| | | m_BaseboardImagePlayer.SetActive(false);
|
| | | }
|
| | | var configStoryMissions = StoryMissionsConfig.Get(storyMissionsID);
|
| | | var configStoryMissions = StoryMissionsConfig.Get(storyMissionId);
|
| | | if (configStoryMissions == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | | int npcId = configStoryMissions.NpcID[IsMultistage];
|
| | | int npcId = configStoryMissions.NpcID;
|
| | | var npcConfig = NPCConfig.Get(npcId);
|
| | | m_NPCNameText.text = npcConfig.charName;
|
| | | string npcContentKey = configStoryMissions.content[IsMultistage];
|
| | | string npcContentKey = configStoryMissions.content;
|
| | | var taskInfo = TASKINFOConfig.Get(string.Format(npcContentKey, stepNum));
|
| | | if (taskInfo == null)
|
| | | {
|
| | |
| | | {
|
| | | m_ContentText_Npc.text = taskInfo.show_writing;
|
| | | }
|
| | |
|
| | | string npcIcon = configStoryMissions.NpcIcon[IsMultistage];
|
| | |
|
| | | |
| | | var data = new UI3DNPCExhibitionData()
|
| | | {
|
| | | npcId = npcId,
|
| | |
| | | break;
|
| | | default:
|
| | | break;
|
| | | }
|
| | | }
|
| | | private void PlayerHead()
|
| | | {
|
| | | string[] headStr1 = FuncConfigConfig.Get("StoryTaskIcon").Numerical1.Split('|');
|
| | | string[] headStr2 = FuncConfigConfig.Get("StoryTaskIcon").Numerical2.Split('|');
|
| | | for (int i = 0; i < headStr1.Length; i++)
|
| | | {
|
| | | if (!PlayerIcon.ContainsKey(int.Parse(headStr1[i])))
|
| | | {
|
| | | PlayerIcon.Add(int.Parse(headStr1[i]), headStr2[i]);
|
| | |
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | { |
| | | return; |
| | | } |
| | | var config = StoryMissionsConfig.Get(taskID); |
| | | |
| | | var state = GetQuestState(taskID); |
| | | var config = StoryMissionsConfig.GetConfig(taskID, state); |
| | | bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>(); |
| | | var treasureStageUpShow = ModelCenter.Instance.GetModel<TreasureModel>().treasureStageUpShow; |
| | | if (config != null) |
| | | { |
| | | for (int i = 0; i < config.NpcID.Length; i++) |
| | | { |
| | | if (NPCid == config.NpcID[i]) |
| | | { |
| | | if (!WindowCenter.Instance.IsOpen<DialogueDuidanceWin>() && IsOpenMain |
| | | && !treasureStageUpShow && !WindowCenter.Instance.ExistAnyFullScreenOrMaskWin()) |
| | | { |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | WindowCenter.Instance.Open<DialogueDuidanceWin>(); |
| | | } |
| | | return; |
| | | } |
| | | {
|
| | | if (NPCid == config.NpcID)
|
| | | {
|
| | | if (!WindowCenter.Instance.IsOpen<DialogueDuidanceWin>() && IsOpenMain
|
| | | && !WindowCenter.Instance.ExistAnyFullScreenOrMaskWin())
|
| | | {
|
| | | WindowCenter.Instance.Close<MainInterfaceWin>();
|
| | | DialogueDuidanceWin.storyMissionId = config.id;
|
| | | WindowCenter.Instance.Open<DialogueDuidanceWin>();
|
| | | }
|
| | | return;
|
| | | } |
| | | if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain && !treasureStageUpShow) |
| | | if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain) |
| | | { |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | WindowCenter.Instance.Open<TaskBoxBGMWin>(); |
| | |
| | | } |
| | | else |
| | | { |
| | | if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain && !treasureStageUpShow) |
| | | if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain) |
| | | { |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | WindowCenter.Instance.Open<TaskBoxBGMWin>(); |
| | |
| | | if (_effect != null)
|
| | | {
|
| | | var _index = i;
|
| | | if (_index == m_FurnacesIcons.Length - 1)
|
| | | {
|
| | | model.treasureStepUpShow = true;
|
| | | }
|
| | | _effect.OnComplete = () =>
|
| | | {
|
| | | _effect.OnComplete = null;
|
| | |
| | | StartCoroutine(Co_Fly());
|
| | | };
|
| | | }
|
| | | else
|
| | | {
|
| | | model.treasureStepUpShow = false;
|
| | | }
|
| | | }
|
| | |
|
| | | IEnumerator Co_Fly()
|
| | | {
|
| | | yield return WaitingForSecondConst.WaitMS300;
|
| | | model.treasureStepUpShow = false;
|
| | | BeginFly();
|
| | | }
|
| | |
|
| | |
| | |
|
| | | private void GotoComplete()
|
| | | {
|
| | | if (m_TreasureCyclicScroll.showing || treasureModel.treasureStepUpShow)
|
| | | if (m_TreasureCyclicScroll.showing)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
| | |
|
| | | private void GetAward()
|
| | | {
|
| | | if (m_TreasureCyclicScroll.showing || treasureModel.treasureStepUpShow)
|
| | | if (m_TreasureCyclicScroll.showing)
|
| | | {
|
| | | return;
|
| | | }
|
| | | model.GetAchievementReward(achievement.id);
|
| | | if (!treasureModel.cacheGotAchievements.Contains(achievement.id))
|
| | | {
|
| | | treasureModel.cacheGotAchievements.Add(achievement.id);
|
| | | }
|
| | | }
|
| | |
|
| | | private void OnAchievementProgressUpdate(int _achievementId)
|
| | |
| | | Redpoint elderGodRedpoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.King - 1]);
|
| | | Redpoint zergRedpoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.Zerg - 1]);
|
| | |
|
| | | public Redpoint stoveRedpoint { get; private set; }
|
| | |
|
| | | public event Action<int> treasureCollectProgressUpdateEvent;
|
| | | public event Action<int> treasureSelectedEvent;
|
| | | public event Action<TreasureCategory> collectingTreasureChangeEvent;
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public bool treasureStepUpShow { get; set; }
|
| | |
|
| | | public bool treasureStageUpShow { get; set; }
|
| | |
|
| | |
| | | public int exitRecord { get; set; }
|
| | | public int entranceOpenCondition { get; private set; }
|
| | |
|
| | | public List<int> cacheGotAchievements { get { return m_CacheGotAchievements; } }
|
| | |
|
| | | AchievementModel achievementModel { get { return ModelCenter.Instance.GetModel<AchievementModel>(); } }
|
| | |
|
| | | VIPKillNPCTreasure m_VIPKillNPCTreasure;
|
| | |
| | | playerLevelRefresh = false;
|
| | | needDisplayReguluLevelUp = false;
|
| | | treasureUnlockShowDict.Clear();
|
| | | cacheGotAchievements.Clear();
|
| | | foreach (var treasure in treasures.Values)
|
| | | {
|
| | | treasure.state = TreasureState.Locked;
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | UpdateStoveRedpoint();
|
| | | }
|
| | |
|
| | | private void OnAchievementProgressUpdate(int _achievement)
|
| | |
| | | {
|
| | | UpdateTreasureCollectProgress(treasure);
|
| | | }
|
| | | }
|
| | |
|
| | | if (eightFurnacesAchievements.Contains(_achievement))
|
| | | {
|
| | | UpdateStoveRedpoint();
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | treasureDungeon.challengeRedpoint.state = RedPointState.Simple;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void UpdateStoveRedpoint()
|
| | | {
|
| | | Treasure treasure;
|
| | | if (TryGetTreasure(301, out treasure))
|
| | | {
|
| | | stoveRedpoint.state = RedPointState.None;
|
| | | return;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | if (eightFurnacesAchievements.Contains(_achievementId))
|
| | | {
|
| | | UpdateStoveRedpoint();
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | funcConfig = FuncConfigConfig.Get("OpenFabao");
|
| | | entranceOpenCondition = int.Parse(funcConfig.Numerical1);
|
| | |
|
| | | stoveRedpoint = new Redpoint(CATEGORY_REDPOINTIDS[(int)TreasureCategory.Fairy - 1], TREASURE_REDPOINTBASE + redpointIndex++);
|
| | |
|
| | | var treasureDungeonConfigs = TreasureDungeonConfig.GetValues();
|
| | | foreach (var config in treasureDungeonConfigs)
|