Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Thursday, November 15, 2018 |
| | | //-------------------------------------------------------- |
| | | |
| | | using UnityEngine; |
| | | using System; |
| | | |
| | | namespace TableConfig { |
| | | |
| | | |
| | | public partial class IceLodeStarAwardConfig : ConfigBase { |
| | | |
| | | public int id { get ; private set ; }
|
| | | public int index { get ; private set ; }
|
| | | public int Star { get ; private set ; }
|
| | | public string LV { get ; private set; } |
| | | public string ItemList { get ; private set; } |
| | | public int Type { get ; private set ; } |
| | | |
| | | public override string getKey() |
| | | { |
| | | return id.ToString(); |
| | | } |
| | | |
| | | public override void Parse() { |
| | | try |
| | | { |
| | | id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; |
| | | |
| | | index=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; |
| | | |
| | | Star=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; |
| | | |
| | | LV = rawContents[3].Trim();
|
| | | |
| | | ItemList = rawContents[4].Trim();
|
| | | |
| | | Type=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | DebugEx.Log(ex); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: b18277562fc6e994c906d41cb5c14c5b |
| | | timeCreated: 1542267230 |
| | | licenseType: Free |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Thursday, November 15, 2018 |
| | | //-------------------------------------------------------- |
| | | |
| | | using UnityEngine; |
| | | using System; |
| | | |
| | | namespace TableConfig { |
| | | |
| | | |
| | | public partial class LoadingBackGroundConfig : ConfigBase { |
| | | |
| | | public int id { get ; private set ; } |
| | | public string[] icons; |
| | | public string levelLimit { get ; private set; } |
| | | public string name { get ; private set; } |
| | | public string description { get ; private set; } |
| | | |
| | | public override string getKey() |
| | | { |
| | | return id.ToString(); |
| | | } |
| | | |
| | | public override void Parse() { |
| | | try |
| | | { |
| | | id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; |
| | | |
| | | icons = rawContents[1].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); |
| | | |
| | | levelLimit = rawContents[2].Trim(); |
| | | |
| | | name = rawContents[3].Trim(); |
| | | |
| | | description = rawContents[4].Trim(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | DebugEx.Log(ex); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 791645468791ce74c84280782740fa99 |
| | | timeCreated: 1542267123 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Friday, May 18, 2018 |
| | | //-------------------------------------------------------- |
| | | |
| | | using UnityEngine; |
| | | using System; |
| | | |
| | | namespace TableConfig { |
| | | |
| | | |
| | | //--------------------------------------------------------
|
| | | // [Author]: 第二世界
|
| | | // [ Date ]: Thursday, November 15, 2018
|
| | | //--------------------------------------------------------
|
| | |
|
| | | using UnityEngine;
|
| | | using System;
|
| | |
|
| | | namespace TableConfig {
|
| | |
|
| | | |
| | | public partial class MapResourcesConfig : ConfigBase {
|
| | |
|
| | | public int ID { get ; private set ; }
|
| | |
| | | public Vector3 MapOffset { get ; private set; }
|
| | | public int[] Effect;
|
| | | public int Music { get ; private set ; }
|
| | | public string[] LoadingBG;
|
| | | public string LoadName { get ; private set; } |
| | | public string LoadDescription { get ; private set; } |
| | | public int ShowBOSSTime { get ; private set ; }
|
| | | |
| | |
|
| | | public override string getKey()
|
| | | {
|
| | | return ID.ToString();
|
| | | } |
| | | |
| | | public override void Parse() { |
| | | }
|
| | |
|
| | | public override void Parse() {
|
| | | try
|
| | | {
|
| | | ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0;
|
| | |
| | |
|
| | | Music=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0;
|
| | |
|
| | | LoadingBG = rawContents[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
|
| | | |
| | | LoadName = rawContents[12].Trim();
|
| | | |
| | | LoadDescription = rawContents[13].Trim();
|
| | | |
| | | ShowBOSSTime=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0; |
| | | ShowBOSSTime=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0; |
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | DebugEx.Log(ex);
|
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | }
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
| | | fileFormatVersion: 2 |
| | | guid: 8f17a96ef841bb74dafcec974bb4e7f5 |
| | | timeCreated: 1526625853 |
| | | timeCreated: 1542269954 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | AddAsyncTask<GuardConfig>();
|
| | | AddAsyncTask<MarketQueryConfig>();
|
| | | AddAsyncTask<TreasureDungeonConfig>();
|
| | | AddAsyncTask<LoadingBackGroundConfig>();
|
| | | AddAsyncTask<IceLodeStarAwardConfig>();
|
| | |
|
| | | while (!AllCompleted())
|
| | | {
|
| | | var completedCount = 0;
|
| | |
| | | public ushort LV; //等级
|
| | | public ushort LVEx; //玩家等级副本,用于转生
|
| | | public ushort LV2; //大师等级
|
| | | public ushort ExpPoint; //扩充经验点数
|
| | | public uint ExpPoint; //扩充经验点数
|
| | | public uint TotalExp; //总经验
|
| | | public uint Family; //家族
|
| | | public string FamilyName; //家族名称
|
| | |
| | | public int BasicsDefense;//基础防御
|
| | | public int BasicsScoreAHit;//基础命中
|
| | | public int BasicsDodge;//基础闪避
|
| | | public long treasurePotentialSp {
|
| | | get {
|
| | | public long treasurePotentialSp
|
| | | {
|
| | | get
|
| | | {
|
| | | return ExAttr8 * (long)100000000 + ExAttr7;
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | public partial class EquipWashConfig : ConfigBase, IConfigPostProcess
|
| | | {
|
| | | private StringBuilder _washComposeID = new StringBuilder();
|
| | | private static Dictionary<string, EquipWashConfig> equipWashDict = new Dictionary<string, EquipWashConfig>();
|
| | |
|
| | | private static Dictionary<string,EquipWashData> equipWashDict = new Dictionary<string, EquipWashData>();
|
| | |
|
| | | public void OnConfigParseCompleted()
|
| | | {
|
| | | _washComposeID.Length = 0;
|
| | | _washComposeID.Append(type);
|
| | | _washComposeID.Append(level);
|
| | | equipWashDict.Add(_washComposeID.ToString(), this);
|
| | | string key = StringUtility.Contact(type,level);
|
| | | EquipWashData washData = new EquipWashData();
|
| | | washData.guid = key;
|
| | | washData.washConfig = this;
|
| | | washData.mustCosts = ConfigParse.GetMultipleStr<int>(costMoneyList);
|
| | | if(!equipWashDict.ContainsKey(key))
|
| | | {
|
| | | equipWashDict.Add(key,washData);
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | /// <param name="level"></param>
|
| | | /// <param name="type"></param>
|
| | | /// <returns></returns>
|
| | | public static EquipWashConfig GetCurrentWashEquipModel(int type, int level)
|
| | | public static EquipWashData GetEquipWashData(int type, int level)
|
| | | {
|
| | | string strId = type + level.ToString();
|
| | | EquipWashConfig equipWash = null;
|
| | | string strId = StringUtility.Contact(type,level);
|
| | | EquipWashData equipWash = null;
|
| | | equipWashDict.TryGetValue(strId, out equipWash);
|
| | | return equipWash;
|
| | | }
|
| | |
|
| | | public class EquipWashData
|
| | | {
|
| | | public string guid;
|
| | | public EquipWashConfig washConfig;
|
| | | public int[] mustCosts;
|
| | | }
|
| | | }
|
| | | } |
| | |
| | | {
|
| | | case E_NpcType.Func:
|
| | | case E_NpcType.OpenWorldMap:
|
| | | case E_NpcType.Defend:
|
| | | _actor = GAMgr.Instance.RequestNpcNoFight<GA_NpcFunc>(vNetData.ObjID, vNetData.NPCID, E_ActorGroup.FuncNpc, vNetData);
|
| | | break;
|
| | | case E_NpcType.Collect:
|
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //01 02 玩家初始化#tagCDBPlayer |
| | | //01 02 玩家初始化#tagCDBPlayer |
| | | |
| | | public class H0102_tagCDBPlayer : GameNetPackBasic |
| | | { |
| | | public string AccID; //_KEY_i_帐号名, 该角色所在的帐号的用户名 |
| | | public string AccID; //_KEY_i_帐号名, 该角色所在的帐号的用户名 |
| | | public uint PlayerID; //_IDT_ |
| | | public string PlayerName; //size = 14 |
| | | public byte AccState; //0: 未创建, 1: 创建OK,正常登录 2:封号 3:已删除 |
| | | public byte GMLevel; //GM等级, 0:不是GM >=1 : GM的等级 |
| | | public byte Sex; //性别 |
| | | public byte Job; //职业, 0.新手 1.游侠 2.战士 3.弓箭手 4.术士 5.道士 |
| | | public ushort ReincarnationLv; // 转生等级 |
| | | public ushort LV; //等级 |
| | | public ushort LVEx; //玩家等级副本,用于转生 |
| | | public ushort LV2; //大师等级 |
| | | public ushort ExpPoint; //扩充经验点数 |
| | | public uint TotalExp; //总经验 |
| | | public uint Family; //家族 |
| | | public string FamilyName; //家族名称 |
| | | public int TeamHornor; //组队荣誉 |
| | | public int FamilyHornor; //家族荣耀 |
| | | public int FamilyActiveValue; //家族活跃度 |
| | | public int LastWeekFamilyActiveValue; //上周家族活跃度 |
| | | public int CountryHornor; //本周国家功勋值 |
| | | public int CountryLastWeekHornor; //上周国家功勋值 |
| | | public byte AccState; //0: 未创建, 1: 创建OK,正常登录 2:封号 3:已删除 |
| | | public byte GMLevel; //GM等级, 0:不是GM >=1 : GM的等级 |
| | | public byte Sex; //性别 |
| | | public byte Job; //职业, 0.新手 1.游侠 2.战士 3.弓箭手 4.术士 5.道士 |
| | | public ushort ReincarnationLv; // 转生等级 |
| | | public ushort LV; //等级 |
| | | public ushort LVEx; //玩家等级副本,用于转生 |
| | | public ushort LV2; //大师等级 |
| | | public uint ExpPoint; //扩充经验点数 |
| | | public uint TotalExp; //总经验 |
| | | public uint Family; //家族 |
| | | public string FamilyName; //家族名称 |
| | | public int TeamHornor; //组队荣誉 |
| | | public int FamilyHornor; //家族荣耀 |
| | | public int FamilyActiveValue; //家族活跃度 |
| | | public int LastWeekFamilyActiveValue; //上周家族活跃度 |
| | | public int CountryHornor; //本周国家功勋值 |
| | | public int CountryLastWeekHornor; //上周国家功勋值 |
| | | public uint Mate; |
| | | public uint Gold; //金子 |
| | | public uint GoldPaper; //金票 |
| | | public uint Silver; //银子 |
| | | public uint SilverPaper; //银票 |
| | | public uint FightPoint; //战斗值 |
| | | public uint HappyPoint; //娱乐值 |
| | | public byte LineID; //角色所在线路 |
| | | public ushort MapID; //角色所在地图 |
| | | public ushort PosX; //角色坐标 |
| | | public uint Gold; //金子 |
| | | public uint GoldPaper; //金票 |
| | | public uint Silver; //银子 |
| | | public uint SilverPaper; //银票 |
| | | public uint FightPoint; //战斗值 |
| | | public uint HappyPoint; //脱机挂时长(秒) |
| | | public byte LineID; //角色所在线路 |
| | | public ushort MapID; //角色所在地图 |
| | | public ushort PosX; //角色坐标 |
| | | public ushort PosY; |
| | | public ushort RebornMapID; //重生点地图ID |
| | | public ushort RebornMapID; //重生点地图ID |
| | | public ushort RebornPosX; |
| | | public ushort RebornPosY; |
| | | public byte State; //角色状态 1.封存 2.死亡 3.正常 以后还有陆续添加 |
| | | public uint HP; //当前HP |
| | | public uint XP; //当前XP |
| | | public ushort HPRestoreSetting; //少于这个值%自动喝血 |
| | | public ushort MPRestoreSetting; //少于这个值%自动喝魔 |
| | | public uint FreePoint; //未分配点数 |
| | | public uint FreeSkillPoint; //未分配的技能点 |
| | | public int BaseSTR; //裸体力量 |
| | | public int BasePNE; //裸体真元 |
| | | public int BasePHY; //裸体筋骨 |
| | | public int BaseCON; //裸体体魄 |
| | | public int STR; //力量 |
| | | public int PNE; //真元 |
| | | public int PHY; //筋骨 |
| | | public int CON; //体魄 |
| | | public string Setting; //设定 |
| | | public ushort PKValue; //衡量PK能力的一项属性,由攻防计算而得 |
| | | public ushort ActiveValue; //击杀敌国阵营玩家和NPC的统计值 |
| | | public byte BackpackLV; //背包等级 |
| | | public byte WarehouseLV; //仓库等级 |
| | | public uint TeamID; //队伍ID |
| | | public byte UseGoldType; //默认用金子/金票 类型为MoneyType |
| | | public byte UseSilverType; //默认用的银子/银票 |
| | | public byte AttackMode; //攻击模式 |
| | | public uint LastWeekOnlineTime; //上周在线时间 |
| | | public byte State; //角色状态 0.正常在线1.脱机挂在线 2脱机挂死亡 |
| | | public uint HP; //当前HP |
| | | public uint XP; //当前XP |
| | | public ushort HPRestoreSetting; //少于这个值%自动喝血 |
| | | public ushort MPRestoreSetting; //少于这个值%自动喝魔 |
| | | public uint FreePoint; //未分配点数 |
| | | public uint FreeSkillPoint; //未分配的技能点 |
| | | public int BaseSTR; //裸体力量 |
| | | public int BasePNE; //裸体真元 |
| | | public int BasePHY; //裸体筋骨 |
| | | public int BaseCON; //裸体体魄 |
| | | public int STR; //力量 |
| | | public int PNE; //真元 |
| | | public int PHY; //筋骨 |
| | | public int CON; //体魄 |
| | | public string Setting; //设定 |
| | | public ushort PKValue; //衡量PK能力的一项属性,由攻防计算而得 |
| | | public ushort ActiveValue; //击杀敌国阵营玩家和NPC的统计值 |
| | | public byte BackpackLV; //背包等级 |
| | | public byte WarehouseLV; //仓库等级 |
| | | public uint TeamID; //队伍ID |
| | | public byte UseGoldType; //默认用金子/金票 类型为MoneyType |
| | | public byte UseSilverType; //默认用的银子/银票 |
| | | public byte AttackMode; //攻击模式 |
| | | public uint LastWeekOnlineTime; //上周在线时间 |
| | | public byte FBID; //fb id |
| | | public byte FamilyLV; //家族等级 |
| | | public uint FriendFavor; //好友人气值 |
| | | public uint Energy; //精力值 |
| | | public uint EquipShowSwitch; //装备显示开关 |
| | | public uint LuckValue; //幸运值 |
| | | public uint ExAttr1; //扩展属性1,各项目专用 |
| | | public uint ExAttr2; //扩展属性2,各项目专用 |
| | | public uint ExAttr3; //扩展属性3,各项目专用 |
| | | public uint ExAttr4; //扩展属性4,各项目专用 |
| | | public uint ExAttr5; //扩展属性5,各项目专用 |
| | | public byte Faction; //阵营 |
| | | public uint InfamyValue; //恶名值 |
| | | public byte OfficialRank; //官阶,官职等级 |
| | | public uint ChangeCoinPointTotal; //兑换的点数总计 |
| | | public byte VIPLv; //VIP等级 |
| | | public byte VIPLvForPhone; //移动VIP等级 |
| | | public uint ExAttr6; //扩展属性6,各项目专用 |
| | | public uint ExAttr7; //扩展属性7,各项目专用 |
| | | public uint ExAttr8; //扩展属性8,各项目专用 |
| | | public uint ExAttr9; //扩展属性9,各项目专用 |
| | | public uint ExAttr10; //扩展属性10,各项目专用 |
| | | public uint ModelMark; // 变形模型mark |
| | | public uint ExAttr11; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr12; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr13; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr14; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint OperateInfo; //玩家附加运营商信息 |
| | | public string Operate; //所属运营商平台名 |
| | | public uint ServerID; //所属区服ID |
| | | public int BasicsMinimum;//基础最小攻击 |
| | | public int BasicsMaxAttack;//基础最大攻击 |
| | | public int BasicsLife;//基础生命 |
| | | public int BasicsDefense;//基础防御 |
| | | public int BasicsScoreAHit;//基础命中 |
| | | public int BasicsDodge;//基础闪避 |
| | | public byte FamilyLV; //家族等级 |
| | | public uint FriendFavor; //好友人气值 |
| | | public uint Energy; //精力值 |
| | | public uint EquipShowSwitch; //装备显示开关 |
| | | public uint LuckValue; //幸运值 |
| | | public uint ExAttr1; //扩展属性1,各项目专用 |
| | | public uint ExAttr2; //扩展属性2,各项目专用 |
| | | public uint ExAttr3; //扩展属性3,各项目专用 |
| | | public uint ExAttr4; //扩展属性4,各项目专用 |
| | | public uint ExAttr5; //扩展属性5,各项目专用 |
| | | public byte Faction; //阵营 |
| | | public uint InfamyValue; //恶名值 |
| | | public byte OfficialRank; //官阶,官职等级 |
| | | public uint ChangeCoinPointTotal; //兑换的点数总计 |
| | | public byte VIPLv; //VIP等级 |
| | | public byte VIPLvForPhone; //移动VIP等级 |
| | | public uint ExAttr6; //扩展属性6,各项目专用 |
| | | public uint ExAttr7; //扩展属性7,各项目专用 |
| | | public uint ExAttr8; //扩展属性8,各项目专用 |
| | | public uint ExAttr9; //扩展属性9,各项目专用 |
| | | public uint ExAttr10; //扩展属性10,各项目专用 |
| | | public uint ModelMark; // 变形模型mark |
| | | public uint ExAttr11; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr12; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr13; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr14; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint OperateInfo; //玩家附加运营商信息 |
| | | public string Operate; //所属运营商平台名 |
| | | public uint ServerID; //所属区服ID |
| | | public uint ExAttr15; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr16; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr17; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr18; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr19; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr20; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | |
| | | public H0102_tagCDBPlayer() |
| | | { |
| | |
| | | TransBytes(out LV, vBytes, NetDataType.WORD); |
| | | TransBytes(out LVEx, vBytes, NetDataType.WORD); |
| | | TransBytes(out LV2, vBytes, NetDataType.WORD); |
| | | TransBytes(out ExpPoint, vBytes, NetDataType.WORD); |
| | | TransBytes(out ExpPoint, vBytes, NetDataType.DWORD); |
| | | TransBytes(out TotalExp, vBytes, NetDataType.DWORD); |
| | | TransBytes(out Family, vBytes, NetDataType.DWORD); |
| | | TransBytes(out FamilyName, vBytes, NetDataType.Chars, 33); |
| | |
| | | TransBytes(out OperateInfo, vBytes, NetDataType.DWORD); |
| | | TransBytes(out Operate, vBytes, NetDataType.Chars, 15); |
| | | TransBytes(out ServerID, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr15, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr16, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr17, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr18, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr19, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr20, vBytes, NetDataType.DWORD); |
| | | } |
| | | |
| | | } |
| | |
| | | public byte Country; //玩家国家 |
| | | public byte HavePswLV2; //是否有二级密码 |
| | | public byte EquipCount; |
| | | public tagLoginInfoEquip[] EquipInfo = null; //size = EquipCount |
| | | public tagLoginInfoEquip[] EquipInfo; //size = EquipCount |
| | | public uint EquipShowSwitch; //玩家装备显示开关 |
| | | public uint ExAttr15; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr16; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr17; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr18; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr19; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr20; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | |
| | | public H0309_tagPlayerLoginInfo() |
| | | { |
| | |
| | | TransBytes(out EquipInfo[i].UserData, vBytes, NetDataType.Chars, EquipInfo[i].UserDataLen); |
| | | } |
| | | TransBytes(out EquipShowSwitch, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr15, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr16, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr17, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr18, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr19, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr20, vBytes, NetDataType.DWORD); |
| | | } |
| | | |
| | | public struct tagLoginInfoEquip |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx |
| | | //04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx |
| | | |
| | | public class H0434_tagAreaPlayerAppearEx : GameNetPackBasic |
| | | { |
| | | public uint PlayerID; |
| | | public string PlayerName; |
| | | public byte IsAlive; //玩家是否活着 |
| | | public ushort PosX; // X坐标 |
| | | public ushort PosY; // Y坐标 |
| | | public ushort Speed; //速度 |
| | | public byte IsAlive; //玩家是否活着 |
| | | public ushort PosX; // X坐标 |
| | | public ushort PosY; // Y坐标 |
| | | public ushort Speed; //速度 |
| | | public ushort ReincarnationLv; |
| | | public ushort LV; //等级 |
| | | public ushort LV; //等级 |
| | | public byte Job; |
| | | public byte TeamLV; //组队等级 |
| | | public uint TeamID; //组队ID |
| | | public byte TeamLV; //组队等级 |
| | | public uint TeamID; //组队ID |
| | | public uint HP; |
| | | public uint MaxHP; |
| | | public byte PlayerState; //TClientPlayerState 1. 脱机挂状态 玩家状态 打坐/马上/人镖合一 |
| | | public byte PlayerState; //TClientPlayerState 玩家状态 打坐/马上/人镖合一 |
| | | public byte IsHideMask; |
| | | public byte Country; //玩家国家 |
| | | public uint FamilyID; //家族ID |
| | | public byte FamilyNameLen; //家族名字 |
| | | public byte Country; //玩家国家 |
| | | public uint FamilyID; //家族ID |
| | | public byte FamilyNameLen; //家族名字 |
| | | public string FamilyName; //size = FamilyNameLen |
| | | public byte BuffCount; //buff |
| | | public tagAreaPlayerBuff[] BuffList = null; //size = BuffCount |
| | | public tagAreaPlayerBuff[] BuffList; //size = BuffCount |
| | | public byte EquipCount; |
| | | public tagEquipInfo[] EquipInfo = null; //size = EquipCount |
| | | public byte IsVisible; //是否隐身 |
| | | public uint EquipShowSwitch; //玩家装备显示开关 |
| | | public byte FamilyMemberLV; //家族成员等级 |
| | | public byte Faction; //阵营 |
| | | public byte OfficialRank; //官阶,官职等级 |
| | | public uint CurDienstgradID; //当前装备的称号头衔ID |
| | | public uint ModelMark; //变形模型Mark |
| | | public ushort PKValue; //PKֵ |
| | | public byte GMLevel; //GM等级, 0:不是GM >=1 : GM的等级 |
| | | public uint AtkInterval; //攻击间隔 |
| | | public uint ExAttr1; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr2; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr3; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr4; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr5; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ServerID; //所属区服ID |
| | | public byte State; // 0.正常在线1.脱机挂在线 2脱机挂死亡 |
| | | public tagEquipInfo[] EquipInfo; //size = EquipCount |
| | | public byte IsVisible; //是否隐身 |
| | | public uint EquipShowSwitch; //玩家装备显示开关 |
| | | public byte FamilyMemberLV; //家族成员等级 |
| | | public byte Faction; //阵营 |
| | | public byte OfficialRank; //官阶,官职等级 |
| | | public uint CurDienstgradID; //当前装备的称号头衔ID |
| | | public uint ModelMark; //变形模型Mark |
| | | public ushort PKValue; //PK值 |
| | | public byte GMLevel; //GM等级, 0:不是GM >=1 : GM的等级 |
| | | public uint AtkInterval; //攻击间隔 |
| | | public uint ExAttr1; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr2; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr3; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr4; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr5; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ServerID; //所属区服ID |
| | | public byte State; // 0.正常在线1.脱机挂在线 2脱机挂死亡 |
| | | public uint ExAttr15; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr16; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr17; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr18; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr19; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | public uint ExAttr20; //预留的扩展属性字段,用来存放项目特定的属性 |
| | | |
| | | public H0434_tagAreaPlayerAppearEx() |
| | | { |
| | |
| | | TransBytes(out ExAttr5, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ServerID, vBytes, NetDataType.DWORD); |
| | | TransBytes(out State, vBytes, NetDataType.BYTE); |
| | | TransBytes(out ExAttr15, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr16, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr17, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr18, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr19, vBytes, NetDataType.DWORD); |
| | | TransBytes(out ExAttr20, vBytes, NetDataType.DWORD); |
| | | } |
| | | |
| | | public struct tagEquipInfo |
| | | { |
| | | public byte Place; //装备位置 |
| | | public uint ItemID; //物品ID |
| | | public byte IsSuite; //是否已经套装化 |
| | | public byte Place; //装备位置 |
| | | public uint ItemID; //物品ID |
| | | public byte IsSuite; //是否已经套装化 |
| | | public uint UserDataLen; |
| | | public string UserData; // 附加数据 |
| | | public string UserData; // 附加数据 |
| | | } |
| | | |
| | | public struct tagAreaPlayerBuff |
| | |
| | | public byte BuffType; |
| | | public ushort SkillID; |
| | | public uint RemainTime; |
| | | public uint OwnerID; // buff来源者 |
| | | public uint OwnerID; // buff来源者 |
| | | public byte OwnerType; |
| | | } |
| | | |
| | |
| | | |
| | | m_Model.transform.SetParent(m_Root); |
| | | m_Model.transform.localPosition = Vector3.zero; |
| | | m_Model.transform.localScale = Vector3.one; |
| | | m_Model.transform.localRotation = Quaternion.identity; |
| | | |
| | | RequestName(); |
| | |
| | | { |
| | | NextAction = GuardAction_Run; |
| | | } |
| | | GuardRun guardRun = m_Animator.GetBehaviour<GuardRun>();
|
| | | GuardRun guardRun = m_Animator.GetBehaviour<GuardRun>(); |
| | | guardRun.OnPickUpEnter(); |
| | | } |
| | | return true; |
| | |
| | | m_Model.transform.SetParent(m_Root.transform);
|
| | | m_Model.transform.localPosition = Vector3.zero;
|
| | | m_Model.transform.localRotation = Quaternion.identity;
|
| | | m_Model.transform.localScale = Vector3.one;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | |
|
| | | m_Model.transform.SetParent(m_Root);
|
| | | m_Model.transform.localPosition = Vector3.zero;
|
| | | m_Model.transform.localScale = Vector3.one;
|
| | | m_Model.transform.localRotation = Quaternion.identity;
|
| | |
|
| | | RequestName();
|
| | |
| | | }
|
| | | else
|
| | | {
|
| | | if (unLock1 && !unLock2)
|
| | | if (!miss1 && miss2)
|
| | | {
|
| | | return -1;
|
| | | }
|
| | | else if (!unLock1 && unLock2)
|
| | | else if (miss1 && !miss2)
|
| | | {
|
| | | return 1;
|
| | | }
|
| | | else
|
| | | {
|
| | | if (!miss1 && miss2)
|
| | | if (unLock1 && !unLock2)
|
| | | {
|
| | | return -1;
|
| | | }
|
| | | else if (miss1 && !miss2)
|
| | | else if (!unLock1 && unLock2)
|
| | | {
|
| | | return 1;
|
| | | }
|
| | |
| | | return _lhs < _rhs ? -1 : 1;
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | | }
|
| New file |
| | |
| | | using System;
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class DungeonAssistWin : Window
|
| | | {
|
| | | [SerializeField] ScrollerController resultCtrl; |
| | | [SerializeField] Text assistNumText;
|
| | | [SerializeField] Text dayScoreText;
|
| | | [SerializeField] Text dungeonScoreText;
|
| | | [SerializeField] Button closeBtn;
|
| | | [SerializeField] Button storeBtn;
|
| | | [SerializeField] Button registerBtn;
|
| | |
|
| | | #region Built-in
|
| | | protected override void BindController()
|
| | | {
|
| | | resultCtrl.OnRefreshCell += RefreshResultCell;
|
| | | }
|
| | |
|
| | | protected override void AddListeners()
|
| | | {
|
| | | closeBtn.AddListener(CloseClick);
|
| | | storeBtn.AddListener(ClickStore);
|
| | | registerBtn.AddListener(ClickAssistRegister);
|
| | |
|
| | | }
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | {
|
| | |
|
| | | }
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | | {
|
| | | this.transform.SetAsLastSibling();
|
| | | }
|
| | |
|
| | | protected override void OnPreClose()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | protected override void OnAfterClose()
|
| | | {
|
| | |
|
| | | }
|
| | | #endregion
|
| | |
|
| | | private void RefreshResultCell(ScrollerDataType type, CellView cell)
|
| | | {
|
| | |
|
| | | }
|
| | |
|
| | | private void ClickAssistRegister()
|
| | | {
|
| | | throw new NotImplementedException();
|
| | | }
|
| | |
|
| | | private void ClickStore()
|
| | | {
|
| | | throw new NotImplementedException();
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | | }
|
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 89ce153767c4ccb40a9491efb780f620 |
| | | timeCreated: 1542254377 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Thursday, November 15, 2018 |
| | | //-------------------------------------------------------- |
| | | //冰晶矿脉新 |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using TableConfig;
|
| | | using Snxxz.UI; |
| | | |
| | | |
| | | [XLua.LuaCallCSharp]
|
| | | public class IceLodeStarAwardClass
|
| | | {
|
| | | public int Index;
|
| | | public int Star;
|
| | | public int MinLv;
|
| | | public int MaxLv;
|
| | | public int ItemID;
|
| | | public int ItemCount;
|
| | | public int IsBind;
|
| | | public int Type;
|
| | |
|
| | | }
|
| | | public class IceCrystalVeinModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
|
| | | {
|
| | | public Dictionary<int, IceLodeStarAwardClass> DicIceLodeStarAward = new Dictionary<int, IceLodeStarAwardClass>();
|
| | |
|
| | | public override void Init()
|
| | | {
|
| | | Assignment();
|
| | | }
|
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | | |
| | | }
|
| | | public override void UnInit()
|
| | | {
|
| | | |
| | | }
|
| | | public void OnPlayerLoginOk()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | private void Assignment()
|
| | | {
|
| | | if (DicIceLodeStarAward.Count <= 0)
|
| | | {
|
| | | var config = Config.Instance.GetAllValues<IceLodeStarAwardConfig>();
|
| | | foreach (var Value in config)
|
| | | {
|
| | | if (!DicIceLodeStarAward.ContainsKey(Value.id))
|
| | | {
|
| | | IceLodeStarAwardClass iceLodeStar = new IceLodeStarAwardClass();
|
| | | iceLodeStar.Index = Value.index;
|
| | | iceLodeStar.Star = Value.Star;
|
| | | var _jsonData = LitJson.JsonMapper.ToObject(Value.LV);
|
| | | if (_jsonData.Count > 0)
|
| | | {
|
| | | iceLodeStar.MinLv = int.Parse(_jsonData[0].ToString());
|
| | | iceLodeStar.MaxLv = int.Parse(_jsonData[1].ToString());
|
| | | }
|
| | | var jsonData = LitJson.JsonMapper.ToObject(Value.ItemList);
|
| | | if (jsonData.Count > 0)
|
| | | {
|
| | | iceLodeStar.ItemID = int.Parse((jsonData[0][0]).ToString());
|
| | | iceLodeStar.ItemCount = int.Parse((jsonData[0][1]).ToString());
|
| | | iceLodeStar.IsBind = int.Parse((jsonData[0][2]).ToString());
|
| | | }
|
| | | iceLodeStar.Type = Value.Type;
|
| | | DicIceLodeStarAward.Add(Value.id, iceLodeStar);
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | }
|
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 60541ff2122967249beb1f30d9fdd254 |
| | | timeCreated: 1542267471 |
| | | licenseType: Free |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| | |
| | | [SerializeField] Transform m_GridMiddle;//中间组 |
| | | [SerializeField] Transform m_GridBottom;//底层组 |
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } } |
| | | ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
|
| | | IceCrystalVeinModel m_IceCrystalVeinModel; |
| | | IceCrystalVeinModel iceCrystalVeinModel { get { return m_IceCrystalVeinModel ?? (m_IceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>()); } }
|
| | | private int IndexSelect = 1; |
| | | private List<int> IceCrystalVeinMiddle = new List<int>(); |
| | | private List<int> IceCrystalVeinStarBottom = new List<int>();
|
| | | private List<int> IceCrystalVeinBottom = new List<int>(); |
| | | private List<IceLodeStarAwardClass> IceLodeStarAwardList = new List<IceLodeStarAwardClass>(); |
| | | #region Built-in |
| | | protected override void BindController() |
| | | {
|
| | |
| | | for (int i = 0; i < IceCrystalVeinReward.Length; i++)
|
| | | {
|
| | | IceCrystalVeinMiddle.Add(IceCrystalVeinReward[i]);
|
| | | } |
| | | var _IceCrystalVeinStarReward = Config.Instance.Get<FuncConfigConfig>("IceCrystalVeinStarReward"); |
| | | int[] _IceCrystalVeinStarBottom = ConfigParse.GetMultipleStr<int>(_IceCrystalVeinStarReward.Numerical1); |
| | | for (int i = 0; i < _IceCrystalVeinStarBottom.Length; i++)
|
| | | {
|
| | | IceCrystalVeinStarBottom.Add(_IceCrystalVeinStarBottom[i]);
|
| | | }
|
| | | int[] _IceCrystalVeinBottom = ConfigParse.GetMultipleStr<int>(_IceCrystalVeinStarReward.Numerical2); |
| | | for (int i = 0; i < _IceCrystalVeinBottom.Length; i++)
|
| | | {
|
| | | IceCrystalVeinBottom.Add(_IceCrystalVeinBottom[i]);
|
| | | } |
| | | } |
| | | |
| | |
| | | protected override void OnPreOpen() |
| | | {
|
| | | OnCreateGridLineCell(m_ScrollerController); |
| | | AddIceLodeStarAwardList(); |
| | | SetGridMiddle(); |
| | | SetGridBotton(); |
| | | } |
| | |
| | | {
|
| | |
|
| | | GameObject ObjChild = m_GridBottom.GetChild(i).gameObject;
|
| | | if (i < IceCrystalVeinBottom.Count)
|
| | | if (i < IceLodeStarAwardList.Count)
|
| | | {
|
| | | IceLodeStarAwardClass IceLode = IceLodeStarAwardList[i];
|
| | | ObjChild.SetActive(true);
|
| | | ItemCell _ItemCell = ObjChild.transform.Find("ItemCell_1").GetComponent<ItemCell>();
|
| | | Text TextStar= ObjChild.transform.Find("Text_Star").GetComponent<Text>();
|
| | | TextStar.text = "0/"+IceCrystalVeinStarBottom[i];
|
| | | ItemCellModel cellModel = new ItemCellModel(IceCrystalVeinBottom[i], true, (ulong)1);
|
| | | TextStar.text = "0/"+ IceLode.Star;
|
| | | ItemCellModel cellModel = new ItemCellModel(IceLode.ItemID, true, (ulong)1);
|
| | | _ItemCell.Init(cellModel);
|
| | | int type = i;
|
| | | _ItemCell.cellBtn.SetListener(() =>
|
| | | {
|
| | | ItemAttrData attrData = new ItemAttrData(IceCrystalVeinBottom[type], false, (ulong)1);
|
| | | ItemAttrData attrData = new ItemAttrData(IceLode.ItemID, false, (ulong)1);
|
| | | itemTipsModel.SetItemTipsModel(attrData);
|
| | | });
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | | } |
| | | private void AddIceLodeStarAwardList()
|
| | | {
|
| | | IceLodeStarAwardList.Clear();
|
| | | foreach (var key in iceCrystalVeinModel.DicIceLodeStarAward.Keys)
|
| | | {
|
| | | var Dic = iceCrystalVeinModel.DicIceLodeStarAward[key];
|
| | | int Lv = PlayerDatas.Instance.baseData.LV;
|
| | | if (Lv >= Dic.MinLv && Lv <= Dic.MaxLv)
|
| | | {
|
| | | IceLodeStarAwardList.Add(Dic);
|
| | | }
|
| | | }
|
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | public class FindPreciousBossRebornBehaviour : MonoBehaviour
|
| | | {
|
| | | [SerializeField] RectTransform m_ContainerBossReborn;
|
| | | [SerializeField] Text m_BossRebornTimer;
|
| | | [SerializeField] Image m_BossIcon;
|
| | | [SerializeField] Text m_BossName;
|
| | | [SerializeField] Text m_BossLevel;
|
| | | [SerializeField] Button m_Goto;
|
| | | [SerializeField] Button m_Close;
|
| | |
|
| | | float timer = 0f;
|
| | | MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } }
|
| | | FindPreciousModel model { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
|
| | | DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
| | |
| | | {
|
| | | m_Goto.AddListener(GotoKillBoss);
|
| | | m_Close.AddListener(ReportConfirmBossRebornNotify);
|
| | | timer = 0f;
|
| | | DisplayRebornCountDown();
|
| | | }
|
| | |
|
| | | private void LateUpdate()
|
| | | {
|
| | | timer += Time.deltaTime;
|
| | | if (timer > 1f)
|
| | | {
|
| | | timer = 0f;
|
| | | DisplayRebornCountDown();
|
| | | }
|
| | | }
|
| | |
|
| | | private void OnDisable()
|
| | |
| | |
|
| | | if (mapConfig.MapFBType == (int)MapType.OpenCountry)
|
| | | {
|
| | | EnterBossHome(config.FloorNum,_bossId);
|
| | | EnterBossHome(config.FloorNum, _bossId);
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void EnterBossHome(int _floor,int _bossId)
|
| | | private void EnterBossHome(int _floor, int _bossId)
|
| | | {
|
| | | var error = 0;
|
| | | if (TestEnterBossHomeDungeon(_floor, out error))
|
| | |
| | | return true;
|
| | | }
|
| | |
|
| | | private void DisplayRebornCountDown()
|
| | | {
|
| | | var bossId = model.currentBossNotify;
|
| | | if (model.IsBossAlive(bossId))
|
| | | {
|
| | | m_BossRebornTimer.text = Language.Get("BossAlreadyReborn");
|
| | | }
|
| | | else
|
| | | {
|
| | | FindPreciousModel.BossInfo bossInfo;
|
| | | if (model.TryGetBossInfo(bossId, out bossInfo))
|
| | | {
|
| | | var rebornCountDown = (int)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds;
|
| | | if (rebornCountDown < 1)
|
| | | {
|
| | | m_BossRebornTimer.text = Language.Get("BossAlreadyReborn");
|
| | | }
|
| | | else
|
| | | {
|
| | | m_BossRebornTimer.text = Language.Get("BossRebornCountDown", rebornCountDown);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | [XLua.LuaCallCSharp]
|
| | | public class FindPreciousModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk, IMapInitOk, ISwitchAccount
|
| | | {
|
| | | public const int PREPOSE_SECONDS = 300;
|
| | | public const int PREPOSE_SECONDS = 120;
|
| | | public const int FINDPRECIOUS_REDPOINTID = 76000;
|
| | | public const int LOOTPRECIOUs_REDPOINTID = 77000;
|
| | |
|
| | |
| | | /// <param name="type"></param>
|
| | | /// <param name="lv"></param>
|
| | | /// <param name="values"></param>
|
| | | private EquipWashConfig tagWashModel;
|
| | | private EquipWashConfig.EquipWashData tagWashModel;
|
| | | public void SetWashModel(int type, int lv, int[] values)
|
| | | {
|
| | | washDataDict = null;
|
| | |
| | | }
|
| | |
|
| | | washDataDict = new Dictionary<int, int>();
|
| | | this.tagWashModel = EquipWashConfig.GetCurrentWashEquipModel(type, lv);
|
| | |
|
| | | for (i = 0; i < values.Length; i++)
|
| | | this.tagWashModel = EquipWashConfig.GetEquipWashData(type, lv);
|
| | | if(this.tagWashModel != null)
|
| | | {
|
| | | switch (i)
|
| | | for (i = 0; i < values.Length; i++)
|
| | | {
|
| | | case 0:
|
| | | washDataDict.Add(tagWashModel.attType1, values[0]);
|
| | | break;
|
| | | case 1:
|
| | | washDataDict.Add(tagWashModel.attType2, values[1]);
|
| | | break;
|
| | | case 2:
|
| | | washDataDict.Add(tagWashModel.attType3, values[2]);
|
| | | break;
|
| | | switch (i)
|
| | | {
|
| | | case 0:
|
| | | washDataDict.Add(tagWashModel.washConfig.attType1, values[0]);
|
| | | break;
|
| | | case 1:
|
| | | washDataDict.Add(tagWashModel.washConfig.attType2, values[1]);
|
| | | break;
|
| | | case 2:
|
| | | washDataDict.Add(tagWashModel.washConfig.attType3, values[2]);
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | | //设置弹框的宝石数据
|
| | |
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | | using TableConfig;
|
| | | using LitJson;
|
| | | using System.Text.RegularExpressions;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | |
| | | }
|
| | | else
|
| | | {
|
| | | var playerLevel = PlayerDatas.Instance.baseData.LV == 0 ? PlayerDatas.Instance.loginInfo.LV : PlayerDatas.Instance.baseData.LV;
|
| | | var mapResConfig = Config.Instance.Get<MapResourcesConfig>(targetMapResId);
|
| | | if (mapResConfig != null && mapResConfig.LoadingBG.Length > 0)
|
| | | if (mapResConfig != null)
|
| | | {
|
| | | var randomIndex = UnityEngine.Random.Range(0, mapResConfig.LoadingBG.Length > 1 ? mapResConfig.LoadingBG.Length + 1 : 1);
|
| | | if (randomIndex == mapResConfig.LoadingBG.Length)
|
| | | var loadingBackGroudConfig = Config.Instance.Get<LoadingBackGroundConfig>(mapResConfig.DataID);
|
| | | if (loadingBackGroudConfig != null && loadingBackGroudConfig.icons.Length > 0)
|
| | | {
|
| | | m_BackGround.SetSprite(GeneralDefine.LoadLV);
|
| | | m_ContainerFunctions.gameObject.SetActive(true);
|
| | | var functions = GetShowFunctions(PlayerDatas.Instance.baseData.LV == 0 ? PlayerDatas.Instance.loginInfo.LV : PlayerDatas.Instance.baseData.LV);
|
| | | for (int i = 0; i < m_FunctionShows.Length; i++)
|
| | | var icons = new List<string>();
|
| | | var json = JsonMapper.ToObject(loadingBackGroudConfig.levelLimit);
|
| | |
|
| | | for (var i = 0; i < loadingBackGroudConfig.icons.Length; i++)
|
| | | {
|
| | | var show = m_FunctionShows[i];
|
| | | show.Display(functions[i]);
|
| | | var icon = loadingBackGroudConfig.icons[i];
|
| | | if (json.Keys.Contains(icon))
|
| | | {
|
| | | var min = 0;
|
| | | var max = int.MaxValue;
|
| | | var levelLimit = json[icon].ToString();
|
| | | var levelsMatch = Regex.Matches(levelLimit, "\\d+");
|
| | | if (levelsMatch.Count > 0)
|
| | | {
|
| | | min = int.Parse(levelsMatch[0].Value);
|
| | | }
|
| | |
|
| | | if (levelsMatch.Count > 1)
|
| | | {
|
| | | max = int.Parse(levelsMatch[1].Value);
|
| | | }
|
| | |
|
| | | if (playerLevel > min && playerLevel < max)
|
| | | {
|
| | | icons.Add(icon);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | icons.Add(icon);
|
| | | }
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_BackGround.SetSprite(mapResConfig.LoadingBG[randomIndex]);
|
| | | m_ContainerFunctions.gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | |
|
| | | if (mapResConfig != null && !string.IsNullOrEmpty(mapResConfig.LoadName))
|
| | | {
|
| | | m_ContainerMapName.gameObject.SetActive(true);
|
| | | m_MapName.SetSprite(mapResConfig.LoadName);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_ContainerMapName.gameObject.SetActive(false);
|
| | | }
|
| | | var randomIndex = UnityEngine.Random.Range(0, loadingBackGroudConfig.icons.Length > 1 ? icons.Count + 1 : 1);
|
| | | if (randomIndex == icons.Count)
|
| | | {
|
| | | m_BackGround.SetSprite(GeneralDefine.LoadLV);
|
| | | m_ContainerFunctions.gameObject.SetActive(true);
|
| | | var functions = GetShowFunctions(playerLevel);
|
| | | for (int i = 0; i < m_FunctionShows.Length; i++)
|
| | | {
|
| | | var show = m_FunctionShows[i];
|
| | | show.Display(functions[i]);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_BackGround.SetSprite(icons[randomIndex]);
|
| | | m_ContainerFunctions.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | | if (mapResConfig != null && !string.IsNullOrEmpty(mapResConfig.LoadDescription))
|
| | | {
|
| | | m_ContainerMapDescription.gameObject.SetActive(true);
|
| | | m_MapDescription.SetSprite(mapResConfig.LoadDescription);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_ContainerMapDescription.gameObject.SetActive(false);
|
| | | if (loadingBackGroudConfig != null && !string.IsNullOrEmpty(loadingBackGroudConfig.name))
|
| | | {
|
| | | m_ContainerMapName.gameObject.SetActive(true);
|
| | | m_MapName.SetSprite(loadingBackGroudConfig.name);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_ContainerMapName.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | | if (loadingBackGroudConfig != null && !string.IsNullOrEmpty(loadingBackGroudConfig.description))
|
| | | {
|
| | | m_ContainerMapDescription.gameObject.SetActive(true);
|
| | | m_MapDescription.SetSprite(loadingBackGroudConfig.description);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_ContainerMapDescription.gameObject.SetActive(false);
|
| | | }
|
| | | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | if (Application.platform == RuntimePlatform.IPhonePlayer)
|
| | | {
|
| | |
| | | public int GetActivityDay()
|
| | | {
|
| | | int dayIndex = IndexOfDays(TimeUtility.ServerNow);
|
| | | if(resetType == 0)
|
| | | {
|
| | | return dayIndex + 1;
|
| | | }
|
| | | else if(resetType == 1)
|
| | | {
|
| | | if(IsLastDay)
|
| | | {
|
| | | return dayIndex;
|
| | | }
|
| | | else
|
| | | {
|
| | | return dayIndex + 1;
|
| | | }
|
| | | }
|
| | | return dayIndex + 1;
|
| | | }
|
| | |
|
| | | public int GetActivitySumDay()
|
| | | {
|
| | | if(resetType == 0)
|
| | | {
|
| | | return totalDays + 1;
|
| | | }
|
| | | else if(resetType == 1)
|
| | | {
|
| | | return totalDays;
|
| | | }
|
| | | return totalDays;
|
| | | }
|
| | |
|
| | | public void ParsePackage(HAA19_tagMCActWishingWellInfo package)
|
| | | {
|
| | | for (int i = 0; i < package.Count; i++)
|
| | |
| | | UpdateActivityState();
|
| | | UpdateDayRemainTime();
|
| | | activityDayText.text = Language.Get("WishingPool103", operation.GetActivityDay());
|
| | | totalDayText.text = Language.Get("WishingPool101", Language.Get(StringUtility.Contact("Num_CHS_", operation.totalDays + 1)));
|
| | | totalDayText.text = Language.Get("WishingPool101", Language.Get(StringUtility.Contact("Num_CHS_", operation.GetActivitySumDay())));
|
| | | handImg.gameObject.SetActive(false);
|
| | | playTimes = 0;
|
| | | handAlpha.DOKill();
|
| | |
| | | public void SetDisplayModel(WashProCount washPro, int repointId, int index, int selectIndex)
|
| | | {
|
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptEquip, washPro.EquipPlace);
|
| | | EquipWashConfig washModel = EquipWashConfig.GetCurrentWashEquipModel(equipWashModel.OnGetWashType(washPro.EquipPlace), washPro.XLAttrLV);
|
| | | var washModel = EquipWashConfig.GetEquipWashData(equipWashModel.OnGetWashType(washPro.EquipPlace), washPro.XLAttrLV);
|
| | | washRedpoint.redpointId = repointId;
|
| | | if (itemModel != null && washModel != null)
|
| | | {
|
| | |
| | | nameText.text = UIHelper.AppendStringColor(itemModel.chinItemModel.ItemColor, itemModel.chinItemModel.ItemName, true);
|
| | | //pdr ToDo
|
| | | itemCell.Init(itemModel);
|
| | | washLevelText.text = equipWashModel.GetCurWashLvStr(washPro, washModel);
|
| | | washLevelText.text = equipWashModel.GetCurWashLvStr(washPro, washModel.washConfig);
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | |
|
| | | public override void Init()
|
| | | {
|
| | | ParseFuncConfig();
|
| | | _equipWashLimitDict.Clear();
|
| | | FuncConfigConfig washGroup1Model = Config.Instance.Get<FuncConfigConfig>("EquipWashGroup1");
|
| | | FuncConfigConfig washGroup2Model = Config.Instance.Get<FuncConfigConfig>("EquipWashGroup2");
|
| | |
| | | PlayerPrefs.DeleteKey(MasterGroup3RaiseKey);
|
| | | CheckIsMasterLv();
|
| | | }
|
| | |
|
| | | #region 解析本地数据
|
| | | public int mustWashMatId { get; private set;}
|
| | | private void ParseFuncConfig()
|
| | | {
|
| | | var equipWashMustID = Config.Instance.Get<FuncConfigConfig>("EquipWashMustID");
|
| | | mustWashMatId = int.Parse(equipWashMustID.Numerical1);
|
| | | }
|
| | | #endregion
|
| | |
|
| | | public int[] washPlacelist { get; private set; }
|
| | | public List<WashProCount> washProlist { get; private set; }
|
| | |
| | | for (i = 0; i < orderWashProlist.Count; i++)
|
| | | {
|
| | | ItemModel model = playerPack.GetItemModelByIndex(PackType.rptEquip, orderWashProlist[i].EquipPlace);
|
| | | EquipWashConfig washModel = EquipWashConfig.GetCurrentWashEquipModel(OnGetWashType(orderWashProlist[i].EquipPlace), orderWashProlist[i].XLAttrLV);
|
| | | var washModel = EquipWashConfig.GetEquipWashData(OnGetWashType(orderWashProlist[i].EquipPlace), orderWashProlist[i].XLAttrLV);
|
| | | if (model != null && washModel != null)
|
| | | {
|
| | | if (IsCanWash(model) && IsEnoughMat(washModel) && !IsWashFull(model, orderWashProlist[i], washModel)
|
| | | if (IsCanWash(model) |
| | | && IsEnoughMat(washModel.washConfig) |
| | | && !IsWashFull(model, orderWashProlist[i], washModel.washConfig)
|
| | | && FuncOpen.Instance.IsFuncOpen(91))
|
| | | {
|
| | | RedpointWashDict.Add(i, orderWashProlist[i]);
|
| | |
| | | this.washPro = washPro;
|
| | | this.isPerfect = false;
|
| | | this.preViewStr = "";
|
| | | this._preTagWashModel = EquipWashConfig.GetCurrentWashEquipModel(washModel.type, washPro.XLAttrLV -1);
|
| | | var equipWashData = EquipWashConfig.GetEquipWashData(washModel.type, washPro.XLAttrLV - 1);
|
| | | this._preTagWashModel = equipWashData == null ? null : equipWashData.washConfig;
|
| | | switch (attrType)
|
| | | {
|
| | | case WashAttrType.attack:
|
| | |
| | |
|
| | | [SerializeField]
|
| | | UIEffect washEffect;
|
| | | [SerializeField]
|
| | | UIEffect mustWashEffect;
|
| | |
|
| | | [SerializeField] float offest = 50;
|
| | |
|
| | | #endregion
|
| | |
|
| | | private WashProCount _washProModel;
|
| | | private EquipWashConfig _tagWashModel;
|
| | | private EquipWashConfig.EquipWashData _tagWashModel;
|
| | | private ItemModel _itemModel; //洗练的装备
|
| | | private List<string> _costMoneylist = null;
|
| | | private int _costmoney = 0;
|
| | | public int CostMoney
|
| | | {
|
| | | get { return _costmoney; }
|
| | | set { _costmoney = value; }
|
| | | }
|
| | | private int[] _costMoneylist = null;
|
| | | private List<WashProCount> _washInfolist;
|
| | | private int curWashEquip = 0;
|
| | |
|
| | |
| | | _specWashOpenCondition.gameObject.SetActive(true);
|
| | | _specWashFullText.gameObject.SetActive(false);
|
| | | _equipWashCtrl.OnRefreshCell += RefreshEquipWashCell;
|
| | | EquipReinforceEventMgr.Instance.RefreshWashCostMoneyEvent = RefreshCostMoney;
|
| | | EquipReinforceEventMgr.Instance.RefreshWashCostMoneyEvent = UpdateMustWash;
|
| | | _openSpecWashPro.SetActive(false);
|
| | |
|
| | | }
|
| | |
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptEquip,washPro.EquipPlace);
|
| | | if(itemModel != null)
|
| | | {
|
| | | EquipWashConfig washModel = EquipWashConfig.GetCurrentWashEquipModel(equipWashModel.OnGetWashType(washPro.EquipPlace), washPro.XLAttrLV);
|
| | | if (equipWashModel.IsEnoughMat(washModel) && equipWashModel.IsCanWash(itemModel))
|
| | | var washModel = EquipWashConfig.GetEquipWashData(equipWashModel.OnGetWashType(washPro.EquipPlace), washPro.XLAttrLV);
|
| | | if (washModel!= null |
| | | && equipWashModel.IsEnoughMat(washModel.washConfig) |
| | | && equipWashModel.IsCanWash(itemModel))
|
| | | {
|
| | | jumpToWashId = washPro.EquipPlace;
|
| | | isWash = true;
|
| | |
| | | }
|
| | | }
|
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptEquip, washPro.EquipPlace);
|
| | | EquipWashConfig washModel = EquipWashConfig.GetCurrentWashEquipModel(equipWashModel.OnGetWashType(washPro.EquipPlace), washPro.XLAttrLV);
|
| | | var washModel = EquipWashConfig.GetEquipWashData(equipWashModel.OnGetWashType(washPro.EquipPlace), washPro.XLAttrLV);
|
| | | _washProModel = washPro;
|
| | | _tagWashModel = washModel;
|
| | | _costMoneylist = GetToolsList(_tagWashModel.costMoneyList, _costMoneylist);
|
| | | washAttrModel.SetUIModel(washModel, washPro, WashAttrType.attack);
|
| | | washAttrModel.SetUIModel(washModel, washPro, WashAttrType.life);
|
| | | washAttrModel.SetUIModel(washModel, washPro, WashAttrType.ignoredefence);
|
| | | _costMoneylist = _tagWashModel.mustCosts;
|
| | | washAttrModel.SetUIModel(washModel.washConfig, washPro, WashAttrType.attack);
|
| | | washAttrModel.SetUIModel(washModel.washConfig, washPro, WashAttrType.life);
|
| | | washAttrModel.SetUIModel(washModel.washConfig, washPro, WashAttrType.ignoredefence);
|
| | | _attackWashPro.RefreshUI(WashAttrType.attack);
|
| | | _lifeWashPro.RefreshUI(WashAttrType.life);
|
| | | _ignoreDefenceWashPro.RefreshUI(WashAttrType.ignoredefence);
|
| | |
| | | {
|
| | | _washLevelTitle.text = Language.Get("EquipWash108", washPro.XLAttrLV);
|
| | | }
|
| | | _costMatCell.gameObject.SetActive(true);
|
| | | ItemCellModel cellModel = new ItemCellModel(washModel.costItem);
|
| | | _costMatCell.Init(cellModel);
|
| | | _costMatCell.cellBtn.RemoveAllListeners();
|
| | | _costMatCell.cellBtn.onClick.AddListener(() =>
|
| | | {
|
| | | itemPathModel.SetChinItemModel(washModel.costItem);
|
| | | });
|
| | |
|
| | | #region 刷新物品UI
|
| | | if (itemModel == null)
|
| | |
| | | else
|
| | | {
|
| | | noEquipObj.SetActive(false);
|
| | | RefreshCostItem(itemModel.packType, itemModel.itemInfo.ItemPlace, itemModel.itemInfo.ItemID);
|
| | | _itemModel = itemModel;
|
| | | _washEquipCell.gameObject.SetActive(true);
|
| | | _washEquipCell.Init(itemModel);
|
| | |
| | | {
|
| | | itemTipsModel.SetItemTipsModel(PackType.rptEquip, itemModel.itemInfo.ItemGUID);
|
| | | });
|
| | |
|
| | | RefreshCostMoney();
|
| | | }
|
| | |
|
| | | UpdateMustWash();
|
| | | #endregion
|
| | |
|
| | | RefreshSpecWashUI();
|
| | |
| | | //刷新材料
|
| | | public void RefreshCostItem(PackType type, int index, int id)
|
| | | {
|
| | | SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
|
| | | if (singlePack == null)
|
| | | return;
|
| | | if (type != PackType.rptItem) return;
|
| | | UpdateMustWash();
|
| | |
|
| | | _costMatCell.countText.gameObject.SetActive(true);
|
| | | int bagItemCount = singlePack.GetItemCountByID(_tagWashModel.costItem);
|
| | | if (bagItemCount >= _tagWashModel.costCount)
|
| | | _costMatCell.countText.text = UIHelper.AppendStringColor(TextColType.Green, bagItemCount.ToString(),true) + "/" + _tagWashModel.costCount;
|
| | | else
|
| | | _costMatCell.countText.text = UIHelper.AppendStringColor(TextColType.Red, bagItemCount.ToString()) + "/" + _tagWashModel.costCount;
|
| | | }
|
| | |
|
| | | private void UpdateMustWash()
|
| | | {
|
| | | UpdateWashMat();
|
| | | UpdateMustWashCostMoney();
|
| | | }
|
| | |
|
| | | public void UpdateWashMat()
|
| | |
| | | contain_Default.SetActive(!isMustAdd);
|
| | | if (!isMustAdd)
|
| | | {
|
| | | UpdateItemCell(_tagWashModel.costItem,_costMatCell,_tagWashModel.costCount);
|
| | | UpdateItemCell(_tagWashModel.washConfig.costItem,_costMatCell,_tagWashModel.washConfig.costCount);
|
| | | }
|
| | | else
|
| | | {
|
| | | UpdateItemCell(_tagWashModel.costItem, contain_Cost_NormalItem, _tagWashModel.costCount);
|
| | | UpdateItemCell(_tagWashModel.washConfig.costItem, contain_Cost_NormalItem, _tagWashModel.washConfig.costCount);
|
| | | UpdateItemCell(equipWashModel.mustWashMatId, contain_Cost_MustAddItem, GetMustAddCost());
|
| | | }
|
| | | }
|
| | |
|
| | | private void UpdateMustWashCostMoney()
|
| | | {
|
| | | int goldCount = (int)PlayerDatas.Instance.baseData.Gold;
|
| | | int costMoney = GetCostMoney();
|
| | | if (goldCount >= costMoney)
|
| | | {
|
| | | contain_Cost_Money.text = StringUtility.Contact("<color=#109D06>", costMoney, "</color>");
|
| | | }
|
| | | else
|
| | | {
|
| | | contain_Cost_Money.text = StringUtility.Contact("<color=#ff0000>", costMoney, "</color>");
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | ItemCellModel cellModel = new ItemCellModel(itemId);
|
| | | itemCell.Init(cellModel);
|
| | | itemCell.countText.gameObject.SetActive(true);
|
| | | itemCell.countText.gameObject.SetActive(_washProModel.isPutOn);
|
| | | int haveNum = playerPack.GetItemCountByID(PackType.rptItem,itemId);
|
| | | string matNumStr = string.Empty;
|
| | | if (haveNum >= needNum)
|
| | |
| | | });
|
| | | }
|
| | |
|
| | | private int GetCostMoney()
|
| | | {
|
| | | int costMatId = equipWashModel.mustWashMatId;
|
| | | int costNum = GetMustAddCost();
|
| | | int haveNum = playerPack.GetItemCountByID(PackType.rptItem, costMatId);
|
| | | var storeConfig = StoreConfig.GetStoreCfg(costMatId, 1);
|
| | | int matPrice = storeConfig == null ? 0 : storeConfig.MoneyNumber;
|
| | | int costMoney = 0;
|
| | | if (haveNum < costNum)
|
| | | {
|
| | | costMoney = (costNum - haveNum) * matPrice;
|
| | | }
|
| | | return costMoney;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获得勾选几条必增数量
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public int GetMustAddNum()
|
| | | {
|
| | | int needAddCount = 0;
|
| | |
| | | return needAddCount;
|
| | | }
|
| | |
|
| | | //刷新仙玉
|
| | | public void RefreshCostMoney()
|
| | | /// <summary>
|
| | | /// 获得必增消耗的数量
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public int GetMustAddCost()
|
| | | {
|
| | | int needAddCount = 0;
|
| | | if (_attackWashPro.toggleIsOn)
|
| | | needAddCount += 1;
|
| | | int mustAddNum = GetMustAddNum();
|
| | | if (_tagWashModel == null || mustAddNum < 1) return 0;
|
| | |
|
| | | if (_lifeWashPro.toggleIsOn)
|
| | | needAddCount += 1;
|
| | |
|
| | | if (_ignoreDefenceWashPro.toggleIsOn)
|
| | | needAddCount += 1;
|
| | |
|
| | | if (needAddCount == 0)
|
| | | {
|
| | | CostMoney = 0;
|
| | | }
|
| | | else if (needAddCount == 1)
|
| | | {
|
| | | CostMoney = int.Parse(GetCostMoneyList()[0]);
|
| | | }
|
| | | else if (needAddCount == 2)
|
| | | {
|
| | | CostMoney = int.Parse(GetCostMoneyList()[1]);
|
| | | }
|
| | | else if (needAddCount == 3)
|
| | | {
|
| | | CostMoney = int.Parse(GetCostMoneyList()[2]);
|
| | | }
|
| | |
|
| | | int goldCount = (int)PlayerDatas.Instance.baseData.Gold;
|
| | | if (goldCount >= CostMoney)
|
| | | {
|
| | | _costMoneyText.text = StringUtility.Contact("<color=#109D06>", CostMoney.ToString(), "</color>");
|
| | | }
|
| | | else
|
| | | {
|
| | | _costMoneyText.text = StringUtility.Contact("<color=#ff0000>", CostMoney.ToString(), "</color>");
|
| | | }
|
| | | int index = mustAddNum - 1;
|
| | | return mustAddNum > _tagWashModel.mustCosts.Length ? 0 : _tagWashModel.mustCosts[index];
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | | //刷新特殊洗练UI
|
| | | public void RefreshSpecWashUI()
|
| | |
| | | {
|
| | | if (equipWashModel.IsSaveWashValue(_washProModel))
|
| | | {
|
| | | if (equipWashModel.IsWashFull(_itemModel, _washProModel, _tagWashModel))
|
| | | if (equipWashModel.IsWashFull(_itemModel, _washProModel, _tagWashModel.washConfig))
|
| | | {
|
| | | if(_washProModel.XLAttrLV >= equipWashModel.GetMaxWashLv(_itemModel.chinItemModel.EquipPlace)
|
| | | && _washProModel.XLAttrLV <= equipWashModel.GetWashFullLv(_itemModel.chinItemModel.EquipPlace, _itemModel.chinItemModel.LV))
|
| | |
| | | {
|
| | | if (_washProModel.isPutOn)
|
| | | {
|
| | | |
| | | int costMoney = GetCostMoney();
|
| | | int goldCount = (int)PlayerDatas.Instance.baseData.Gold;
|
| | | if (equipWashModel.IsEnoughMat(_tagWashModel))
|
| | | int mustAddNum = GetMustAddNum();
|
| | | if (equipWashModel.IsEnoughMat(_tagWashModel.washConfig))
|
| | | {
|
| | | if (CostMoney > 0)
|
| | | if (costMoney > 0)
|
| | | {
|
| | | if (goldCount >= CostMoney)
|
| | | int costNum = GetMustAddCost();
|
| | | int haveNum = playerPack.GetItemCountByID(PackType.rptItem,equipWashModel.mustWashMatId);
|
| | | string costMat = StringUtility.Contact(haveNum,"/",costNum);
|
| | | if (isOpenPrompting)
|
| | | {
|
| | | if (isOpenPrompting)
|
| | | ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("EquipWash103",costMat,costMoney),
|
| | | Language.Get("ConfirmCancel101"), (bool isOk, bool isToggle) =>
|
| | | {
|
| | | ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("EquipWash103", CostMoney),
|
| | | Language.Get("ConfirmCancel101"), (bool isOk, bool isToggle) =>
|
| | | if (isOk)
|
| | | {
|
| | | if (isOk)
|
| | | if(IsMoneyEnough())
|
| | | {
|
| | | washEffect.Play();
|
| | | mustWashEffect.Play();
|
| | | equipWashModel.SendWashQuest(_washProModel.EquipPlace, GetWashCheckUseGoldAttr());
|
| | | }
|
| | | }
|
| | |
|
| | | isOpenPrompting = !isToggle;
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | | washEffect.Play();
|
| | | equipWashModel.SendWashQuest(_washProModel.EquipPlace, GetWashCheckUseGoldAttr());
|
| | | }
|
| | |
|
| | | isOpenPrompting = !isToggle;
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | | if (VersionConfig.Get().isBanShu)
|
| | | if(IsMoneyEnough())
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("GoldErr");
|
| | | return;
|
| | | mustWashEffect.Play();
|
| | | equipWashModel.SendWashQuest(_washProModel.EquipPlace, GetWashCheckUseGoldAttr());
|
| | | }
|
| | | WindowCenter.Instance.Open<RechargeTipWin>();
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | washEffect.Play();
|
| | | if(mustAddNum > 0)
|
| | | {
|
| | | mustWashEffect.Play();
|
| | | }
|
| | | else
|
| | | {
|
| | | washEffect.Play();
|
| | | }
|
| | | equipWashModel.SendWashQuest(_washProModel.EquipPlace, GetWashCheckUseGoldAttr());
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | itemPathModel.SetChinItemModel(_tagWashModel.costItem);
|
| | | itemPathModel.SetChinItemModel(_tagWashModel.washConfig.costItem);
|
| | | }
|
| | | }
|
| | | else
|
| | |
| | | SysNotifyMgr.Instance.ShowTip("Wash_NoEquip1");
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | private bool IsMoneyEnough()
|
| | | {
|
| | | int costMoney = GetCostMoney();
|
| | | int goldCount = (int)PlayerDatas.Instance.baseData.Gold;
|
| | | if(goldCount < costMoney)
|
| | | {
|
| | | WindowCenter.Instance.Open<RechargeTipWin>();
|
| | | return false;
|
| | | }
|
| | | return true;
|
| | | }
|
| | |
|
| | | private int GetWashCheckUseGoldAttr()
|
| | |
| | | {
|
| | | }
|
| | | #endregion
|
| | |
|
| | | public List<string> GetCostMoneyList()
|
| | | {
|
| | | if (_costMoneylist != null)
|
| | | return _costMoneylist;
|
| | | else
|
| | | return null;
|
| | | }
|
| | |
|
| | | private List<string> GetToolsList(string tools, List<string> toolslist)
|
| | | {
|
| | |
| | | RegisterModel<ChatBubbleModel>();
|
| | | RegisterModel<AccumulateRechargeModel>();
|
| | | RegisterModel<FBHelpPointExchageModel>();
|
| | | RegisterModel<IceCrystalVeinModel>();
|
| | | inited = true;
|
| | | }
|
| | |
|
| | |
| | |
|
| | | public static void AddLog(string info, uint objId = 0)
|
| | | {
|
| | | if (!s_BattleLog && !s_MoveLog)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | string _strTime = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
| | | string _content = string.Format("[{0}] {1}<br />", _strTime, info);
|
| | |
|
| | |
| | |
|
| | | s_LogDict[objId].Append(_content);
|
| | | }
|
| | |
|
| | | //if (s_LogList.Count >= 10000)
|
| | | //{
|
| | | // SaveNpcLog();
|
| | | //}
|
| | |
|
| | | }
|
| | |
|
| | | public static void SaveNpcLog()
|
| | |
| | | RuntimeLogUtility.s_SkillEffectLog = EditorGUILayout.Toggle("技能效果log输出", RuntimeLogUtility.s_SkillEffectLog);
|
| | | RuntimeLogUtility.s_LogMoveDistance = EditorGUILayout.Toggle("位移距离Log输出", RuntimeLogUtility.s_LogMoveDistance);
|
| | | RuntimeLogUtility.s_ShowMapLine = EditorGUILayout.Toggle("显示地图网格", RuntimeLogUtility.s_ShowMapLine);
|
| | | |
| | |
|
| | | _navChkPos = EditorGUILayout.Vector3Field("检测点", _navChkPos);
|
| | |
|
| | | if (GUILayout.Button("检测"))
|