Merge branch 'master' into 3687天赋功能
Conflicts:
System/WindowBase/ModelCenter.cs
17 文件已复制
1个文件已删除
1 文件已重命名
20个文件已添加
52个文件已修改
| | |
| | | Register(typeof(HA318_tagMCFreeGoodsInfo), typeof(DTCA318_tagMCFreeGoodsInfo));
|
| | | Register(typeof(HAA12_tagMCFlashGiftbagInfo), typeof(DTCAA12_tagMCFlashGiftbagInfo));
|
| | | Register(typeof(HAA13_tagMCFlashGiftbagPlayerInfo), typeof(DTCAA13_tagMCFlashGiftbagPlayerInfo));
|
| | | Register(typeof(HAA17_tagMCFlashSaleInfo), typeof(DTCAA17_tagMCFlashSaleInfo));
|
| | | Register(typeof(HAA18_tagMCFlashSaleAppointmentInfo), typeof(DTCAA18_tagMCFlashSaleAppointmentInfo));
|
| | |
|
| | | #region 仙界盛典
|
| | | Register(typeof(HAC09_tagGCFairyCeremonyInfo), typeof(DTCAC09_tagGCFairyCeremonyInfo));
|
| | |
| | | SoundPlayer.CreateSoundPlayer();
|
| | | SoundPlayer.Instance.PlayLoginMusic();
|
| | | SystemSetting.Instance.SetSoundVolume(SystemSetting.Instance.GetSoundVolume());
|
| | | SystemSetting.Instance.SetSoundEffect(SystemSetting.Instance.GetSoundEffect());
|
| | | SystemSetting.Instance.SetGameFps(SystemSetting.Instance.GetGameFps());
|
| | |
|
| | | SDKUtility.Instance.Init();
|
| | |
| | | AddAsyncTask<RuneTowerFloorConfig>();
|
| | | AddAsyncTask<TreasureRefineConfig>();
|
| | | AddAsyncTask<AlchemyConfig>();
|
| | | AddAsyncTask<BlastFurnaceLVConfig>();
|
| | | AddAsyncTask<AlchemySpecConfig>();
|
| | | AddAsyncTask<QuestionBankConfig>();
|
| | | AddAsyncTask<WingRefineExpConfig>();
|
| | |
| | |
|
| | | for (int i = 0; i < row + 1; ++i)
|
| | | {
|
| | | _start = new Vector3(_startX, _hero.Pos.y + 0.1f, _startZ + i * size);
|
| | | _end = new Vector3(_startX + column * .5f, _hero.Pos.y + 0.1f, _startZ + i * size);
|
| | | _start = new Vector3(_startX, _hero.Pos.y + 0.001f, _startZ + i * size);
|
| | | _end = new Vector3(_startX + column * .5f, _hero.Pos.y + 0.001f, _startZ + i * size);
|
| | |
|
| | | Gizmos.DrawLine(_start, _end);
|
| | | }
|
| | |
|
| | | for (int i = 0; i < column + 1; ++i)
|
| | | {
|
| | | _start = new Vector3(_startX + i * size, _hero.Pos.y + 0.1f, _startZ);
|
| | | _end = new Vector3(_startX + i * size, _hero.Pos.y + 0.1f, _startZ + row* .5f);
|
| | | _start = new Vector3(_startX + i * size, _hero.Pos.y + 0.001f, _startZ);
|
| | | _end = new Vector3(_startX + i * size, _hero.Pos.y + 0.001f, _startZ + row* .5f);
|
| | |
|
| | | Gizmos.DrawLine(_start, _end);
|
| | | }
|
| New file |
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | |
|
| | | // A3 13 物品拆解 #tagCMItemDecompound
|
| | |
|
| | | public class CA313_tagCMItemDecompound : GameNetPackBasic {
|
| | | public byte Index; // 拆解物品所在背包索引
|
| | |
|
| | | public CA313_tagCMItemDecompound () {
|
| | | combineCmd = (ushort)0x03FE;
|
| | | _cmd = (ushort)0xA313;
|
| | | }
|
| | |
|
| | | public override void WriteToBytes () {
|
| | | WriteBytes (Index, NetDataType.BYTE);
|
| | | }
|
| | |
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA313_tagCMItemDecompound.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 77eef483c79a1a244b31335edb236af7 |
| | | timeCreated: 1539335657 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | |
|
| | | // AA 05 限时抢购预约 #tagCMFlashSaleAppointment
|
| | |
|
| | | public class CAA05_tagCMFlashSaleAppointment : GameNetPackBasic {
|
| | | public uint GoodsID; // 抢购商品标识
|
| | | public byte State; // 1-预约 0-取消
|
| | |
|
| | | public CAA05_tagCMFlashSaleAppointment () {
|
| | | combineCmd = (ushort)0x03FE;
|
| | | _cmd = (ushort)0xAA05;
|
| | | }
|
| | |
|
| | | public override void WriteToBytes () {
|
| | | WriteBytes (GoodsID, NetDataType.DWORD);
|
| | | WriteBytes (State, NetDataType.BYTE);
|
| | | }
|
| | |
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to Core/NetworkPackage/ClientPack/ClientToMapServer/CAA SaleActivity/CAA05_tagCMFlashSaleAppointment.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 0bd4980ed38baa24e8d85722181ec836 |
| | | timeCreated: 1539228128 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 722e5e3d30096674e811f5bd191246a0 |
| | | folderAsset: yes |
| | | timeCreated: 1539228128 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: a75d33f87d2bafb4191666d4978b2e08 |
| | | folderAsset: yes |
| | | timeCreated: 1539228128 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| | |
| | | {
|
| | | SDKUtility.Instance.FreePlatformLoginout();
|
| | | }
|
| | |
|
| | | if (vNetData.Reason != 0
|
| | | && vNetData.Reason != 11
|
| | | && vNetData.Reason != 28
|
| | | && vNetData.Reason != 51
|
| | | && vNetData.Reason != 110)
|
| | | {
|
| | | DebugPkgCache.UpLoad();
|
| | | }
|
| | | }
|
| | |
|
| | | WindowCenter.Instance.Open<ServerForceExitHintWin>();
|
| | |
| | | { |
| | | base.Done(vNetPack); |
| | | var data = vNetPack as HA003_tagUniversalGameRecInfo; |
| | | heavenModel.RefreshBattleInfo(data);
|
| | | if (onGetUniversalGameInfo != null) |
| | | { |
| | | onGetUniversalGameInfo(data); |
| | | } |
| | | |
| | | heavenModel.RefreshBattleInfo(data); |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | | using Snxxz.UI;
|
| | |
|
| | | // AA 17 限时抢购活动信息 #tagMCFlashSaleInfo
|
| | |
|
| | |
|
| | |
|
| | | public class DTCAA17_tagMCFlashSaleInfo : DtcBasic {
|
| | |
|
| | | public override void Done(GameNetPackBasic vNetPack) {
|
| | |
|
| | | base.Done(vNetPack);
|
| | |
|
| | | HAA17_tagMCFlashSaleInfo vNetData = vNetPack as HAA17_tagMCFlashSaleInfo;
|
| | | OperationTimeHepler.Instance.UpdateFlashRushToBuy(vNetData);
|
| | | }
|
| | |
|
| | | }
|
| | |
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA17_tagMCFlashSaleInfo.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: d00087bdecd7d4947a5c1f5e6d0e98a3 |
| | | timeCreated: 1539228128 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | | using Snxxz.UI;
|
| | | // AA 18 限时抢购活动玩家预约信息 #tagMCFlashSaleAppointmentInfo
|
| | |
|
| | |
|
| | |
|
| | | public class DTCAA18_tagMCFlashSaleAppointmentInfo : DtcBasic
|
| | | {
|
| | |
|
| | | FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
|
| | | public override void Done(GameNetPackBasic vNetPack)
|
| | | {
|
| | |
|
| | | base.Done(vNetPack);
|
| | |
|
| | | HAA18_tagMCFlashSaleAppointmentInfo vNetData = vNetPack as HAA18_tagMCFlashSaleAppointmentInfo;
|
| | | rushToBuyModel.UpdateFlashSaleAppointmentInfo(vNetData);
|
| | | }
|
| | |
|
| | | }
|
| | |
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA18_tagMCFlashSaleAppointmentInfo.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 32d6f801e94f8b84086c12c4672b5dcf |
| | | timeCreated: 1539228128 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | |
| | | public static void UpLoad() |
| | | { |
| | | var _contents = new System.Text.StringBuilder(); |
| | | foreach (var _content in m_List) |
| | | { |
| | | _contents.Append("["); |
| | | _contents.Append(_content.dataTime); |
| | | _contents.Append("]"); |
| | | _contents.Append(_content.code); |
| | | _contents.Append("\r\n"); |
| | | } |
| | | |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.Log("登陆异常: " + _contents.ToString()); |
| | | #else |
| | | ExceptionCatcher.ReportException("登陆异常", _contents.ToString()); |
| | | #endif |
| | | _contents = null; |
| | | |
| | | m_List.Clear(); |
| | | } |
| | | } |
| | |
| | | if (socketController != null)
|
| | | {
|
| | | socketController.SendInfo(vNetPack);
|
| | | DebugPkgCache.Push(vNetPack);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | if (PackageRegedit.Contain(_package.cmd))
|
| | | {
|
| | | packQueue.Enqueue(_package);
|
| | | DebugPkgCache.Push(_package);
|
| | | }
|
| | | else
|
| | | {
|
| New file |
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | |
|
| | | // AA 17 限时抢购活动信息 #tagMCFlashSaleInfo
|
| | |
|
| | | public class HAA17_tagMCFlashSaleInfo : GameNetPackBasic {
|
| | | public string StartDate; // 开始日期 y-m-d
|
| | | public string EndtDate; // 结束日期 y-m-d
|
| | | public ushort AdvanceMinutes; // 提前显示分钟
|
| | | public byte ActivityTimeCount;
|
| | | public tagMCFlashSaleTime[] ActivityTime; //活动时间
|
| | | public byte IsDayReset; //是否每天重置
|
| | | public ushort LimitLV; // 限制等级
|
| | | public byte ShopCount; // 商店数
|
| | | public tagMCFlashSaleShop[] ShopInfo; // 商店信息, 当有多个商店且有多个活动时间段时则每个时间段对应一个商店;
|
| | |
|
| | | public HAA17_tagMCFlashSaleInfo () {
|
| | | _cmd = (ushort)0xAA17;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out StartDate, vBytes, NetDataType.Chars, 10);
|
| | | TransBytes (out EndtDate, vBytes, NetDataType.Chars, 10);
|
| | | TransBytes (out AdvanceMinutes, vBytes, NetDataType.WORD);
|
| | | TransBytes (out ActivityTimeCount, vBytes, NetDataType.BYTE);
|
| | | ActivityTime = new tagMCFlashSaleTime[ActivityTimeCount];
|
| | | for (int i = 0; i < ActivityTimeCount; i ++) {
|
| | | ActivityTime[i] = new tagMCFlashSaleTime();
|
| | | TransBytes (out ActivityTime[i].StartTime, vBytes, NetDataType.Chars, 5);
|
| | | TransBytes (out ActivityTime[i].EndtTime, vBytes, NetDataType.Chars, 5);
|
| | | }
|
| | | TransBytes (out IsDayReset, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out LimitLV, vBytes, NetDataType.WORD);
|
| | | TransBytes (out ShopCount, vBytes, NetDataType.BYTE);
|
| | | ShopInfo = new tagMCFlashSaleShop[ShopCount];
|
| | | for (int i = 0; i < ShopCount; i ++) {
|
| | | ShopInfo[i] = new tagMCFlashSaleShop();
|
| | | TransBytes (out ShopInfo[i].DayIndex, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out ShopInfo[i].TimeIndex, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out ShopInfo[i].GiftbagCount, vBytes, NetDataType.BYTE);
|
| | | ShopInfo[i].GiftbagInfo = new tagMCFlashSaleGiftbag[ShopInfo[i].GiftbagCount];
|
| | | for (int j = 0; j < ShopInfo[i].GiftbagCount; j ++) {
|
| | | ShopInfo[i].GiftbagInfo[j] = new tagMCFlashSaleGiftbag();
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].GiftID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].BuyCountLimit, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].ServerBuyCountLimit, vBytes, NetDataType.WORD);
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].MoneyType, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].MoneyNumber, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].MoneyOriginal, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].ItemID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].ItemCount, vBytes, NetDataType.WORD);
|
| | | TransBytes (out ShopInfo[i].GiftbagInfo[j].IsBind, vBytes, NetDataType.BYTE);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public struct tagMCFlashSaleGiftbag {
|
| | | public uint GiftID; //商城表的物品ID
|
| | | public byte BuyCountLimit; //限购数
|
| | | public ushort ServerBuyCountLimit; //全服限购数
|
| | | public byte MoneyType; //消耗货币类型
|
| | | public uint MoneyNumber; //消耗货币数量
|
| | | public uint MoneyOriginal; //原价
|
| | | public uint ItemID;
|
| | | public ushort ItemCount;
|
| | | public byte IsBind;
|
| | | }
|
| | |
|
| | | public struct tagMCFlashSaleShop {
|
| | | public byte DayIndex; // 活动第几天
|
| | | public byte TimeIndex; // 第几个时间段
|
| | | public byte GiftbagCount; // 商店礼包数
|
| | | public tagMCFlashSaleGiftbag[] GiftbagInfo; // 礼包信息
|
| | | }
|
| | |
|
| | | public struct tagMCFlashSaleTime {
|
| | | public string StartTime; // 开始时间 H:M
|
| | | public string EndtTime; // 结束时间 H:M
|
| | | }
|
| | |
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA17_tagMCFlashSaleInfo.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: ed9668281d90fdc4f97232ce3fcd3c9d |
| | | timeCreated: 1539228128 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | |
|
| | | // AA 18 限时抢购活动玩家预约信息 #tagMCFlashSaleAppointmentInfo
|
| | |
|
| | | public class HAA18_tagMCFlashSaleAppointmentInfo : GameNetPackBasic {
|
| | | public byte IsAll; // 是否全部
|
| | | public ushort GoodsCount; // 商品数
|
| | | public tagMCFlashSaleAppointmentState[] GoodsList; // 预约的商品
|
| | |
|
| | | public HAA18_tagMCFlashSaleAppointmentInfo () {
|
| | | _cmd = (ushort)0xAA18;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out IsAll, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out GoodsCount, vBytes, NetDataType.WORD);
|
| | | GoodsList = new tagMCFlashSaleAppointmentState[GoodsCount];
|
| | | for (int i = 0; i < GoodsCount; i ++) {
|
| | | GoodsList[i] = new tagMCFlashSaleAppointmentState();
|
| | | TransBytes (out GoodsList[i].GoodsMark, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out GoodsList[i].State, vBytes, NetDataType.BYTE);
|
| | | }
|
| | | }
|
| | |
|
| | | public struct tagMCFlashSaleAppointmentState {
|
| | | public uint GoodsMark; // 商品标识
|
| | | public byte State; // 是否预约
|
| | | }
|
| | |
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA18_tagMCFlashSaleAppointmentInfo.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 44e6594130c5e614c8411949a184b843 |
| | | timeCreated: 1539228128 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | return LoadModelPrefab(raceSuffix, _m.MODE);
|
| | | }
|
| | |
|
| | | public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Fight()
|
| | | {
|
| | | return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
|
| | | GeneralConfig.Instance.ModeDefaultConfig[1][1]);
|
| | | }
|
| | |
|
| | | public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Func()
|
| | | {
|
| | | return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
|
| | | GeneralConfig.Instance.ModeDefaultConfig[0][1]);
|
| | | }
|
| | |
|
| | | public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Horse()
|
| | | {
|
| | | return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
|
| | | GeneralConfig.Instance.ModeDefaultConfig[3][1]);
|
| | | }
|
| | |
|
| | | public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Pet()
|
| | | {
|
| | | return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
|
| | | GeneralConfig.Instance.ModeDefaultConfig[2][1]);
|
| | | }
|
| | |
|
| | | public static GameObject LoadDefaultFightNPC()
|
| | | {
|
| | | return LoadMob(GeneralConfig.Instance.ModeDefaultConfig[1][0],
|
| | |
| | | m_Json["roleID"] = PlayerDatas.Instance.baseData.PlayerID;
|
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName;
|
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV.ToString();
|
| | | m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag;
|
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag;
|
| | | }
|
| | |
|
| | | if (ChannelPlatform == E_ChannelPlatform.Mr)
|
| | |
| | |
|
| | | m_Json["roleID"] = roleID;
|
| | | m_Json["roleName"] = roleName;
|
| | | m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag;
|
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag;
|
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name;
|
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName;
|
| | | m_Json["level"] = "1";
|
| | |
| | |
|
| | | m_Json["roleID"] = roleID;
|
| | | m_Json["roleName"] = roleName;
|
| | | m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag;
|
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag;
|
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name;
|
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName;
|
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV;
|
| | |
| | |
|
| | | m_Json["roleID"] = PlayerDatas.Instance.PlayerId.ToString();
|
| | | m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName;
|
| | | m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag;
|
| | | m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag;
|
| | | m_Json["serverName"] = ServerListCenter.Instance.currentServer.name;
|
| | | m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName;
|
| | | m_Json["level"] = PlayerDatas.Instance.baseData.LV;
|
| | |
| | | |
| | | if (_actor != null) |
| | | { |
| | | _actor.Polymorph(false); |
| | | var _config = Config.Instance.Get<TableConfig.SkillConfig>(h0605.SkillID); |
| | | |
| | | int _npcID = 0; |
| | | |
| | | if (_config.Effect1 == 1063) |
| | | { |
| | | _npcID = _config.EffectValue11; |
| | | } |
| | | else if (_config.Effect2 == 1063) |
| | | { |
| | | _npcID = _config.EffectValue21; |
| | | } |
| | | else if (_config.Effect3 == 1063) |
| | | { |
| | | _npcID = _config.EffectValue31; |
| | | } |
| | | else if (_config.Effect4 == 1063) |
| | | { |
| | | _npcID = _config.EffectValue41; |
| | | } |
| | | else if (_config.Effect5 == 1063) |
| | | { |
| | | _npcID = _config.EffectValue51; |
| | | } |
| | | else if (_config.Effect6 == 1063) |
| | | { |
| | | _npcID = _config.EffectValue61; |
| | | } |
| | | |
| | | _actor.Polymorph(false, _npcID); |
| | | } |
| | | } |
| | | } |
| | |
| | | m_Animator = m_Model.GetComponent<Animator>();
|
| | | if (m_Animator)
|
| | | {
|
| | | RuntimeAnimatorController _controller = null;
|
| | | if (m_LoadDefaultRes)
|
| | | {
|
| | | _controller = InstanceResourcesLoader.LoadDefaultMobAnimatorController_Func();
|
| | | }
|
| | | else
|
| | | {
|
| | | _controller = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, NpcConfig.MODE);
|
| | | }
|
| | | m_Animator.runtimeAnimatorController = _controller;
|
| | |
|
| | | m_Animator.enabled = true;
|
| | | m_Animator.SetInteger(GAStaticDefine.Param_ActorInstID, (int)clientInstID);
|
| | | }
|
| | |
| | | {
|
| | | get
|
| | | {
|
| | | if (!m_Animator)
|
| | | if (!m_Animator || !m_Animator.runtimeAnimatorController)
|
| | | {
|
| | | return -1;
|
| | | }
|
| | |
| | |
|
| | | set
|
| | | {
|
| | | if (m_Animator)
|
| | | if (m_Animator && m_Animator.runtimeAnimatorController)
|
| | | {
|
| | | if (m_Animator.parameterCount > 0)
|
| | | {
|
| | |
| | |
|
| | | if (m_Animator)
|
| | | {
|
| | | RuntimeAnimatorController _controller = null;
|
| | | if (m_LoadDefaultRes)
|
| | | {
|
| | | if (this is GA_Pet)
|
| | | {
|
| | | _controller = InstanceResourcesLoader.LoadDefaultMobAnimatorController_Pet();
|
| | | }
|
| | | else
|
| | | {
|
| | | _controller = InstanceResourcesLoader.LoadDefaultMobAnimatorController_Fight();
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | _controller = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, NpcConfig.MODE);
|
| | |
|
| | | }
|
| | | m_Animator.runtimeAnimatorController = _controller;
|
| | |
|
| | | m_Animator.enabled = true;
|
| | |
|
| | | if (m_Animator.parameterCount > 0)
|
| | | {
|
| | | m_Animator.SetInteger(GAStaticDefine.Param_ActorInstID, (int)clientInstID);
|
| | |
| | |
|
| | | if (m_Animator)
|
| | | {
|
| | | m_Animator.runtimeAnimatorController = null;
|
| | | NextAction = 0;
|
| | | m_Animator.enabled = false;
|
| | | m_Animator = null;
|
| | |
| | | public sealed override void Polymorph(bool doOrNo, int npcID)
|
| | | {
|
| | | IsPolyMorph = doOrNo;
|
| | | var _npcConfig = Config.Instance.Get<NPCConfig>(npcID);
|
| | |
|
| | | if (IsPolyMorph)
|
| | | {
|
| | |
| | | var _a = m_SheepModel.GetComponent<Animator>();
|
| | | if (_a)
|
| | | {
|
| | | RuntimeAnimatorController _controller = null;
|
| | | if (m_SheepIsDefaultNpc)
|
| | | {
|
| | | _controller = InstanceResourcesLoader.LoadDefaultMobAnimatorController_Fight();
|
| | | }
|
| | | else
|
| | | {
|
| | | _controller = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, _npcConfig.MODE);
|
| | | }
|
| | |
|
| | | _a.enabled = true;
|
| | | _a.SetInteger(GAStaticDefine.Param_ActorInstID, (int)ClientInstID);
|
| | | m_Animator.enabled = false;
|
| | |
| | | {
|
| | | if (m_SheepModel)
|
| | | {
|
| | | var _a = m_SheepModel.GetComponent<Animator>();
|
| | | if (_a)
|
| | | {
|
| | | _a.enabled = false;
|
| | | _a.runtimeAnimatorController = null;
|
| | | }
|
| | |
|
| | | if (m_SheepIsDefaultNpc)
|
| | | {
|
| | | GameObjectPoolManager.Instance.ReleaseDefaultFightNPC(m_SheepModel);
|
| | | }
|
| | | else
|
| | | {
|
| | | var _prefab = InstanceResourcesLoader.LoadNpc(10101001);
|
| | | var _prefab = InstanceResourcesLoader.LoadNpc(npcID);
|
| | | GameObjectPoolManager.Instance.ReleaseGameObject(_prefab, m_SheepModel);
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | if (m_Animator)
|
| | | {
|
| | | m_Animator.runtimeAnimatorController = null;
|
| | | m_Animator.enabled = false;
|
| | | m_Animator = null;
|
| | | }
|
| | |
| | | m_Dig = null;
|
| | | }
|
| | |
|
| | | if(Root)
|
| | | if (Root)
|
| | | {
|
| | | Root.localScale = Vector3.one;
|
| | | }
|
| | |
| | | m_Animator = m_Model.GetComponent<Animator>();
|
| | | if (m_Animator)
|
| | | {
|
| | | RuntimeAnimatorController _controller = null;
|
| | | if (m_LoadDefaultRes)
|
| | | {
|
| | | _controller = InstanceResourcesLoader.LoadDefaultMobAnimatorController_Func();
|
| | | }
|
| | | else
|
| | | {
|
| | | _controller = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, NpcConfig.MODE);
|
| | | }
|
| | | m_Animator.runtimeAnimatorController = _controller;
|
| | | m_Animator.enabled = true;
|
| | | m_Animator.SetInteger(GAStaticDefine.Param_ActorInstID, (int)clientInstID);
|
| | | }
|
| | |
| | | }
|
| | | else
|
| | | {
|
| | | var _prefab = InstanceResourcesLoader.LoadNpc(10101001);
|
| | | var _prefab = InstanceResourcesLoader.LoadNpc(npcID);
|
| | | GameObjectPoolManager.Instance.ReleaseGameObject(_prefab, m_SheepModel);
|
| | | }
|
| | | }
|
| | |
| | | m_HorseModel = null;
|
| | | if (m_HorseAnimator)
|
| | | {
|
| | | m_HorseAnimator.runtimeAnimatorController = null;
|
| | | m_HorseAnimator.enabled = false;
|
| | | m_HorseAnimator = null;
|
| | | }
|
| | |
| | | m_HorseModel = null;
|
| | | if (m_HorseAnimator)
|
| | | {
|
| | | m_HorseAnimator.runtimeAnimatorController = null;
|
| | | m_HorseAnimator.enabled = false;
|
| | | m_HorseAnimator = null;
|
| | | }
|
| | |
| | |
|
| | | m_HorseModel = GameObjectPoolManager.Instance.RequestGameObject(_prefab);
|
| | | m_HorseAnimator = m_HorseModel.GetComponent<Animator>();
|
| | |
|
| | | RuntimeAnimatorController _controller = null;
|
| | | if (m_LoadDefaultHorse)
|
| | | {
|
| | | _controller = InstanceResourcesLoader.LoadDefaultMobAnimatorController_Horse();
|
| | | }
|
| | | else
|
| | | {
|
| | | _controller = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, _modelResConfig.ResourcesName);
|
| | | }
|
| | |
|
| | | m_HorseAnimator.runtimeAnimatorController = _controller;
|
| | | m_HorseAnimator.enabled = true;
|
| | |
|
| | | // 先设置根节点
|
| | |
| | |
|
| | | yield return WaitingForSecondConst.WaitMS500;
|
| | |
|
| | | string _path = "BaseCanvas/MainInterfaceWin/TaskAndTeamTip/TaskListTip/Parent/TaskScroll View/Content/Main_1000";
|
| | | if(!WindowCenter.Instance.uiRoot.transform.Find(_path))
|
| | | {
|
| | | _path = "BaseCanvas/MainInterfaceWin/TaskAndTeamTip/TaskListTip/Parent/TaskScroll View/Content/Main_1001";
|
| | | }
|
| | |
|
| | | // 打开引导界面
|
| | | NewGuideModel _model2 = ModelCenter.Instance.GetModel<NewGuideModel>();
|
| | | _model2.showMask = true;
|
| | | _model2.content = "点击开始<color=#00ff00>试炼</color>";
|
| | | _model2.componentPath = "BaseCanvas/MainInterfaceWin/TaskAndTeamTip/TaskListTip/Parent/TaskScroll View/Content/Main_1001";
|
| | | _model2.componentPath = _path;
|
| | | _model2.size = new Vector2(276, 72);
|
| | | _model2.direction = 3;
|
| | | _model2.clickClosed = true;
|
| | |
| | | {
|
| | | GA_Hero.s_MapSwitching = false;
|
| | |
|
| | | _temp = WindowCenter.Instance.uiRoot.baseCanvas.Find("MainInterfaceWin/TaskAndTeamTip/TaskListTip/Parent/TaskScroll View/Content/Main_1001");
|
| | | _temp = WindowCenter.Instance.uiRoot.transform.Find(_path);
|
| | | var _btn = _temp.GetComponent<UnityEngine.UI.Button>();
|
| | | if (_btn)
|
| | | {
|
| | |
| | | public int id;
|
| | | public int count;
|
| | | public bool bind;
|
| | | public int quality;
|
| | |
|
| | | public Item(int _id, int _count)
|
| | | {
|
| | | this.id = _id;
|
| | | this.count = _count;
|
| | | this.bind = false;
|
| | | this.quality = 0;
|
| | | }
|
| | |
|
| | | public Item(int _id, int _count, bool _bind)
|
| | |
| | | this.id = _id;
|
| | | this.count = _count;
|
| | | this.bind = _bind;
|
| | | this.quality = 0;
|
| | | }
|
| | |
|
| | | public Item(int _id, int _count, bool _bind, int _quality)
|
| | | {
|
| | | this.id = _id;
|
| | | this.count = _count;
|
| | | this.bind = _bind;
|
| | | this.quality = _quality;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public static int GetVersionNumber(string version)
|
| | | {
|
| | | var numberStrings = version.Split('.');
|
| | | var number = 0;
|
| | |
|
| | | for (var i = 0; i < Mathf.Min(numberStrings.Length, 3); i++)
|
| | | {
|
| | | var temp = 0;
|
| | | int.TryParse(numberStrings[i], out temp);
|
| | | number += temp * MathUtility.Power(1000, 2 - i);
|
| | | }
|
| | |
|
| | | return number;
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public bool IsShangGu()
|
| | | {
|
| | | return VersionConfig.Get().appId == "815035927";
|
| | | }
|
| | |
|
| | | public class VersionInfo
|
| | | {
|
| | | public int ForceCount;
|
| | |
| | | [SerializeField]
|
| | | Text successRateText;
|
| | |
|
| | | [SerializeField] Text dismantleText;
|
| | |
|
| | | [SerializeField]
|
| | | Button helpBtn;
|
| | |
|
| | |
| | |
|
| | | private void CreateCell()
|
| | | {
|
| | | dismantleText.gameObject.SetActive(false);
|
| | | cellCtrl.Refresh();
|
| | |
|
| | | if(curSecondType == 0)
|
| | | {
|
| | | ChangeUIState(true, false,false);
|
| | |
| | | curComposeEquipIndex = -1;
|
| | | selectModel.ClearSelectModel();
|
| | | }
|
| | | |
| | | |
| | | CreateCell();
|
| | | }
|
| | |
|
| | |
| | | ItemCompoundConfig tagItemCompound = thirdTypelist[curComposeEquipIndex];
|
| | | ClickEquipTypeCell(tagItemCompound, curComposeEquipIndex);
|
| | | }
|
| | |
|
| | | if(thirdTypelist.Count > 1)
|
| | | {
|
| | | ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(thirdTypelist[0].makeID);
|
| | | if (itemConfig != null && itemConfig.ItemColor == 6)
|
| | | {
|
| | | dismantleText.gameObject.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | dismantleText.gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | dismantleText.gameObject.SetActive(false);
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | | private void RefreshEquipTypeLineCell(ScrollerDataType type, CellView cell)
|
| | |
| | | { |
| | | if (PlayerDatas.Instance.baseData.MapID == DogzDungeonModel.DATA_MAPID) |
| | | { |
| | | WindowJumpMgr.Instance.ClearJumpData(); |
| | | WindowCenter.Instance.Close<LootPreciousFrameWin>(); |
| | | WindowCenter.Instance.Open<MainInterfaceWin>(); |
| | | } |
| | |
| | | {
|
| | | if (isReconnected)
|
| | | {
|
| | | if (surplusTime < 0f)
|
| | | if (surplusTime <= 0f)
|
| | | {
|
| | | if (fighting)
|
| | | {
|
| | |
| | | {
|
| | | OnClickSendBtn();
|
| | | }
|
| | |
|
| | | //if(Input.GetKeyDown(KeyCode.J))
|
| | | //{
|
| | | // EquipWashModel washModel = ModelCenter.Instance.GetModel<EquipWashModel>();
|
| | | // LocalSave.SetBool(washModel.MasterGroup1ActiveKey, false);
|
| | | // washModel.SetMasterGroupActiveRecord(2,1, washModel.MasterGroup1ActiveKey);
|
| | | // WindowCenter.Instance.Open<WashMasterActiveWin>();
|
| | | //}
|
| | |
|
| | | //if (Input.GetKeyDown(KeyCode.O))
|
| | | //{
|
| | | // EquipWashModel washModel = ModelCenter.Instance.GetModel<EquipWashModel>();
|
| | | // LocalSave.SetInt(washModel.MasterGroup1RaiseKey, 2);
|
| | | // washModel.SetMasterGroupRaiseRecord(4, 1, washModel.MasterGroup1RaiseKey);
|
| | | // WindowCenter.Instance.Open<WashMasterActiveWin>();
|
| | | //}
|
| | | }
|
| | |
|
| | | private void CreateCmdCell()
|
| | |
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.sell, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendSellQuest(ItemWinBtnType.sell,attrData); });
|
| | | }
|
| | |
|
| | | List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetItemDecompound);
|
| | | if (dismantleReturnlist != null && dismantleReturnlist.Count > 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.dismantle, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendDismantleQuest(ItemWinBtnType.dismantle, attrData); });
|
| | | }
|
| | |
|
| | | if (!isOverdue)
|
| | | {
|
| | | if(attrData.itemConfig.JumpComposeCondi != null && attrData.itemConfig.JumpComposeCondi.Length > 0)
|
| | |
| | | }
|
| | | return s;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region 设置传奇属性
|
| | |
| | |
|
| | | if(type == PackType.rptDogzEquip || type == PackType.rptDogzItem)
|
| | | {
|
| | | strengthDataDict = new Dictionary<int, int>();
|
| | | if (GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus) != null)
|
| | | {
|
| | | StrengthLV = GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus)[0];
|
| | | }
|
| | | strengthDataDict = beastModel.SiteEnhancementAttribute(type,index);
|
| | | Dictionary<int,int> getStregthDict = beastModel.SiteEnhancementAttribute(type,index);
|
| | | foreach(var key in getStregthDict.Keys)
|
| | | {
|
| | | strengthDataDict.Add(key,getStregthDict[key]);
|
| | | }
|
| | | }
|
| | |
|
| | | SetWinType();
|
| | |
| | | {
|
| | | legendIdlist = new List<int>();
|
| | | legendValuelist = new List<int>();
|
| | | string attrCntKey = StringUtility.Contact(itemConfig.ItemColor, itemConfig.StarLevel);
|
| | | if (itemTipsModel.legendAttrIDPreviewDict.ContainsKey(itemConfig.EquipPlace))
|
| | | {
|
| | | foreach (var attrType in itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace].Keys)
|
| | | {
|
| | | switch (attrType)
|
| | | int attrCnt = 0;
|
| | | if (itemTipsModel.legendAttrCntPreviewDict.ContainsKey(attrCntKey))
|
| | | {
|
| | | case LegendAttrType.Pursuit:
|
| | | legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
|
| | | break;
|
| | | case LegendAttrType.Fixed:
|
| | | legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
|
| | | break;
|
| | | attrCnt = itemTipsModel.legendAttrCntPreviewDict[attrCntKey][attrType];
|
| | | }
|
| | | if(attrCnt > 0)
|
| | | {
|
| | | switch (attrType)
|
| | | {
|
| | | case LegendAttrType.Pursuit:
|
| | | legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
|
| | | break;
|
| | | case LegendAttrType.Fixed:
|
| | | legendIdlist.AddRange(itemTipsModel.legendAttrIDPreviewDict[itemConfig.EquipPlace][attrType]);
|
| | | break;
|
| | | }
|
| | | }
|
| | | |
| | | }
|
| | | }
|
| | | int i = 0;
|
| | |
| | | }
|
| | | #endregion
|
| | |
|
| | | #region 发送拆解请求
|
| | | public void SendDismantleQuest(ItemWinBtnType btnType, ItemAttrData attrData)
|
| | | {
|
| | | List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetItemDecompound);
|
| | | int needGridCnt = 0;
|
| | | int fixedMatcnt = 0;
|
| | | int unfixedMatId = 0;
|
| | | for (int i = 0; i < dismantleReturnlist.Count; i++)
|
| | | {
|
| | | if (i == 0)
|
| | | {
|
| | | if (dismantleReturnlist[i] != 0)
|
| | | {
|
| | | needGridCnt += 1;
|
| | | unfixedMatId = dismantleReturnlist[i];
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if ((i - 1) % 3 == 0)
|
| | | {
|
| | | if (dismantleReturnlist[i] != 0)
|
| | | {
|
| | | needGridCnt += 1;
|
| | | fixedMatcnt += dismantleReturnlist[i + 1];
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | int offsetGrid = needGridCnt - playerPack.GetReaminGridCount(PackType.rptItem);
|
| | | if (offsetGrid > 0)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("BagFull102", attrData.itemConfig.ItemName, offsetGrid);
|
| | | return;
|
| | | }
|
| | | else
|
| | | {
|
| | | ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(unfixedMatId);
|
| | | if(itemConfig != null)
|
| | | {
|
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("PinkChaiRemind2", fixedMatcnt,itemConfig.LV),
|
| | | (bool isOk)=>
|
| | | {
|
| | | if(isOk)
|
| | | {
|
| | | CA313_tagCMItemDecompound decompound = new CA313_tagCMItemDecompound();
|
| | | decompound.Index = (byte)attrData.index;
|
| | | GameNetSystem.Instance.SendInfo(decompound);
|
| | | }
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | | CA313_tagCMItemDecompound decompound = new CA313_tagCMItemDecompound();
|
| | | decompound.Index = (byte)attrData.index;
|
| | | GameNetSystem.Instance.SendInfo(decompound);
|
| | | }
|
| | | }
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #region 发送续费请求
|
| | | public void SendRenewalQuest(ItemWinBtnType btnType,int index)
|
| | | {
|
| | |
| | |
|
| | | #endregion
|
| | |
|
| | | #region 获取仓库数据
|
| | | #region 获取仓库数据
|
| | | public void SendOpenWarehouse()
|
| | | {
|
| | | CA204_tagCMOpenLongWarehouse openWarehouse = new CA204_tagCMOpenLongWarehouse();
|
| | |
| | | {
|
| | | if (_playerProModel.ISPercentage == 0)
|
| | | {
|
| | | strPro = _playerProModel.Name + "<color=#109D06FF>" + " +" + proValue + "</color>";
|
| | | strPro = _playerProModel.Name + "<color=#109D06FF>" + " +" + proValue + "</color>";
|
| | | }
|
| | | else if (_playerProModel.ISPercentage == 1)
|
| | | {
|
| | | strPro = _playerProModel.Name + "<color=#109D06FF>" + " +" + (float)Math.Round(proValue / 100f, 1) + "%" + "</color>";
|
| | | strPro = _playerProModel.Name + "<color=#109D06FF>" + " +" + (float)Math.Round(proValue / 100f, 1) + "%" + "</color>";
|
| | | }
|
| | | }
|
| | | else
|
| | |
| | | var itemBehaviour = RequireBehaviour(); |
| | | if (itemBehaviour != null) |
| | | { |
| | | var quality = modelInterface.GetItemQuality(itemId, model.useDataDict); |
| | | itemBehaviour.transform.SetParentEx(this.transform, Vector3.zero, Quaternion.identity, Vector3.one); |
| | | itemBehaviour.Begin(new Item(itemId, 1), m_StartPoint.localPosition, m_EndPoint.localPosition, OnBehaviourFinished); |
| | | itemBehaviour.Begin(new Item(itemId, 1, false, quality), m_StartPoint.localPosition, m_EndPoint.localPosition, OnBehaviourFinished); |
| | | showingItems.Add(itemBehaviour.gameObject); |
| | | } |
| | | } |
| | |
| | | {
|
| | | [SerializeField] UIAlphaTween m_AlphaTween;
|
| | | [SerializeField] Image m_BackGround;
|
| | | [SerializeField] RectTransform m_AndroidProgressContainer;
|
| | | [SerializeField] SmoothSlider m_ProgressSlider;
|
| | | [SerializeField] Text m_Progress;
|
| | | [SerializeField] RectTransform m_IosProgressContainer;
|
| | | [SerializeField] Text m_IosProgressTip;
|
| | | [SerializeField] Text m_BuildTime;
|
| | | [SerializeField] Text m_Version;
|
| | |
|
| | |
| | | m_BuildTime.text = "";
|
| | | }
|
| | |
|
| | | m_Progress.text = StringUtility.Contact(0, "%");
|
| | |
|
| | | UpdateLoadingProgress(Launch.currentStage, Launch.progress);
|
| | |
|
| | | Launch.progressEvent += UpdateLoadingProgress;
|
| | | if (Application.platform == RuntimePlatform.IPhonePlayer)
|
| | | {
|
| | | m_AndroidProgressContainer.gameObject.SetActive(false);
|
| | | m_IosProgressContainer.gameObject.SetActive(true);
|
| | | m_IosProgressTip.text = Language.GetFromLocal(30);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_AndroidProgressContainer.gameObject.SetActive(true);
|
| | | m_IosProgressContainer.gameObject.SetActive(false);
|
| | | m_Progress.text = VersionUtility.Instance.IsShangGu() ? "" : StringUtility.Contact(0, "%");
|
| | | UpdateLoadingProgress(Launch.currentStage, Launch.progress);
|
| | | Launch.progressEvent += UpdateLoadingProgress;
|
| | | }
|
| | | }
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | |
| | | {
|
| | | base.LateUpdate();
|
| | |
|
| | | if (trueProgress > 0.9599f)
|
| | | if (Application.platform == RuntimePlatform.IPhonePlayer)
|
| | | {
|
| | | behaviourProgress = Mathf.Clamp01(behaviourProgress + Time.deltaTime * 0.2f);
|
| | | m_IosProgressContainer.gameObject.SetActive(Launch.currentStage != Launch.LaunchStage.DownLoad);
|
| | | var remainder = ((int)Time.time) % 3;
|
| | | var dot = remainder == 0 ? "." : remainder == 1 ? ".." : "...";
|
| | | m_IosProgressTip.text = StringUtility.Contact(Language.GetFromLocal(30), dot);
|
| | | }
|
| | | else
|
| | | {
|
| | | behaviourProgress = Mathf.SmoothDamp(behaviourProgress, trueProgress, ref refProgress, 0.2f);
|
| | | if (trueProgress > 0.9599f)
|
| | | {
|
| | | behaviourProgress = Mathf.Clamp01(behaviourProgress + Time.deltaTime * 0.2f);
|
| | | }
|
| | | else
|
| | | {
|
| | | behaviourProgress = Mathf.SmoothDamp(behaviourProgress, trueProgress, ref refProgress, 0.2f);
|
| | | }
|
| | |
|
| | | m_ProgressSlider.value = behaviourProgress;
|
| | | m_Progress.text = VersionUtility.Instance.IsShangGu() ? stepDescription :
|
| | | StringUtility.Contact(stepDescription, Mathf.RoundToInt(behaviourProgress * 100), "%");
|
| | |
|
| | | if (!assetBuildTimeShowed && AssetVersionUtility.assetsBuildTime != DateTime.MinValue)
|
| | | {
|
| | | assetBuildTimeShowed = true;
|
| | | var totalMinute = (int)(AssetVersionUtility.assetsBuildTime - new DateTime(2018, 1, 1)).TotalMinutes;
|
| | | m_Version.text = StringUtility.Contact(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex, "_", totalMinute.ToString());
|
| | | }
|
| | | }
|
| | |
|
| | | m_ProgressSlider.value = behaviourProgress;
|
| | | m_Progress.text = StringUtility.Contact(stepDescription, Mathf.RoundToInt(behaviourProgress * 100), "%");
|
| | |
|
| | | if (!assetBuildTimeShowed && AssetVersionUtility.assetsBuildTime != DateTime.MinValue)
|
| | | {
|
| | | assetBuildTimeShowed = true;
|
| | | var totalMinute = (int)(AssetVersionUtility.assetsBuildTime - new DateTime(2018, 1, 1)).TotalMinutes;
|
| | | m_Version.text = StringUtility.Contact(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex, "_", totalMinute.ToString());
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
| | | if (_DicTaskInformation[_MissionId].ContainsKey(_DictKey))
|
| | | {
|
| | | _DicTaskInformation[_MissionId][_DictKey] = _DictValue.ToString();
|
| | | if (_DictKey == "kaji" && _DictValue == 0)
|
| | | if (_DictKey == "kaji" && (_DictValue == 0|| _DictValue == 1))//kaji:0为主线卡级变更,kaji:1为魔族卡级变更
|
| | | {
|
| | | if (CardLevelChange != null)
|
| | | {
|
| | |
| | | [SerializeField] Image m_Icon; |
| | | public Image icon { get { return m_Icon; } } |
| | | [SerializeField] Transform m_Locked; |
| | | public Transform locked { get { return m_Locked; } } |
| | | public Transform locked |
| | | { |
| | | get |
| | | { |
| | | return m_Locked; |
| | | } |
| | | } |
| | | |
| | | [SerializeField] Text m_CoolDown; |
| | | [SerializeField] Image m_CoolDownMask; |
| | |
| | | bool isExit = false; |
| | | |
| | | float m_TotalCoolDown = 0f; |
| | | public float totalCoolDown { |
| | | get { |
| | | public float totalCoolDown |
| | | { |
| | | get |
| | | { |
| | | return m_TotalCoolDown; |
| | | } |
| | | set { |
| | | set |
| | | { |
| | | m_TotalCoolDown = value; |
| | | } |
| | | } |
| | | |
| | | float m_CoolDownCompleteTime = 0f; |
| | | public float coolDownCompleteTime { |
| | | get { |
| | | public float coolDownCompleteTime |
| | | { |
| | | get |
| | | { |
| | | return m_CoolDownCompleteTime; |
| | | } |
| | | set { |
| | | set |
| | | { |
| | | m_CoolDownCompleteTime = value; |
| | | } |
| | | } |
| | |
| | | m_SkillData = _skillData; |
| | | if (m_SkillData == null) |
| | | { |
| | | m_Locked.gameObject.SetActive(true); |
| | | locked.gameObject.SetActive(true); |
| | | m_Icon.gameObject.SetActive(false); |
| | | } |
| | | else |
| | | { |
| | | if (PreFightMission.Instance.IsFinished()) |
| | | if (PreFightMission.Instance.IsFinished() |
| | | || PreFightMission.Instance.s_MissionDict.ContainsKey(1002)) |
| | | { |
| | | m_Locked.gameObject.SetActive(false); |
| | | locked.gameObject.SetActive(false); |
| | | m_Icon.gameObject.SetActive(true); |
| | | } |
| | | var skillConfig = m_SkillData.skillCfg; |
| | |
| | | case GuideTriggerType.QuestCanAward:
|
| | | return mainTaskId == config.Condition && taskmodel.currentMissionState == 2;
|
| | | case GuideTriggerType.QuestLimit:
|
| | | return taskmodel.currentMission == config.Condition &&
|
| | | return mainTaskId == config.Condition &&
|
| | | (taskmodel.GetTaskStatus(config.Condition) == PlayerTaskDatas.TaskStatus.CardLevel || taskmodel.GetTaskStatus(config.Condition) == PlayerTaskDatas.TaskStatus.TreasureCardLevel);
|
| | | case GuideTriggerType.QuestContinue:
|
| | | return taskmodel.currentMission == config.Condition && (taskmodel.GetTaskStatus(config.Condition) == PlayerTaskDatas.TaskStatus.Normal);
|
| | | var questState = taskmodel.SideQuestState(config.Condition);
|
| | | var taskStatus = taskmodel.GetTaskStatus(config.Condition);
|
| | | return questState == 1 && (taskStatus == PlayerTaskDatas.TaskStatus.Normal || taskStatus == PlayerTaskDatas.TaskStatus.TreasureCardLevel);
|
| | | case GuideTriggerType.Treasure:
|
| | | if (!model.newGotShowing)
|
| | | {
|
| New file |
| | |
| | | using System;
|
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class FlashRushToBuyCoolDown : MonoBehaviour
|
| | | {
|
| | | [SerializeField] Text timeText;
|
| | | FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
|
| | | bool isReplace = false;
|
| | | bool isStartReplace = false;
|
| | | private void Awake()
|
| | | {
|
| | | GlobalTimeEvent.Instance.halfMinuteEvent += UpdateHalfMinute;
|
| | | }
|
| | |
|
| | | private void OnEnable()
|
| | | {
|
| | | SecondEvent();
|
| | | GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
|
| | | GlobalTimeEvent.Instance.secondEvent += SecondEvent;
|
| | | }
|
| | |
|
| | | private void OnDisable()
|
| | | {
|
| | | GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
|
| | | }
|
| | |
|
| | | private void UpdateHalfMinute()
|
| | | {
|
| | | if (!isStartReplace) return;
|
| | |
|
| | | isReplace = !isReplace;
|
| | | }
|
| | |
|
| | | private void SecondEvent()
|
| | | {
|
| | | DisplayTime();
|
| | | }
|
| | |
|
| | | void DisplayTime()
|
| | | {
|
| | | var operation = rushToBuyModel.GetOperationFlashRushToBuy();
|
| | | if (operation == null) return;
|
| | | int seconds = 0;
|
| | | OperationTime operationTime;
|
| | | OperationFlashRushToBuy.FlashSaleShop saleShop;
|
| | | FlashRushToBuyModel.FlashRushToBuySate flashState = rushToBuyModel.GetActivityState(out seconds,out operationTime,out saleShop);
|
| | | isStartReplace = false;
|
| | | switch (flashState)
|
| | | {
|
| | | case FlashRushToBuyModel.FlashRushToBuySate.NoOpen:
|
| | | break;
|
| | | case FlashRushToBuyModel.FlashRushToBuySate.InAdvance:
|
| | | if(seconds <= 3600)
|
| | | {
|
| | | isStartReplace = true;
|
| | | if(!isReplace)
|
| | | {
|
| | | timeText.text = TimeUtility.SecondsToHMS(seconds);
|
| | | }
|
| | | else
|
| | | {
|
| | | timeText.text = operation.ToDisplayBuyTime(operationTime.startHour, operationTime.startMinute);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | timeText.text = operation.ToDisplayBuyTime(operationTime.startHour, operationTime.startMinute);
|
| | | }
|
| | | break;
|
| | | case FlashRushToBuyModel.FlashRushToBuySate.Begining:
|
| | | timeText.text = "秒杀中";
|
| | | break;
|
| | | case FlashRushToBuyModel.FlashRushToBuySate.End:
|
| | | timeText.text = "活动已结束";
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/FlashRushToBuyCoolDown.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 00bbdfc8d38efc7488d8dc83b041b07a |
| | | timeCreated: 1539088207 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Linq;
|
| | | using System.Text;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class FlashRushToBuyModel : Model,IBeforePlayerDataInitialize,IPlayerLoginOk,IOpenServerActivity
|
| | | {
|
| | | StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
|
| | | HeavenBattleModel battleModel { get { return ModelCenter.Instance.GetModel<HeavenBattleModel>(); } }
|
| | |
|
| | | public override void Init()
|
| | | {
|
| | | OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
|
| | | OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
|
| | | OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
|
| | | OpenServerActivityCenter.Instance.Register((int)OpenServerActivityCenter.OSActivityType.FlashRushToBuy, this);
|
| | | }
|
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | | }
|
| | |
|
| | | public void OnPlayerLoginOk()
|
| | | {
|
| | | //UpdateRedpoint();
|
| | | }
|
| | |
|
| | | public override void UnInit()
|
| | | {
|
| | | OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
|
| | | OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent;
|
| | | OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent;
|
| | | }
|
| | |
|
| | | public bool IsOpen
|
| | | {
|
| | | get
|
| | | {
|
| | | var operation = GetOperationFlashRushToBuy();
|
| | | if(operation != null)
|
| | | {
|
| | | return operation.SatisfyOpenCondition();
|
| | | }
|
| | | return false;
|
| | | }
|
| | | }
|
| | |
|
| | | public bool priorityOpen
|
| | | {
|
| | | get
|
| | | {
|
| | | return flashSaleRedpoint.state == RedPointState.Simple;
|
| | | }
|
| | | }
|
| | |
|
| | | public bool IsAdvance
|
| | | {
|
| | | get
|
| | | {
|
| | | return OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.FlashRushToBuy);
|
| | | }
|
| | | }
|
| | |
|
| | | public void SetDefaultSelectSaleTime()
|
| | | {
|
| | | OperationFlashRushToBuy operation = GetOperationFlashRushToBuy();
|
| | | if (presentFlashShop != null)
|
| | | {
|
| | | int seconds = 0;
|
| | | int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow,presentFlashShop.dayIndex,presentFlashShop.timeIndex, out seconds);
|
| | | if(buyState != 1)
|
| | | {
|
| | | return;
|
| | | }
|
| | | }
|
| | |
|
| | | for (int i = 0; i < operation.flashShops.Count; i++)
|
| | | {
|
| | | int days = operation.totalDays + 1;
|
| | | int dayIndex = i / (operation.flashShops.Count / days);
|
| | | int timeIndex = i % (operation.flashShops.Count / days);
|
| | | int seconds = 0;
|
| | | OperationTime operationTime = operation.times[timeIndex];
|
| | | var date = operation.startDate;
|
| | | int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow, dayIndex, timeIndex, out seconds);
|
| | | switch(buyState)
|
| | | {
|
| | | case -1:
|
| | | case 0:
|
| | | UpdateSelectFlashSaleTime(dayIndex,timeIndex);
|
| | | return;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public void ResetFlashShop()
|
| | | {
|
| | | presentFlashShop = null;
|
| | | }
|
| | |
|
| | | #region 本地数据处理
|
| | | public OperationFlashRushToBuy.FlashSaleShop presentFlashShop { get; private set; }
|
| | | public event Action UpdateSelectSaleTimeEvent;
|
| | | public void UpdateSelectFlashSaleTime(int dayIndex,int timeIndex)
|
| | | {
|
| | | presentFlashShop = null;
|
| | | OperationFlashRushToBuy operation = GetOperationFlashRushToBuy();
|
| | | if(operation != null)
|
| | | {
|
| | | OperationFlashRushToBuy.FlashSaleShop flashShop;
|
| | | operation.TryGetFlashShop(dayIndex, timeIndex, out flashShop);
|
| | | presentFlashShop = flashShop;
|
| | | if(UpdateSelectSaleTimeEvent != null)
|
| | | {
|
| | | UpdateSelectSaleTimeEvent();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public OperationFlashRushToBuy GetOperationFlashRushToBuy()
|
| | | {
|
| | | OperationBase operationBase;
|
| | | if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashRushToBuy, out operationBase))
|
| | | {
|
| | | return operationBase as OperationFlashRushToBuy;
|
| | | }
|
| | |
|
| | | return null;
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #region 协议
|
| | | public event Action UpdateAllAppointmentEvent;
|
| | | public event Action<int> UpdateAppointmentEvent;
|
| | | public void UpdateFlashSaleAppointmentInfo(HAA18_tagMCFlashSaleAppointmentInfo appointmentInfo)
|
| | | {
|
| | | var operation = GetOperationFlashRushToBuy();
|
| | | if (operation == null) return;
|
| | |
|
| | | if (appointmentInfo.IsAll == 1)
|
| | | {
|
| | | for (int j = 0; j < operation.flashShops.Count; j++)
|
| | | {
|
| | | var saleItems = operation.flashShops[j].items;
|
| | | for (int k = 0; k < saleItems.Length; k++)
|
| | | {
|
| | | saleItems[k].isAppointment = 0;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | for (int i = 0; i < appointmentInfo.GoodsCount; i++)
|
| | | {
|
| | | var saleItemInfo = appointmentInfo.GoodsList[i];
|
| | | for (int j = 0; j < operation.flashShops.Count; j++)
|
| | | {
|
| | | var saleItems = operation.flashShops[j].items;
|
| | | for (int k = 0; k < saleItems.Length; k++)
|
| | | {
|
| | | if (saleItems[k].shopGuid == saleItemInfo.GoodsMark)
|
| | | {
|
| | | if(saleItems[k].isAppointment != saleItemInfo.State)
|
| | | {
|
| | | saleItems[k].isAppointment = saleItemInfo.State;
|
| | | if(UpdateAppointmentEvent != null)
|
| | | {
|
| | | UpdateAppointmentEvent((int)saleItemInfo.GoodsMark);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | if(appointmentInfo.IsAll == 1)
|
| | | {
|
| | | if (UpdateAllAppointmentEvent != null)
|
| | | {
|
| | | UpdateAllAppointmentEvent();
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | /// <summary>
|
| | | /// Value1 商品ID Value2 全服购买次数
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public GameRecInfo GetFullServerInfo()
|
| | | {
|
| | | var infolist = battleModel.GetBatterInfoListByType(8);
|
| | | if(infolist != null && infolist.Count > 0)
|
| | | {
|
| | | return infolist[0];
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 限时抢购预约
|
| | | /// </summary>
|
| | | public void SendFlashSaleAppointment(int shopGuid,int state)
|
| | | {
|
| | | CAA05_tagCMFlashSaleAppointment appointment = new CAA05_tagCMFlashSaleAppointment();
|
| | | appointment.GoodsID = (uint)shopGuid;
|
| | | appointment.State = (byte)state;
|
| | | GameNetSystem.Instance.SendInfo(appointment);
|
| | | }
|
| | | #endregion
|
| | |
|
| | | /// <summary>
|
| | | /// 获得限时抢购活动状态
|
| | | /// </summary>
|
| | | /// <param name="seconds"></param>
|
| | | /// <returns></returns>
|
| | | public FlashRushToBuySate GetActivityState(out int seconds,out OperationTime operationTime,out OperationFlashRushToBuy.FlashSaleShop saleShop)
|
| | | {
|
| | | seconds = 0;
|
| | | saleShop = null;
|
| | | operationTime = default(OperationTime);
|
| | | var operation = GetOperationFlashRushToBuy();
|
| | | if (!IsOpen || operation == null) return FlashRushToBuySate.NoOpen;
|
| | |
|
| | | int openState = 0;
|
| | | int endState = 0;
|
| | | int openSeconds = 0;
|
| | | int endSeconds = 0;
|
| | | for(int i = 0; i < operation.flashShops.Count;i++)
|
| | | {
|
| | | OperationFlashRushToBuy.FlashSaleShop openSaleShop = operation.flashShops[i];
|
| | | operationTime = operation.times[openSaleShop.timeIndex];
|
| | | openState = operation.GetBuyTimeState(TimeUtility.ServerNow, openSaleShop.dayIndex, openSaleShop.timeIndex, out openSeconds);
|
| | | if(openState != 1)
|
| | | {
|
| | | saleShop = openSaleShop;
|
| | | break;
|
| | | }
|
| | | }
|
| | | if(operation.flashShops.Count > 0)
|
| | | {
|
| | | OperationFlashRushToBuy.FlashSaleShop endSaleShop = operation.flashShops[operation.flashShops.Count - 1];
|
| | | endState = operation.GetBuyTimeState(TimeUtility.ServerNow, endSaleShop.dayIndex, endSaleShop.timeIndex, out endSeconds);
|
| | | }
|
| | | |
| | | switch(openState)
|
| | | {
|
| | | case -1:
|
| | | seconds = openSeconds;
|
| | | return FlashRushToBuySate.InAdvance;
|
| | | case 0:
|
| | | return FlashRushToBuySate.Begining;
|
| | | }
|
| | |
|
| | | switch(endState)
|
| | | {
|
| | | case -1:
|
| | | return FlashRushToBuySate.Begining;
|
| | | case 0:
|
| | | return FlashRushToBuySate.Begining;
|
| | | case 1:
|
| | | return FlashRushToBuySate.End;
|
| | | default:
|
| | | return FlashRushToBuySate.NoOpen;
|
| | | }
|
| | | }
|
| | |
|
| | | public bool CheckIsPush(out OperationFlashRushToBuy.FlashSaleShop saleShop)
|
| | | {
|
| | | int seconds = 0;
|
| | | OperationTime operationTime;
|
| | | saleShop = null;
|
| | | var buyState = GetActivityState(out seconds,out operationTime,out saleShop);
|
| | | switch (buyState)
|
| | | {
|
| | | case FlashRushToBuySate.NoOpen:
|
| | | break;
|
| | | case FlashRushToBuySate.InAdvance:
|
| | | if(saleShop != null && seconds <= 180)
|
| | | {
|
| | | for(int i = 0; i < saleShop.items.Length; i++)
|
| | | {
|
| | | if(saleShop.items[i].isAppointment == 1)
|
| | | {
|
| | | return true;
|
| | | }
|
| | | }
|
| | | }
|
| | | break;
|
| | | case FlashRushToBuySate.Begining:
|
| | | return true;
|
| | | case FlashRushToBuySate.End:
|
| | | break;
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | private void OperationEndEvent(Operation type, int state)
|
| | | {
|
| | | if (type == Operation.FlashRushToBuy && state == 0)
|
| | | {
|
| | | UpdateRedpoint();
|
| | | if (onStateUpate != null)
|
| | | {
|
| | | onStateUpate((int)OpenServerActivityCenter.OSActivityType.FlashRushToBuy);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void OperationAdvanceEvent(Operation type)
|
| | | {
|
| | | if (type == Operation.FlashRushToBuy)
|
| | | {
|
| | | if (onStateUpate != null)
|
| | | {
|
| | | onStateUpate((int)OpenServerActivityCenter.OSActivityType.FlashRushToBuy);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void OperationStartEvent(Operation type, int state)
|
| | | {
|
| | | if (type == Operation.FlashRushToBuy && state == 0)
|
| | | {
|
| | | UpdateRedpoint();
|
| | | if (onStateUpate != null)
|
| | | {
|
| | | onStateUpate((int)OpenServerActivityCenter.OSActivityType.FlashRushToBuy);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void OnDayEvent()
|
| | | {
|
| | | UpdateRedpoint();
|
| | | }
|
| | |
|
| | | public void SetDayRemind()
|
| | | {
|
| | | if (flashSaleRedpoint.state == RedPointState.Simple)
|
| | | {
|
| | | // DayRemind.Instance.SetDayRemind(DayRemind.FLASHSALE_REDPOINT, true);
|
| | | UpdateRedpoint();
|
| | | }
|
| | | }
|
| | | |
| | | public Redpoint flashSaleRedpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20914);
|
| | |
|
| | | public event Action<int> onStateUpate;
|
| | |
|
| | | private void UpdateRedpoint()
|
| | | {
|
| | | flashSaleRedpoint.state = RedPointState.None;
|
| | | }
|
| | |
|
| | | public enum FlashRushToBuySate
|
| | | {
|
| | | NoOpen, //活动未开启
|
| | | InAdvance,//提前
|
| | | Begining, //活动中
|
| | | End, //结束
|
| | | }
|
| | | }
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/FlashRushToBuyModel.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 1155d8a33808d2640ab01bedff0bb06b |
| | | timeCreated: 1539086199 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class FlashRushToBuyNotify : OpenServerActivityNotifyBase
|
| | | {
|
| | | public FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
|
| | | public const string iconKey = "TB_BGL_2";
|
| | | private void OnEnable()
|
| | | {
|
| | | Display();
|
| | | }
|
| | |
|
| | | private void OnDisable()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | protected override void Display()
|
| | | {
|
| | | base.Display();
|
| | | titleText.text = "限时抢购";
|
| | | activityIcon.SetSprite(iconKey);
|
| | | }
|
| | |
|
| | | protected override void ClickGotoBtn()
|
| | | {
|
| | | base.ClickGotoBtn();
|
| | | this.gameObject.SetActive(false);
|
| | | WindowCenter.Instance.Open<FlashRushToBuyWin>();
|
| | | }
|
| | | protected override void ClickCloseBtn()
|
| | | {
|
| | | base.ClickCloseBtn();
|
| | | }
|
| | | }
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/FlashRushToBuyNotify.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: f1b3cf08873bf564ea2ec5d7d71afd41 |
| | | timeCreated: 1539423553 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using System;
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class FlashRushToBuyWin : Window
|
| | | {
|
| | | [SerializeField] ScrollerController saleItemCtrl;
|
| | | [SerializeField] ScrollerController saleTimeCtrl;
|
| | | [SerializeField] Text opreationTimeText;
|
| | | [SerializeField] Image moneyIcon;
|
| | | [SerializeField] Text moneyNumText;
|
| | |
|
| | | StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
|
| | | FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
|
| | | OperationFlashRushToBuy operation = null;
|
| | | #region Built-in
|
| | | protected override void BindController()
|
| | | {
|
| | | }
|
| | |
|
| | | protected override void AddListeners()
|
| | | {
|
| | | }
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | {
|
| | | rushToBuyModel.SetDefaultSelectSaleTime();
|
| | | OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
|
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent;
|
| | | rushToBuyModel.UpdateSelectSaleTimeEvent += UpdateSelectSaleTime;
|
| | | SetDisplayModel();
|
| | | Display();
|
| | | }
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | | {
|
| | | rushToBuyModel.SetDayRemind();
|
| | | }
|
| | |
|
| | | protected override void OnPreClose()
|
| | | {
|
| | | rushToBuyModel.UpdateSelectSaleTimeEvent -= UpdateSelectSaleTime;
|
| | | OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
|
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent;
|
| | | rushToBuyModel.ResetFlashShop();
|
| | | }
|
| | |
|
| | | protected override void OnAfterClose()
|
| | | {
|
| | | }
|
| | | #endregion
|
| | |
|
| | | private void SetDisplayModel()
|
| | | {
|
| | | operation = null;
|
| | | OperationBase operationBase;
|
| | | if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashRushToBuy, out operationBase))
|
| | | {
|
| | | operation = operationBase as OperationFlashRushToBuy; |
| | | }
|
| | | }
|
| | |
|
| | | private void Display()
|
| | | {
|
| | | if (rushToBuyModel.presentFlashShop == null|| operation == null) return;
|
| | |
|
| | | opreationTimeText.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
|
| | | if (rushToBuyModel.presentFlashShop.items.Length > 0)
|
| | | {
|
| | | var moneyType = rushToBuyModel.presentFlashShop.items[0].moneyType;
|
| | | moneyIcon.SetIconWithMoneyType(moneyType);
|
| | | moneyNumText.text = UIHelper.GetMoneyCnt(moneyType).ToString();
|
| | | }
|
| | | CreateOperationTimes();
|
| | | CreateSaleItem();
|
| | | }
|
| | |
|
| | |
|
| | | private void UpdateSelectSaleTime()
|
| | | {
|
| | | CreateSaleItem();
|
| | | saleTimeCtrl.m_Scorller.RefreshActiveCellViews();
|
| | | }
|
| | |
|
| | | private void CreateOperationTimes()
|
| | | {
|
| | | if (operation == null) return;
|
| | |
|
| | | saleTimeCtrl.Refresh();
|
| | | for (int i = 0; i < operation.flashShops.Count; i++)
|
| | | {
|
| | | saleTimeCtrl.AddCell(ScrollerDataType.Header, i);
|
| | | }
|
| | | saleTimeCtrl.Restart();
|
| | | }
|
| | |
|
| | | public void CreateSaleItem()
|
| | | {
|
| | | saleItemCtrl.Refresh();
|
| | | var flashItems = rushToBuyModel.presentFlashShop.items;
|
| | | for (int i = 0; i < flashItems.Length; i++)
|
| | | {
|
| | | saleItemCtrl.AddCell(ScrollerDataType.Header, i);
|
| | | }
|
| | | saleItemCtrl.Restart();
|
| | | }
|
| | |
|
| | | private void OperationTimeUpdateEvent(Operation type)
|
| | | {
|
| | | if (type == Operation.FlashRushToBuy)
|
| | | {
|
| | | Display();
|
| | | }
|
| | | }
|
| | | |
| | | private void OperationStartEvent(Operation type, int state)
|
| | | {
|
| | | if (type == Operation.FlashRushToBuy && state == 0)
|
| | | {
|
| | | Display();
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/FlashRushToBuyWin.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: e1ea7b55e1cc21b42906a2e6984b29cd |
| | | timeCreated: 1539069491 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | | using EnhancedUI.EnhancedScroller;
|
| | | using TableConfig;
|
| | | using System;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class FlashSaleItemCell : ScrollerUI
|
| | | {
|
| | | [SerializeField] CommonItemBaisc itemBaisc;
|
| | | [SerializeField] Text originalPrice;
|
| | | [SerializeField] Image originalMoneyIcon;
|
| | | [SerializeField] Text presentPrice;
|
| | | [SerializeField] Image presentMoneyIcon;
|
| | | [SerializeField] Image stateImg;
|
| | | [SerializeField] Button flashSaleBtn;
|
| | | [SerializeField] Text btnStateText;
|
| | | [SerializeField] Text fullServerRemainNum;
|
| | |
|
| | | public const int RefreshFullServerBuyType = 8;
|
| | |
|
| | | FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
|
| | | StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
|
| | | HeavenBattleModel battleModel { get { return ModelCenter.Instance.GetModel<HeavenBattleModel>(); } }
|
| | | ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
|
| | |
|
| | | OperationFlashRushToBuy.FlashSaleItem saleItem;
|
| | | int buyState = -1;
|
| | | private void OnEnable()
|
| | | {
|
| | | battleModel.RefreshGameRecInfoAct += UpdateFullServerBuy;
|
| | | storeModel.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
|
| | | rushToBuyModel.UpdateAllAppointmentEvent += UpdateAllAppointmentInfo;
|
| | | rushToBuyModel.UpdateAppointmentEvent += UpdateAppointmentInfo;
|
| | | }
|
| | |
|
| | | private void OnDisable()
|
| | | {
|
| | | storeModel.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent;
|
| | | battleModel.RefreshGameRecInfoAct -= UpdateFullServerBuy;
|
| | | rushToBuyModel.UpdateAllAppointmentEvent -= UpdateAllAppointmentInfo;
|
| | | rushToBuyModel.UpdateAppointmentEvent -= UpdateAppointmentInfo;
|
| | | }
|
| | |
|
| | | public override void Refresh(CellView cell)
|
| | | {
|
| | | if (rushToBuyModel.presentFlashShop == null) return;
|
| | |
|
| | | saleItem = rushToBuyModel.presentFlashShop.items[cell.index];
|
| | | ItemCellModel cellModel = new ItemCellModel(saleItem.itemId,true,(ulong)saleItem.itemCount,saleItem.isBind);
|
| | | itemBaisc.Init(cellModel);
|
| | | itemBaisc.cellBtn.RemoveAllListeners();
|
| | | itemBaisc.cellBtn.AddListener(()=>
|
| | | {
|
| | | ItemAttrData attrData = new ItemAttrData(saleItem.itemId,true, (ulong)saleItem.itemCount, -1,saleItem.isBind);
|
| | | tipsModel.SetItemTipsModel(attrData);
|
| | | });
|
| | | originalMoneyIcon.SetIconWithMoneyType(saleItem.moneyType);
|
| | | presentMoneyIcon.SetIconWithMoneyType(saleItem.moneyType);
|
| | | originalPrice.text = saleItem.moneyOriginal.ToString();
|
| | | presentPrice.text = saleItem.moneyNumber.ToString();
|
| | | UpdateSaleItem();
|
| | | UpdateSaleItemSellState();
|
| | | }
|
| | |
|
| | | private void RefreshBuyShopLimitEvent()
|
| | | {
|
| | | UpdateSaleItemSellState();
|
| | | }
|
| | |
|
| | | private void UpdateFullServerBuy(int type)
|
| | | {
|
| | | if (type != RefreshFullServerBuyType) return;
|
| | | UpdateSaleItemSellState();
|
| | | }
|
| | |
|
| | |
|
| | | private void UpdateAllAppointmentInfo()
|
| | | {
|
| | | UpdateSaleItem();
|
| | | }
|
| | |
|
| | | private void UpdateAppointmentInfo(int shopGuid)
|
| | | {
|
| | | if (saleItem == null || shopGuid != saleItem.shopGuid) return;
|
| | | UpdateSaleItem();
|
| | | }
|
| | |
|
| | | private void UpdateSaleItem()
|
| | | {
|
| | | if (rushToBuyModel.presentFlashShop == null) return;
|
| | |
|
| | | StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(saleItem.shopId);
|
| | | flashSaleBtn.RemoveAllListeners();
|
| | | var operation = rushToBuyModel.GetOperationFlashRushToBuy();
|
| | | int seconds = 0;
|
| | | buyState = operation.GetBuyTimeState(TimeUtility.ServerNow,rushToBuyModel.presentFlashShop.dayIndex,
|
| | | rushToBuyModel.presentFlashShop.timeIndex,out seconds);
|
| | |
|
| | | switch(buyState)
|
| | | {
|
| | | case -1:
|
| | | if(saleItem.isAppointment == 0)
|
| | | {
|
| | | btnStateText.text = "预约";
|
| | | flashSaleBtn.AddListener(() => { rushToBuyModel.SendFlashSaleAppointment(saleItem.shopGuid, 1); });
|
| | | }
|
| | | else
|
| | | {
|
| | | btnStateText.text = "取消预约";
|
| | | flashSaleBtn.AddListener(() => { rushToBuyModel.SendFlashSaleAppointment(saleItem.shopGuid, 0); });
|
| | | }
|
| | | break;
|
| | | case 0:
|
| | | btnStateText.text = "秒杀";
|
| | | flashSaleBtn.AddListener(() => { storeModel.SendBuyShopItem(storeConfig,saleItem.itemCount); });
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | private void UpdateSaleItemSellState()
|
| | | {
|
| | | int fullSeverRemain = 0;
|
| | | int sellState = GetSellSate(out fullSeverRemain);
|
| | | fullServerRemainNum.text = fullSeverRemain.ToString();
|
| | | switch (sellState)
|
| | | {
|
| | | case 0:
|
| | | stateImg.gameObject.SetActive(false);
|
| | | flashSaleBtn.gameObject.SetActive(true);
|
| | | break;
|
| | | case 1:
|
| | | stateImg.gameObject.SetActive(true);
|
| | | flashSaleBtn.gameObject.SetActive(false);
|
| | | break;
|
| | | case 2:
|
| | | stateImg.gameObject.SetActive(true);
|
| | | flashSaleBtn.gameObject.SetActive(false);
|
| | | break;
|
| | | }
|
| | |
|
| | | }
|
| | | /// <summary>
|
| | | /// 0 秒杀 1 已买到 2 已抢光
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | private int GetSellSate(out int fullRemainNum)
|
| | | {
|
| | | fullRemainNum = 0;
|
| | | |
| | | var buyInfo = storeModel.GetBuyShopLimit((uint)saleItem.shopId);
|
| | | var buyCount = 0;
|
| | | var fullServerInfo = rushToBuyModel.GetFullServerInfo();
|
| | | if(buyState != -1)
|
| | | {
|
| | | if (fullServerInfo != null && fullServerInfo.Value1 == saleItem.shopId)
|
| | | {
|
| | | fullRemainNum = saleItem.fullServerLimitNum - fullServerInfo.Value2;
|
| | | }
|
| | | else
|
| | | {
|
| | | fullRemainNum = saleItem.fullServerLimitNum;
|
| | | }
|
| | | if (buyInfo != null)
|
| | | {
|
| | | buyCount = buyInfo.BuyCnt;
|
| | | }
|
| | | if (buyCount >= saleItem.limitNum)
|
| | | {
|
| | | return 1;
|
| | | }
|
| | |
|
| | | if (fullRemainNum <= 0)
|
| | | {
|
| | | return 2;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | fullRemainNum = saleItem.fullServerLimitNum;
|
| | | }
|
| | | return 0;
|
| | | }
|
| | | }
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/FlashSaleItemCell.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 0159981474f2dbb4599489e57560e8e6 |
| | | timeCreated: 1539070008 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | | using EnhancedUI.EnhancedScroller;
|
| | | using System;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class FlashSaleTimeCell : ScrollerUI
|
| | | {
|
| | | [SerializeField] Text remainText;
|
| | | [SerializeField] Button saleTimeBtn;
|
| | | [SerializeField] GameObject unSelectImg;
|
| | | [SerializeField] GameObject selectImg;
|
| | |
|
| | | FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
|
| | | OperationFlashRushToBuy operation;
|
| | | int dayIndex = -1;
|
| | | int timeIndex = -1;
|
| | | private void Awake()
|
| | | {
|
| | | saleTimeBtn.AddListener(() =>
|
| | | {
|
| | | rushToBuyModel.UpdateSelectFlashSaleTime(dayIndex, timeIndex);
|
| | | });
|
| | | }
|
| | | private void OnEnable()
|
| | | {
|
| | | GlobalTimeEvent.Instance.secondEvent += UpdateBuyState;
|
| | | }
|
| | | private void OnDisable()
|
| | | {
|
| | | GlobalTimeEvent.Instance.secondEvent -= UpdateBuyState;
|
| | | }
|
| | | public override void Refresh(CellView cell)
|
| | | {
|
| | | operation = rushToBuyModel.GetOperationFlashRushToBuy();
|
| | | dayIndex = -1;
|
| | | timeIndex = -1;
|
| | | if (operation == null) return;
|
| | |
|
| | | int days = operation.totalDays + 1;
|
| | | dayIndex = cell.index/(operation.flashShops.Count / days);
|
| | | timeIndex = cell.index % (operation.flashShops.Count / days);
|
| | | if(dayIndex == rushToBuyModel.presentFlashShop.dayIndex |
| | | && timeIndex == rushToBuyModel.presentFlashShop.timeIndex)
|
| | | {
|
| | | selectImg.SetActive(true);
|
| | | unSelectImg.SetActive(false);
|
| | | }
|
| | | else
|
| | | {
|
| | | selectImg.SetActive(false);
|
| | | unSelectImg.SetActive(true);
|
| | | }
|
| | | UpdateBuyState();
|
| | | }
|
| | |
|
| | | public void UpdateBuyState()
|
| | | {
|
| | | if (operation == null || timeIndex == -1) return;
|
| | |
|
| | | int seconds = 0;
|
| | | OperationTime operationTime = operation.times[timeIndex];
|
| | | var date = operation.startDate;
|
| | | int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow, dayIndex, timeIndex, out seconds);
|
| | | switch (buyState)
|
| | | {
|
| | | case -1:
|
| | | this.gameObject.SetActive(true);
|
| | | string timeStr = operation.ToDisplayBuyTime(date.month, dayIndex + date.day, operationTime.startHour, operationTime.startMinute);
|
| | | remainText.text = StringUtility.Contact(timeStr, "开抢");
|
| | | break;
|
| | | case 0:
|
| | | this.gameObject.SetActive(true);
|
| | | remainText.text = StringUtility.Contact("秒杀进行中", TimeUtility.SecondsToHMS(seconds));
|
| | | break;
|
| | | case 1:
|
| | | if(selectImg.activeInHierarchy)
|
| | | {
|
| | | rushToBuyModel.SetDefaultSelectSaleTime();
|
| | | }
|
| | | this.gameObject.SetActive(false);
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/FlashSaleTimeCell.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 45a3148a13dcdbb40b43bf5b9667ca8e |
| | | timeCreated: 1539070917 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | FairyLeagueNotice,
|
| | | [Header("骑宠争夺预告")]
|
| | | FairyGrabBossNotice,
|
| | | [Header("限时抢购")]
|
| | | FlashRushToBuy,
|
| | | }
|
| | | }
|
| | |
|
| New file |
| | |
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class OpenServerActivityNotifyBase : MonoBehaviour
|
| | | {
|
| | | [SerializeField] protected Text titleText;
|
| | | [SerializeField] protected Image activityIcon;
|
| | | [SerializeField] protected Button gotoBtn;
|
| | | [SerializeField] protected Button closeBtn;
|
| | |
|
| | | private void Awake()
|
| | | {
|
| | | gotoBtn.AddListener(ClickGotoBtn);
|
| | | closeBtn.AddListener(ClickCloseBtn);
|
| | | }
|
| | |
|
| | | protected virtual void Display()
|
| | | {
|
| | |
|
| | | }
|
| | |
|
| | | protected virtual void ClickGotoBtn()
|
| | | {
|
| | |
|
| | | }
|
| | |
|
| | | protected virtual void ClickCloseBtn()
|
| | | {
|
| | | this.gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/OpenServerActivityNotifyBase.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 22be8e7eacfacb343b53b11b5d22aa29 |
| | | timeCreated: 1539422752 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Linq;
|
| | | using System.Text;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class OpenServerActivityNotifyModel : Model,IBeforePlayerDataInitialize,IPlayerLoginOk
|
| | | {
|
| | | |
| | | public override void Init()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | | FlashRushToBuyActivityClose();
|
| | | GlobalTimeEvent.Instance.minuteEvent -= UpdateMinute;
|
| | | OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
|
| | | OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent;
|
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeEvent;
|
| | | OperationTimeHepler.Instance.operationServerCloseEvent -= OperationServerCloseEvent;
|
| | | NewBieCenter.Instance.guideCompletedEvent -= GuideCompletedEvent;
|
| | | }
|
| | |
|
| | | public void OnPlayerLoginOk()
|
| | | {
|
| | | OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
|
| | | OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
|
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeEvent;
|
| | | OperationTimeHepler.Instance.operationServerCloseEvent += OperationServerCloseEvent;
|
| | | NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
|
| | | GlobalTimeEvent.Instance.minuteEvent += UpdateMinute;
|
| | | SetFlashRushToBuyNotify();
|
| | | if (!WindowCenter.Instance.IsOpen<OpenServerActivityNotifyWin>())
|
| | | {
|
| | | WindowCenter.Instance.Open<OpenServerActivityNotifyWin>();
|
| | | }
|
| | | }
|
| | |
|
| | | public override void UnInit()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | private void UpdateMinute()
|
| | | {
|
| | | SetFlashRushToBuyNotify();
|
| | | }
|
| | |
|
| | | private void OperationTimeEvent(Operation type)
|
| | | {
|
| | | switch (type)
|
| | | {
|
| | | case Operation.MultipleExp:
|
| | | break;
|
| | | case Operation.ConsumeRebate:
|
| | | break;
|
| | | case Operation.FlashSale:
|
| | | break;
|
| | | case Operation.BossReborn:
|
| | | break;
|
| | | case Operation.GiftPackage:
|
| | | break;
|
| | | case Operation.FairyCeremony:
|
| | | break;
|
| | | case Operation.MultipRealmPoint:
|
| | | break;
|
| | | case Operation.FlashRushToBuy:
|
| | | SetFlashRushToBuyNotify();
|
| | | break;
|
| | | case Operation.max:
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | private void OperationStartEvent(Operation type, int state)
|
| | | {
|
| | | switch (type)
|
| | | {
|
| | | case Operation.MultipleExp:
|
| | | break;
|
| | | case Operation.ConsumeRebate:
|
| | | break;
|
| | | case Operation.FlashSale:
|
| | | break;
|
| | | case Operation.BossReborn:
|
| | | break;
|
| | | case Operation.GiftPackage:
|
| | | break;
|
| | | case Operation.FairyCeremony:
|
| | | break;
|
| | | case Operation.MultipRealmPoint:
|
| | | break;
|
| | | case Operation.FlashRushToBuy:
|
| | | SetFlashRushToBuyNotify();
|
| | | break;
|
| | | case Operation.max:
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | private void OperationServerCloseEvent(Operation type)
|
| | | {
|
| | | switch (type)
|
| | | {
|
| | | case Operation.MultipleExp:
|
| | | break;
|
| | | case Operation.ConsumeRebate:
|
| | | break;
|
| | | case Operation.FlashSale:
|
| | | break;
|
| | | case Operation.BossReborn:
|
| | | break;
|
| | | case Operation.GiftPackage:
|
| | | break;
|
| | | case Operation.FairyCeremony:
|
| | | break;
|
| | | case Operation.MultipRealmPoint:
|
| | | break;
|
| | | case Operation.FlashRushToBuy:
|
| | | FlashRushToBuyActivityClose();
|
| | | break;
|
| | | case Operation.max:
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | private void OperationEndEvent(Operation type, int state)
|
| | | {
|
| | | switch (type)
|
| | | {
|
| | | case Operation.MultipleExp:
|
| | | break;
|
| | | case Operation.ConsumeRebate:
|
| | | break;
|
| | | case Operation.FlashSale:
|
| | | break;
|
| | | case Operation.BossReborn:
|
| | | break;
|
| | | case Operation.GiftPackage:
|
| | | break;
|
| | | case Operation.FairyCeremony:
|
| | | break;
|
| | | case Operation.MultipRealmPoint:
|
| | | break;
|
| | | case Operation.FlashRushToBuy:
|
| | | FlashRushToBuyActivityClose();
|
| | | break;
|
| | | case Operation.max:
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | private void GuideCompletedEvent(int id)
|
| | | {
|
| | | SetFlashRushToBuyNotify();
|
| | | }
|
| | |
|
| | | #region 限时抢购
|
| | | public event Action UpdateFlashRushToBuyEvent;
|
| | | FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
|
| | | public List<OperationFlashRushToBuy.FlashSaleShop> flashSaleShops = new List<OperationFlashRushToBuy.FlashSaleShop>();
|
| | | public void SetFlashRushToBuyNotify()
|
| | | {
|
| | | if (NewBieCenter.Instance.inGuiding) return;
|
| | |
|
| | | OperationFlashRushToBuy.FlashSaleShop saleShop = null;
|
| | | bool isPush = rushToBuyModel.CheckIsPush(out saleShop);
|
| | | if(isPush && !flashSaleShops.Contains(saleShop))
|
| | | {
|
| | | flashSaleShops.Add(saleShop);
|
| | | if(UpdateFlashRushToBuyEvent != null)
|
| | | {
|
| | | UpdateFlashRushToBuyEvent();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public void FlashRushToBuyActivityClose()
|
| | | {
|
| | | flashSaleShops.Clear();
|
| | | if (UpdateFlashRushToBuyEvent != null)
|
| | | {
|
| | | UpdateFlashRushToBuyEvent();
|
| | | }
|
| | | }
|
| | | #endregion
|
| | |
|
| | | }
|
| | | }
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/OpenServerActivityNotifyModel.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 2a78df4065d071145b2e5877404cd6fd |
| | | timeCreated: 1539572551 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using System;
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class OpenServerActivityNotifyWin : Window
|
| | | {
|
| | | [SerializeField] FlashRushToBuyNotify flashRushToBuyNotify;
|
| | | OpenServerActivityNotifyModel activityNotifyModel { get { return ModelCenter.Instance.GetModel<OpenServerActivityNotifyModel>(); } }
|
| | | protected override void BindController()
|
| | | {
|
| | |
|
| | | }
|
| | |
|
| | | protected override void AddListeners()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | { |
| | | activityNotifyModel.UpdateFlashRushToBuyEvent += CheckFlashRushToBuy;
|
| | | CheckFlashRushToBuy();
|
| | | }
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | protected override void OnPreClose()
|
| | | {
|
| | | activityNotifyModel.UpdateFlashRushToBuyEvent -= CheckFlashRushToBuy;
|
| | | }
|
| | |
|
| | | protected override void OnAfterClose()
|
| | | {
|
| | |
|
| | | }
|
| | |
|
| | | private void CheckFlashRushToBuy()
|
| | | {
|
| | | if(activityNotifyModel.flashSaleShops.Count > 0)
|
| | | {
|
| | | flashRushToBuyNotify.gameObject.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | flashRushToBuyNotify.gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| File was renamed from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: aa084ec4d5a2ea446b5ec00c0e1cc687 |
| | | timeCreated: 1539422752 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | WindowCenter.Instance.Open<FairyGrabBossNoticeWin>(true);
|
| | | }
|
| | | break;
|
| | | case 14:
|
| | | if (windowState == WindowState.Opened)
|
| | | {
|
| | | WindowCenter.Instance.OpenWithoutAnimation<FlashRushToBuyWin>();
|
| | | }
|
| | | else
|
| | | {
|
| | | WindowCenter.Instance.Open<FlashRushToBuyWin>(true);
|
| | | }
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | WindowCenter.Instance.CloseImmediately<VipInvestWin>();
|
| | | WindowCenter.Instance.CloseImmediately<FairyLeagueNoticeWin>();
|
| | | WindowCenter.Instance.CloseImmediately<FairyGrabBossNoticeWin>();
|
| | | WindowCenter.Instance.CloseImmediately<FlashRushToBuyWin>();
|
| | | }
|
| | |
|
| | | private int Compare(int order_x, int order_y)
|
| New file |
| | |
| | | using System;
|
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using UnityEngine;
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class OperationFlashRushToBuy : OperationBase
|
| | | {
|
| | | public List<FlashSaleShop> flashShops = new List<FlashSaleShop>();
|
| | |
|
| | | public bool TryGetFlashShop(int dayIndex,int timeIndex ,out FlashSaleShop flashSaleShop)
|
| | | {
|
| | | flashSaleShop = null;
|
| | | for (int i = 0; i < flashShops.Count; i++)
|
| | | {
|
| | | var shop = flashShops[i];
|
| | | if (shop.dayIndex == dayIndex
|
| | | && shop.timeIndex == timeIndex)
|
| | | {
|
| | | flashSaleShop = shop;
|
| | | return true;
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetFlashItem(int shopGuid,out FlashSaleShop flashSaleShop, out FlashSaleItem saleItem)
|
| | | {
|
| | | saleItem = null;
|
| | | flashSaleShop = null;
|
| | | for (int i = 0; i < flashShops.Count; i++)
|
| | | {
|
| | | var saleItems = flashShops[i].items;
|
| | | for (int j = 0; j < saleItems.Length; j++)
|
| | | {
|
| | | if (saleItems[j].shopGuid == shopGuid)
|
| | | {
|
| | | flashSaleShop = flashShops[i];
|
| | | saleItem = saleItems[j];
|
| | | return true;
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | return false;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | ///-1 未开始 0 开始 1结束
|
| | | /// </summary>
|
| | | /// <param name="time"></param>
|
| | | /// <param name="dayIndex"></param>
|
| | | /// <param name="timeIndex"></param>
|
| | | /// <returns></returns>
|
| | | public int GetBuyTimeState(DateTime time,int dayIndex,int timeIndex,out int seconds)
|
| | | {
|
| | | seconds = 0;
|
| | | int day = startDate.day + dayIndex;
|
| | | OperationTime operationTime = times[timeIndex];
|
| | | var startTime = new DateTime(startDate.year, startDate.month,day, operationTime.startHour, operationTime.startMinute,0);
|
| | | var endTime = new DateTime(startDate.year, startDate.month,day, operationTime.endHour, operationTime.endHour, 0);
|
| | | int advanceSec = Mathf.CeilToInt((float)(startTime - time).TotalSeconds);
|
| | | int endSec = Mathf.CeilToInt((float)(endTime - time).TotalSeconds);
|
| | | if (advanceSec > 0)
|
| | | {
|
| | | seconds = advanceSec;
|
| | | return -1;
|
| | | }
|
| | | else if(endSec <= 0)
|
| | | {
|
| | | return 1;
|
| | | }
|
| | | else
|
| | | {
|
| | | seconds = endSec;
|
| | | return 0;
|
| | | }
|
| | | }
|
| | |
|
| | | public string ToDisplayBuyTime(int month,int day,int startHour,int startMinute)
|
| | | {
|
| | | return StringUtility.Contact(month, Language.Get("Month"), day, Language.Get("Day"), startHour.ToString("D2"), ":", startMinute.ToString("D2"));
|
| | | }
|
| | |
|
| | | public string ToDisplayBuyTime(int startHour, int startMinute)
|
| | | {
|
| | | return StringUtility.Contact(startHour.ToString("D2"), ":", startMinute.ToString("D2"));
|
| | | }
|
| | |
|
| | | public override bool SatisfyOpenCondition()
|
| | | {
|
| | | if(PlayerDatas.Instance.baseData.LV >= limitLv && InDay(TimeUtility.ServerNow))
|
| | | {
|
| | | return true;
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public override void Reset()
|
| | | {
|
| | | base.Reset();
|
| | | flashShops.Clear();
|
| | | }
|
| | |
|
| | | public override string ToDisplayTime()
|
| | | {
|
| | | var textBuilder = OperationTimeHepler.textBuilder;
|
| | | textBuilder.Length = 0;
|
| | | textBuilder.Append(startDate.ToDisplay());
|
| | | if (startDate != endDate)
|
| | | {
|
| | | textBuilder.Append("—");
|
| | | textBuilder.Append(endDate.ToDisplay());
|
| | | }
|
| | | return textBuilder.ToString();
|
| | | }
|
| | |
|
| | | public void ParsePackage(HAA17_tagMCFlashSaleInfo package)
|
| | | {
|
| | | for (int i = 0; i < package.ShopCount; i++)
|
| | | {
|
| | | var gift = new FlashSaleShop();
|
| | | var shop = package.ShopInfo[i];
|
| | | gift.dayIndex = shop.DayIndex;
|
| | | gift.timeIndex = shop.TimeIndex;
|
| | | gift.items = new FlashSaleItem[shop.GiftbagCount];
|
| | | for (int k = 0; k < shop.GiftbagCount; k++)
|
| | | {
|
| | | var item = new FlashSaleItem();
|
| | | var saleItem = shop.GiftbagInfo[k];
|
| | | item.shopId = (int)saleItem.GiftID;
|
| | | item.shopGuid = shop.DayIndex*1000 + shop.TimeIndex*100 + k;
|
| | | item.limitNum = saleItem.BuyCountLimit;
|
| | | item.fullServerLimitNum = saleItem.ServerBuyCountLimit;
|
| | | item.moneyType = saleItem.MoneyType;
|
| | | item.moneyNumber = (int)saleItem.MoneyNumber;
|
| | | item.moneyOriginal = (int)saleItem.MoneyOriginal;
|
| | | item.itemId = (int)saleItem.ItemID;
|
| | | item.itemCount = saleItem.ItemCount;
|
| | | item.isBind = saleItem.IsBind;
|
| | | item.isAppointment = 0;
|
| | | gift.items[k] = item;
|
| | | }
|
| | | flashShops.Add(gift);
|
| | | }
|
| | | }
|
| | |
|
| | | |
| | | public class FlashSaleShop
|
| | | {
|
| | | public int dayIndex; // 活动第几天
|
| | | public int timeIndex;//第几个时间段
|
| | | public FlashSaleItem[] items;
|
| | | }
|
| | |
|
| | | public class FlashSaleItem
|
| | | {
|
| | | public int shopId;
|
| | | public int shopGuid;
|
| | | public int limitNum;//个人限购数量
|
| | | public int fullServerLimitNum; //个人限购数量
|
| | | public int moneyType;
|
| | | public int moneyNumber;
|
| | | public int moneyOriginal;
|
| | | public int itemId;
|
| | | public int itemCount;
|
| | | public int isBind;
|
| | | public int isAppointment; //是否预约
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/OpenServerActivity/OperationFlashRushToBuy.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | guid: 6b7d522af470b8a42b9127be5090cb6f |
| | | timeCreated: 1539088859 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | }
|
| | | int _titleId = model.roleTitleList[_index];
|
| | | TitleData titleData = model.GetGainTitle(_titleId);
|
| | | DienstgradConfig _dienstgradCfg = Config.Instance.Get<DienstgradConfig>(_titleId);
|
| | | m_TitleIcon.SetSprite(_dienstgradCfg.Image);
|
| | | DienstgradConfig config = Config.Instance.Get<DienstgradConfig>(_titleId);
|
| | | m_TitleIcon.SetSprite(config.Image);
|
| | | m_TitleIcon.SetNativeSize();
|
| | | if (model.presentSelectTitle == model.roleTitleList[_index])
|
| | | {
|
| | |
| | | {
|
| | | m_BottomImg.SetSprite("Title_PopupWindow");
|
| | | }
|
| | | m_TitleGetBtn.gameObject.SetActive(!model.IsTitleGain(_titleId));
|
| | | m_TitleGetBtn.gameObject.SetActive(!model.IsTitleGain(_titleId) && config.gotoId > 0);
|
| | | m_UseTitleBtn.gameObject.SetActive(model.IsTitleGain(_titleId));
|
| | | m_ContainerNewGet.gameObject.SetActive(model.IsNewGet(_titleId));
|
| | | m_UseTitleBtn.onClick.RemoveAllListeners();
|
| | |
| | | m_TitleEquipImg.gameObject.SetActive(titleData.isEquiped);
|
| | | }
|
| | | m_TitleGetBtn.RemoveAllListeners();
|
| | | if (titleData == null)
|
| | | if (titleData == null && config.gotoId > 0)
|
| | | {
|
| | | m_TitleGetBtn.AddListener(() =>
|
| | | {
|
| | | if (_dienstgradCfg.gotoId > 0)
|
| | | if (config.gotoId > 0)
|
| | | {
|
| | | if (_dienstgradCfg.missionId > 0
|
| | | && task.GetQuestState(_dienstgradCfg.missionId) == -1)
|
| | | if (config.missionId > 0
|
| | | && task.GetQuestState(config.missionId) == -1)
|
| | | {
|
| | | var taskConfig = Config.Instance.Get<PyTaskConfig>(_dienstgradCfg.missionId);
|
| | | var taskConfig = Config.Instance.Get<PyTaskConfig>(config.missionId);
|
| | | var taskName = string.Empty;
|
| | | if (taskConfig != null)
|
| | | {
|
| | |
| | | SysNotifyMgr.Instance.ShowTip("RoleTitle_1", taskName);
|
| | | return;
|
| | | }
|
| | | WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)_dienstgradCfg.gotoId);
|
| | | WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)config.gotoId);
|
| | | }
|
| | | });
|
| | | }
|
| | |
| | | int[] curAttrValues = ConfigParse.GetMultipleStr<int>(curSpecConfig.attByLevelValue);
|
| | | raiseAttrCell.SetActive(false);
|
| | |
|
| | | tempCelllist.Add(GetRaiseGo(Language.Get("MainInterfacePanel_HeadPortraitTip_ZL"),preFightNum.ToString(),(curFightNum-preFightNum).ToString()));
|
| | | tempCelllist.Add(GetRaiseGo(Language.Get("L1056"),preFightNum.ToString(),(curFightNum-preFightNum).ToString()));
|
| | |
|
| | | for (int i = 0; i < preAttrIds.Length; i++)
|
| | | {
|
| | |
| | | {
|
| | | public const int WholePeopleRankStart = 2091000; //全民冲榜开始
|
| | | public const int WholePeopleRankEnd = 20910000; //全民冲榜截止
|
| | |
|
| | | public const int FlashRushToBuy = 209014; //限时抢购
|
| | | ImpactRankModel impactRank { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } }
|
| | | FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
|
| | |
|
| | | private List<int> rankTypelist = new List<int>();
|
| | |
|
| | | public override void Init()
|
| | |
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | |
|
| | | rushToBuyModel.UpdateAllAppointmentEvent -= UpdateAllAppointment;
|
| | | rushToBuyModel.UpdateAppointmentEvent -= UpdateAppointment;
|
| | | GlobalTimeEvent.Instance.minuteEvent -= RefreshMinuteTime;
|
| | | OpenServerActivityCenter.Instance.openServerActivityStateChange -= RefreshOpenServerState;
|
| | | }
|
| | |
|
| | | public void OnAfterPlayerDataInitialize()
|
| | |
| | | {
|
| | | SetRankStartPushInfo();
|
| | | SetRankEndPushInfo();
|
| | | GlobalTimeEvent.Instance.minuteEvent -= RefreshMinuteTime;
|
| | | SetFlashRushToBuyAppointmentInfo();
|
| | | GlobalTimeEvent.Instance.minuteEvent += RefreshMinuteTime;
|
| | | OpenServerActivityCenter.Instance.openServerActivityStateChange -= RefreshOpenServerState;
|
| | | OpenServerActivityCenter.Instance.openServerActivityStateChange += RefreshOpenServerState;
|
| | | rushToBuyModel.UpdateAllAppointmentEvent += UpdateAllAppointment;
|
| | | rushToBuyModel.UpdateAppointmentEvent += UpdateAppointment;
|
| | | }
|
| | |
|
| | | public override void UnInit()
|
| | |
| | | {
|
| | | RemovePushByTime(PushInfoType.RankStart,11);
|
| | | RemovePushByTime(PushInfoType.RankEnd,23);
|
| | | RemoveFlashRushToBuyAppointmentByTime();
|
| | | }
|
| | |
|
| | | private void RefreshOpenServerState()
|
| | |
| | | SetRankEndPushInfo();
|
| | | RemovePushByActiveClose(PushInfoType.RankStart);
|
| | | RemovePushByActiveClose(PushInfoType.RankEnd);
|
| | | SetFlashRushToBuyAppointmentInfo();
|
| | | }
|
| | |
|
| | | #region 开服活动冲榜推送
|
| | | private void SetRankStartPushInfo()
|
| | | {
|
| | | for(int i = 0; i <rankTypelist.Count; i++)
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void RemovePushByTime(PushInfoType type,int time)
|
| | | private void RemovePushByTime(PushInfoType type, int time)
|
| | | {
|
| | | int remainHour = time - TimeUtility.ServerNow.Hour;
|
| | | int remainMinute = 0 - TimeUtility.ServerNow.Minute;
|
| | |
| | | break;
|
| | | }
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #region 限时抢购推送
|
| | | private void UpdateAllAppointment()
|
| | | {
|
| | | SetFlashRushToBuyAppointmentInfo();
|
| | | }
|
| | |
|
| | | private void UpdateAppointment(int shopGuid)
|
| | | {
|
| | | if (!rushToBuyModel.IsOpen) return;
|
| | |
|
| | | var operation = rushToBuyModel.GetOperationFlashRushToBuy();
|
| | | int pushId = FlashRushToBuy * 10 + shopGuid;
|
| | | OperationFlashRushToBuy.FlashSaleItem saleItem;
|
| | | OperationFlashRushToBuy.FlashSaleShop saleShop;
|
| | | bool isSaleItem = operation.TryGetFlashItem(shopGuid,out saleShop,out saleItem);
|
| | | if(isSaleItem)
|
| | | {
|
| | | if(saleItem.isAppointment != 1)
|
| | | {
|
| | | RemovePushInfo(pushId);
|
| | | }
|
| | | else
|
| | | {
|
| | | int seconds = 0;
|
| | | int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow, saleShop.dayIndex, saleShop.timeIndex, out seconds);
|
| | | if(seconds > 800)
|
| | | {
|
| | | int remainSecond = seconds - 600;
|
| | | SendPushInfo(GetPushJsonData(pushId, remainSecond, "限时抢购", "亲爱的道友,您预约的限时抢购商品即将开抢,请尽快进入游戏秒杀!"));
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void SetFlashRushToBuyAppointmentInfo()
|
| | | {
|
| | | if (!rushToBuyModel.IsOpen) return;
|
| | |
|
| | | var operation = rushToBuyModel.GetOperationFlashRushToBuy();
|
| | | for(int i = 0; i < operation.flashShops.Count; i++)
|
| | | {
|
| | | var flashShop = operation.flashShops[i];
|
| | | int seconds = 0;
|
| | | int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow, flashShop.dayIndex,flashShop.timeIndex,out seconds);
|
| | | var saleItems = operation.flashShops[i].items;
|
| | | for (int j = 0; j < saleItems.Length; j++)
|
| | | {
|
| | | int pushId = FlashRushToBuy * 10 + saleItems[j].shopGuid;
|
| | | if (buyState == -1 && seconds > 800 && saleItems[j].isAppointment == 1)
|
| | | {
|
| | | int remainSecond = seconds - 600;
|
| | | SendPushInfo(GetPushJsonData(pushId, remainSecond, "限时抢购", "亲爱的道友,您预约的限时抢购商品即将开抢,请尽快进入游戏秒杀!"));
|
| | | }
|
| | | else
|
| | | {
|
| | | RemovePushInfo(pushId);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void RemoveFlashRushToBuyAppointmentByTime()
|
| | | {
|
| | | if (!rushToBuyModel.IsOpen) return;
|
| | |
|
| | | var operation = rushToBuyModel.GetOperationFlashRushToBuy();
|
| | | for (int i = 0; i < operation.flashShops.Count; i++)
|
| | | {
|
| | | var flashShop = operation.flashShops[i];
|
| | | int seconds = 0;
|
| | | int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow, flashShop.dayIndex, flashShop.timeIndex, out seconds);
|
| | | var saleItems = operation.flashShops[i].items;
|
| | | for (int j = 0; j < saleItems.Length; j++)
|
| | | {
|
| | | int pushId = FlashRushToBuy * 10 + saleItems[j].shopGuid;
|
| | | if (buyState != -1)
|
| | | {
|
| | | RemovePushInfo(pushId);
|
| | | }
|
| | | else
|
| | | {
|
| | | if(seconds <= 180)
|
| | | {
|
| | | RemovePushInfo(pushId);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | #endregion
|
| | | public void RemovePushInfo(int pushId)
|
| | | {
|
| | | SDKUtility.Instance.GeTui_RemoveLocalMessage(pushId.ToString());
|
| | |
| | | #endregion
|
| | |
|
| | | #region 初始化系统设置
|
| | | SystemSetting.Instance.SetSoundVolume(1);
|
| | | SystemSetting.Instance.SetSoundEffect(1);
|
| | | SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, false);
|
| | | SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.HideMonster, false);
|
| | | #endregion
|
| | |
| | |
|
| | | public float GetSoundVolume()
|
| | | {
|
| | | return LocalSave.GetFloat(SOUND_VOLUME_KEY, 1);
|
| | | return LocalSave.GetFloat(SOUND_VOLUME_KEY, .55f);
|
| | | }
|
| | |
|
| | | public void SetSoundEffect(float value)
|
| | |
| | |
|
| | | public float GetSoundEffect()
|
| | | {
|
| | | return LocalSave.GetFloat(SOUND_EFFECT_KEY, 1);
|
| | | return LocalSave.GetFloat(SOUND_EFFECT_KEY, .55f);
|
| | | }
|
| | |
|
| | | public void SetGameFps(GameFps _frame)
|
| | |
| | | {
|
| | | DisplayPotentialBook(model.selectedPotentialBook);
|
| | | var levelUpConfig = GetPotentialLevelUpConfig();
|
| | | m_PotentialCount.text = StringUtility.Contact(levelUpConfig.own, "/", levelUpConfig.need);
|
| | | bool satisfy = levelUpConfig.own >= levelUpConfig.need;
|
| | | m_PotentialCount.text = StringUtility.Contact(UIHelper.GetTextColorByItemColor(satisfy ?
|
| | | TextColType.LightYellow : TextColType.Red, levelUpConfig.own.ToString()), "/", levelUpConfig.need);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | | properties[0].gameObject.SetActive(true);
|
| | | properties[0].Display(6, (int)(value * percentWing));
|
| | | properties[0].DisplayUpper(6, (int)(value * percentWing));
|
| | | }
|
| | | break;
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | | m_PreviewPropretys[0].gameObject.SetActive(true);
|
| | | m_PreviewPropretys[0].Display(6, (int)(value * percentWing));
|
| | | m_PreviewPropretys[0].DisplayUpper(6, (int)(value * percentWing));
|
| | | }
|
| | | break;
|
| | | case TreasurePrivilege.DemonJarAtk:
|
| | |
| | | public class RotatePointer : MonoBehaviour
|
| | | {
|
| | | public bool _isRotate = false;//是否旋转
|
| | | public float Speed = 2000;//旋转速度
|
| | | private float Speed = 2000;//旋转速度
|
| | | public float Angle = 0; // 这个是设置停止的角度
|
| | | private float Acceleration = 0;//加速度
|
| | | private float _time;
|
| | |
| | | {
|
| | |
|
| | | }
|
| | | private void OnDisable()
|
| | | {
|
| | | sequence.Kill();
|
| | | }
|
| | | private Sequence sequence;
|
| | | void Update()
|
| | | {
|
| | |
|
| | | if (!_isRotate)
|
| | | { |
| | | if (Math.Abs((360 - Angle) - transform.eulerAngles.z) > 2) |
| | | if (Math.Abs((360 - Angle) - transform.eulerAngles.z) > 0.2 && Angle - transform.eulerAngles.z != 0) |
| | | {
|
| | | transform.DOPause();
|
| | | sequence.Kill();
|
| | | transform.localRotation = Quaternion.Euler(0, 0, -Angle);
|
| | | m_CheckDisplay.ShowSelected(wheelOfFortuneModel.Lattice);
|
| | | if (IsButtonShow != null)
|
| | | {
|
| | | IsButtonShow(true);
|
| | | }
|
| | | _time = 0;
|
| | | IsRotateBool = false;
|
| | | _isRotate = false;
|
| | | }
|
| | | return; //不旋转结束
|
| | | }
|
| | |
| | | {
|
| | | //结束,使用DoTween旋转到结束角度,耗时1秒
|
| | | //这里有个360,使用来防止指针回转的,如果不加这个360,你会看到指针倒退
|
| | | Sequence sequence = DOTween.Sequence();
|
| | | sequence = DOTween.Sequence();
|
| | | sequence.SetAutoKill(false);
|
| | | sequence.Append(transform.DORotate(new Vector3(0, 0, -(360 + Angle)), 2f, RotateMode.FastBeyond360));
|
| | | sequence.AppendCallback(() =>
|
| | | {
|
| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Tuesday, October 09, 2018 |
| | | //-------------------------------------------------------- |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | using UnityEngine.UI; |
| | | |
| | | namespace Snxxz.UI { |
| | | |
| | | public class UIEffectFly:MonoBehaviour {
|
| | | [SerializeField] Transform m_tran1;
|
| | | [SerializeField] Transform m_tran2;
|
| | | [SerializeField] Transform m_tran3;
|
| | | [SerializeField] Transform m_tran4;
|
| | | [SerializeField] Transform m_tran5;
|
| | | [SerializeField] Transform m_tran6;
|
| | | [SerializeField] Transform m_tran7;
|
| | | [SerializeField] Transform m_tran8;
|
| | | [SerializeField] Transform m_tran9; |
| | | |
| | | [SerializeField] Transform m_endTran;
|
| | |
|
| | | [Header("需要生成的个数")]
|
| | | public int NUMBER = 5;
|
| | | [Header("移动的时间")]
|
| | | public float SPEED = 2f;
|
| | | [Header("需要进行延迟的时间")]
|
| | | public float LOADTIME = 0.1f; |
| | | public void StartFly(int Inedx)
|
| | | {
|
| | | switch (Inedx)
|
| | | {
|
| | | case 1:
|
| | | GetVector3Pos(m_tran1.position, m_endTran.position);
|
| | | break;
|
| | | case 2:
|
| | | GetVector3Pos(m_tran2.position, m_endTran.position);
|
| | | break;
|
| | | case 3:
|
| | | GetVector3Pos(m_tran3.position, m_endTran.position);
|
| | | break;
|
| | | case 4:
|
| | | GetVector3Pos(m_tran4.position, m_endTran.position);
|
| | | break;
|
| | | case 5:
|
| | | GetVector3Pos(m_tran5.position, m_endTran.position);
|
| | | break;
|
| | | case 6:
|
| | | GetVector3Pos(m_tran6.position, m_endTran.position);
|
| | | break;
|
| | | case 7:
|
| | | GetVector3Pos(m_tran7.position, m_endTran.position);
|
| | | break;
|
| | | case 8:
|
| | | GetVector3Pos(m_tran8.position, m_endTran.position);
|
| | | break;
|
| | | case 9:
|
| | | GetVector3Pos(m_tran9.position, m_endTran.position);
|
| | | break;
|
| | | }
|
| | |
|
| | | } |
| | | |
| | | private void GetVector3Pos(Vector3 StartVec,Vector3 endVec)
|
| | | {
|
| | | var direction = Vector3.Normalize(StartVec - endVec);
|
| | | var normal = new Vector3(-direction.y, direction.x, 0);
|
| | | var distance = Vector3.Distance(StartVec, endVec);
|
| | | int Type = 0;
|
| | | int Type1 = 0;
|
| | | for (int i = 0; i < NUMBER; i++)
|
| | | {
|
| | | var pivot = StartVec + normal * UnityEngine.Random.Range(-distance, distance) * 0.7f + direction * distance * 0.4f;
|
| | | var effect = EffectMgr.Instance.PlayUIEffect(5134,2500, this.transform, true);
|
| | | effect.transform.position = StartVec;
|
| | | var bezierMove = effect.AddMissingComponent<BezierMove>();
|
| | | bezierMove.duration = (SPEED - i * LOADTIME);
|
| | | Type += 1;
|
| | | bezierMove.Begin(StartVec, pivot, endVec, () =>
|
| | | {
|
| | | Type1 += 1;
|
| | | effect.Stop();
|
| | | DestroyObject(bezierMove);
|
| | | if (Type == Type1)
|
| | | {
|
| | | // OnComplet();
|
| | | }
|
| | |
|
| | | });
|
| | | }
|
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to System/Vip/VipInvest/UIEffectFly.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | licenseType: Pro |
| | | guid: cd341680a37e9b14d92099dbcb899a44 |
| | | timeCreated: 1539072327 |
| | | licenseType: Free |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | |
| | | { |
| | | Lattice = Info.Index; |
| | | Number = Info.Cnt; |
| | | if (IsOk) |
| | | if (IsOk && Info.Index!=0) |
| | | { |
| | | if (AngleDic.ContainsKey(Lattice)) |
| | | { |
| | |
| | | if (flo > 360f) |
| | | { |
| | | flo = flo - 360f; |
| | | } |
| | | if (Math.Abs(flo- AngleSave)<=0.2)
|
| | | {
|
| | | if ((flo + 1f )> (AngleDic[Lattice].AngleStart + 1f) && (flo + 1f) < (AngleDic[Lattice].AngleEnd - 1f))
|
| | | {
|
| | | flo += 1;
|
| | | }
|
| | | else if ((flo - 1f) > (AngleDic[Lattice].AngleStart + 1f) && (flo - 1f) < (AngleDic[Lattice].AngleEnd - 1f))
|
| | | {
|
| | | flo -= 1;
|
| | | }
|
| | | } |
| | | LocalSave.SetFloat(StrKey, flo); |
| | | AngleSave = LocalSave.GetFloat(StrKey); |
| | |
| | | } |
| | | private void RedPoint() |
| | | { |
| | | if (!FuncOpen.Instance.IsFuncOpen(144) /*|| Number<=0*/) |
| | | if (!FuncOpen.Instance.IsFuncOpen(144)) |
| | | { |
| | | return; |
| | | } |
| | |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using TableConfig;
|
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | |
| | |
| | | public class WheelOfFortuneWin : Window |
| | | { |
| | | [SerializeField] Button m_LotteryBtn;
|
| | | [SerializeField] ImageEx m_LotteryImage;
|
| | | [SerializeField] RotatePointer m_RotatePointer; |
| | | [SerializeField] Toggle m_Toggle;
|
| | | [SerializeField] CheckDisplay m_CheckDisplay;
|
| | | [SerializeField] Text Money1_Text;
|
| | | [SerializeField] Text Money2_Text;
|
| | | [SerializeField] Text m_Text_remainingTimes;
|
| | | [SerializeField] Text m_Text_remainingTimes;//剩余转动次数
|
| | | [SerializeField] Text m_Text_VIPuP;//VIP提升转动次数
|
| | | [SerializeField] Text m_GO;
|
| | | [SerializeField] Button m_PromotionBtn; |
| | | [SerializeField] RotationTween m_RotationTween; |
| | | [SerializeField] GameObject m_RequiredConsumption;
|
| | | [SerializeField] Text m_NeedMoney_Text; |
| | | [SerializeField] UIEffect m_UIEffect_1; |
| | | [Header("滚动时间")]
|
| | | public float RollingTime = 1f; |
| | | public float RollingTime = 1f; |
| | | VipModel m_Vipmodel;
|
| | | VipModel vipmodel { get { return m_Vipmodel ?? (m_Vipmodel = ModelCenter.Instance.GetModel<VipModel>()); } } |
| | | WheelOfFortuneModel wheelOfFortuneModel { get { return ModelCenter.Instance.GetModel<WheelOfFortuneModel>(); } }
|
| | |
| | | } |
| | | |
| | | protected override void OnPreOpen() |
| | | {
|
| | | { |
| | | FairyJade = (int)UIHelper.GetMoneyCnt(2);
|
| | | Money1_Text.text = FairyJade.ToString();
|
| | | Money2_Text.text = UIHelper.GetMoneyCnt(1).ToString();
|
| | | m_NeedMoney_Text.text = wheelOfFortuneModel.NeedJade.ToString();
|
| | | m_RotatePointer.Init();
|
| | | IsLottery();//判断是否拥有次数 |
| | | } |
| | | |
| | | m_LotteryBtn.interactable = true;
|
| | | m_RequiredConsumption.SetActive(true);
|
| | | m_LotteryImage.gray = false;
|
| | | TextGo();
|
| | | IncreaseInFrequency();//次数提升
|
| | | RemainingTimes();//剩余次数 |
| | | }
|
| | | protected override void OnActived()
|
| | | {
|
| | | Money1_Text.transform.localRotation = Quaternion.Euler(0, 0, 0);
|
| | | m_RotationTween.enabled = false;
|
| | | }
|
| | | protected override void OnAfterOpen() |
| | | { |
| | | wheelOfFortuneModel.WheelOfFortuneUpdate += WheelOfFortuneUpdate; |
| | | RotatePointer.IsButtonShow += IsButtonShow;
|
| | | CheckDisplay.EndOfFlashing += EndOfFlashing; |
| | | CheckDisplay.EndOfFlashing += EndOfFlashing; |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418) |
| | | if (wheelOfFortuneModel.redPointStre1.state == RedPointState.Simple)
|
| | | {
|
| | | int GetDayOfYear = DateTime.Now.DayOfYear;
|
| | |
| | | wheelOfFortuneModel.WheelOfFortuneUpdate -= WheelOfFortuneUpdate;
|
| | | RotatePointer.IsButtonShow -= IsButtonShow;
|
| | | CheckDisplay.EndOfFlashing -= EndOfFlashing; |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418) |
| | | }
|
| | |
|
| | | private void Updatefighting(PlayerDataRefresh obj)
|
| | | {
|
| | | if (obj == PlayerDataRefresh.VIPLv)
|
| | | {
|
| | | TextGo();
|
| | | RemainingTimes();//剩余次数
|
| | | IncreaseInFrequency();//次数提升
|
| | | }
|
| | | if (obj == PlayerDataRefresh.Gold)
|
| | | {
|
| | | Money2_Text.text = UIHelper.GetMoneyCnt(1).ToString();
|
| | | }
|
| | | }
|
| | |
|
| | | private void EndOfFlashing()
|
| | | {
|
| | | TiedJadeChange();
|
| | | m_UIEffect_1.Play();
|
| | | }
|
| | |
|
| | | private void WheelOfFortuneUpdate(float Angel)
|
| | | {
|
| | | m_LotteryBtn.interactable = false;
|
| | | m_RequiredConsumption.SetActive(false);
|
| | | m_LotteryImage.gray = true;
|
| | | m_RotatePointer.SetTime(m_Toggle.isOn);
|
| | | IsLottery();
|
| | | TextGo();
|
| | | RemainingTimes();//剩余次数
|
| | | IncreaseInFrequency();//次数提升
|
| | | }
|
| | |
|
| | | protected override void OnAfterClose() |
| | |
| | | |
| | | private void OnClickButton()
|
| | | {
|
| | | m_CheckDisplay.CloseAll();
|
| | | wheelOfFortuneModel.StartTheDraw();//开始抽奖 |
| | | int LotteryNumber = vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.BindJadeWheel);
|
| | | if (LotteryNumber <= wheelOfFortuneModel.Number)
|
| | | {
|
| | | LackOfVIP(); //VIP 不足
|
| | | return;
|
| | | }
|
| | | else if (LotteryNumber > wheelOfFortuneModel.Number && (int)UIHelper.GetMoneyCnt(1) < wheelOfFortuneModel.NeedJade)
|
| | | {
|
| | | LackFairyJade();//仙玉不足
|
| | | return;
|
| | | }
|
| | | else if (LotteryNumber > wheelOfFortuneModel.Number && (int)UIHelper.GetMoneyCnt(1) >= wheelOfFortuneModel.NeedJade)
|
| | | {
|
| | | m_CheckDisplay.CloseAll();
|
| | | FairyJade = (int)UIHelper.GetMoneyCnt(2);
|
| | | Money1_Text.text = FairyJade.ToString();
|
| | | wheelOfFortuneModel.StartTheDraw();//开始抽奖
|
| | | }
|
| | | } |
| | | private void OnClickToggle(bool _bool)
|
| | | {
|
| | |
| | | }
|
| | | }
|
| | | private void OnClickPromotionBtn()
|
| | | { |
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc4);
|
| | | {
|
| | | if (PlayerDatas.Instance.baseData.VIPLv >= 10)
|
| | | {
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc1);
|
| | | }
|
| | | else
|
| | | {
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc4);
|
| | | }
|
| | | |
| | | }
|
| | | private void IsButtonShow(bool _bool)//是否可点击旋转
|
| | | {
|
| | | m_LotteryBtn.interactable = _bool;
|
| | | } |
| | | |
| | | private void IsLottery()
|
| | | {
|
| | | int LotteryNumber = vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.BindJadeWheel);
|
| | | if (LotteryNumber > wheelOfFortuneModel.Number)
|
| | | {
|
| | | remainingTimes = LotteryNumber - wheelOfFortuneModel.Number;
|
| | | m_LotteryBtn.interactable = true;
|
| | | }
|
| | | else
|
| | | {
|
| | | m_LotteryBtn.interactable = false;
|
| | | }
|
| | | m_RequiredConsumption.SetActive(_bool);
|
| | | m_LotteryImage.gray = !_bool;
|
| | | } |
| | | private Sequence mScoreSequence; |
| | | private void TiedJadeChange()//绑玉变化
|
| | | {
|
| | | m_RotationTween.enabled = true;
|
| | | mScoreSequence = DOTween.Sequence();
|
| | | mScoreSequence.SetAutoKill(false);
|
| | | mScoreSequence.Append(DOTween.To(delegate(float value) |
| | | mScoreSequence.Append(DOTween.To(delegate (float value)
|
| | | {
|
| | | var temp = Math.Floor(value);
|
| | | Money1_Text.text = temp + "";
|
| | | }, FairyJade,(int)UIHelper.GetMoneyCnt(2), RollingTime));
|
| | | }, FairyJade, (int)UIHelper.GetMoneyCnt(2), RollingTime));
|
| | | mScoreSequence.AppendCallback(() =>
|
| | | {
|
| | | Money1_Text.transform.localRotation = Quaternion.Euler(0, 0, 0);
|
| | | m_RotationTween.enabled = false;
|
| | |
|
| | | });
|
| | | FairyJade = (int)UIHelper.GetMoneyCnt(2);
|
| | | } |
| | | |
| | | private void LackOfVIP()//VIP 不足
|
| | | {
|
| | | string str = Language.Get("Turntable_2");
|
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), str, (bool isOk) =>
|
| | | {
|
| | | if (isOk)
|
| | | {
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc4);
|
| | | }
|
| | | });
|
| | |
|
| | | } |
| | | private void LackFairyJade()//仙玉不足
|
| | | {
|
| | | if (VersionConfig.Get().isBanShu)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("GoldErr");
|
| | | return;
|
| | | }
|
| | | WindowCenter.Instance.Open<RechargeTipWin>();
|
| | | } |
| | | |
| | | private void RemainingTimes()//剩余次数
|
| | | {
|
| | | int LotteryNumber = vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.BindJadeWheel);
|
| | | if (LotteryNumber > wheelOfFortuneModel.Number)
|
| | | {
|
| | | m_Text_remainingTimes.text =(LotteryNumber - wheelOfFortuneModel.Number).ToString();
|
| | | }
|
| | | else
|
| | | {
|
| | | m_Text_remainingTimes.text = 0.ToString();
|
| | | }
|
| | |
|
| | | } |
| | | |
| | | |
| | | private void IncreaseInFrequency()//次数提升
|
| | | {
|
| | | if (PlayerDatas.Instance.baseData.VIPLv >= 10)
|
| | | {
|
| | | m_Text_VIPuP.gameObject.SetActive(false);
|
| | | return;
|
| | | }
|
| | | else
|
| | | {
|
| | | m_Text_VIPuP.gameObject.SetActive(true);
|
| | | }
|
| | | int LotteryNumber = vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.BindJadeWheel);
|
| | | for (int i = 0; i <= 10; i++)
|
| | | {
|
| | | var VipConfig = VipPrivilegeConfig.GetVipPrivilegeData(VipPrivilegeType.BindJadeWheel, i);
|
| | | if (VipConfig != 0 && VipConfig > LotteryNumber)
|
| | | {
|
| | | int type = i;
|
| | | int number = VipConfig - LotteryNumber;
|
| | | m_Text_VIPuP.text = string.Format(Language.Get("Turntable_1"), type, Number(number));
|
| | | return;
|
| | | }
|
| | | }
|
| | | } |
| | | private string Number(int number)
|
| | | {
|
| | | string Str = string.Empty;
|
| | | switch (number)
|
| | | {
|
| | | case 1:
|
| | | Str = Language.Get("Num_CHS_1");
|
| | | return Str;
|
| | | case 2:
|
| | | Str = Language.Get("Num_CHS_2");
|
| | | return Str;
|
| | | case 3:
|
| | | Str = Language.Get("Num_CHS_3");
|
| | | return Str;
|
| | | case 4:
|
| | | Str = Language.Get("Num_CHS_4");
|
| | | return Str;
|
| | | case 5:
|
| | | Str = Language.Get("Num_CHS_5");
|
| | | return Str;
|
| | | case 6:
|
| | | Str = Language.Get("Num_CHS_6");
|
| | | return Str;
|
| | | case 7:
|
| | | Str = Language.Get("Num_CHS_7");
|
| | | return Str;
|
| | | case 8:
|
| | | Str = Language.Get("Num_CHS_8");
|
| | | return Str;
|
| | | case 9:
|
| | | Str = Language.Get("Num_CHS_9");
|
| | | return Str;
|
| | | case 10:
|
| | | Str = Language.Get("Num_CHS_10");
|
| | | return Str;
|
| | | }
|
| | | return Str;
|
| | | } |
| | | |
| | | private void TextGo()
|
| | | {
|
| | | if (PlayerDatas.Instance.baseData.VIPLv >= 10)
|
| | | {
|
| | | m_GO.text = Language.Get("Turntable_4");
|
| | | }
|
| | | else
|
| | | {
|
| | | m_GO.text = Language.Get("Turntable_3");
|
| | | }
|
| | | } |
| | | #endregion |
| | |
|
| | | } |
| | |
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 限时抢购
|
| | | /// </summary>
|
| | | /// <param name="package"></param>
|
| | | public void UpdateFlashRushToBuy(HAA17_tagMCFlashSaleInfo package)
|
| | | {
|
| | | OperationBase operationBase = null;
|
| | | operationDict.TryGetValue(Operation.FlashRushToBuy, out operationBase);
|
| | | if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
|
| | | {
|
| | | ForceStopOperation(Operation.FlashRushToBuy);
|
| | | }
|
| | | else
|
| | | {
|
| | | if (operationBase == null)
|
| | | {
|
| | | operationBase = new OperationFlashRushToBuy();
|
| | | operationDict.Add(Operation.FlashRushToBuy, operationBase);
|
| | | }
|
| | | OperationFlashRushToBuy operation = operationBase as OperationFlashRushToBuy;
|
| | | operation.Reset();
|
| | | operation.limitLv = package.LimitLV;
|
| | | operation.startDate = ParseOperationDate(package.StartDate);
|
| | | operation.endDate = ParseOperationDate(package.EndtDate);
|
| | | operation.dayReset = package.IsDayReset == 1;
|
| | | operation.inAdvanceMinute = package.AdvanceMinutes;
|
| | | for (int i = 0; i < package.ActivityTimeCount; i++)
|
| | | {
|
| | | operation.times.Add(ParseOperationTime(package.ActivityTime[i].StartTime,
|
| | | package.ActivityTime[i].EndtTime));
|
| | | }
|
| | | operation.ParsePackage(package);
|
| | | if (operationTimeUpdateEvent != null)
|
| | | {
|
| | | operationTimeUpdateEvent(Operation.FlashRushToBuy);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 限时礼包
|
| | | /// </summary>
|
| | | /// <param name="package"></param>
|
| | |
| | | {
|
| | | MultipleExp,
|
| | | ConsumeRebate,
|
| | | FlashSale,
|
| | | FlashSale,//限时特惠
|
| | | BossReborn,
|
| | | GiftPackage,
|
| | | FairyCeremony, //仙界盛典
|
| | | MultipRealmPoint, //N倍修行点
|
| | | FlashRushToBuy, //限时抢购
|
| | | max,
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | Btn_InSeven.gameObject.SetActive(true);
|
| | | }
|
| | | if (FuncOpen.Instance.IsFuncOpen(144))
|
| | | {
|
| | | m_TurntableBtn.gameObject.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_TurntableBtn.gameObject.SetActive(false);
|
| | | }
|
| | | CheckOperationOpen();
|
| | |
|
| | |
|
| | |
| | | RegisterModel<FeatureNoticeModel>();
|
| | | RegisterModel<AwardExchangeModel>();
|
| | | RegisterModel<WheelOfFortuneModel>();
|
| | | RegisterModel<FlashRushToBuyModel>();
|
| | | RegisterModel<TalentModel>();
|
| | | RegisterModel<OpenServerActivityNotifyModel>();
|
| | | inited = true;
|
| | | }
|
| | |
|
| | |
| | | case JumpUIType.WelfareFunc2:
|
| | | case JumpUIType.WelfareFunc3:
|
| | | case JumpUIType.WelfareFunc2Type2:
|
| | | case JumpUIType.BindGoldWheel:
|
| | | SetJumpLogic<WelfareWin>(_tagWinSearchModel.TABID);
|
| | | break;
|
| | | case JumpUIType.SystemSettingFunc1:
|
| | |
| | | DogzFunc1Type2 = 249, //神兽界面
|
| | | DogzFunc2Type1 = 250, //神兽强化界面
|
| | | DogzFunc2Type2 = 251, //神兽强化界面
|
| | | BindGoldWheel = 252, //绑玉转盘界面
|
| | | DhszTs = 1001,//定海神针功法提升界面
|
| | | HyqTs = 1002,//皓月枪功法提升界面
|
| | | GyzTs = 1003,//鬼牙刃功法提升界面
|
| | |
| | | }
|
| | |
|
| | | public bool itemBind { get; private set; }
|
| | | public int itemQuality { get; private set; }
|
| | |
|
| | | private void Awake()
|
| | | {
|
| | |
| | |
|
| | | public void SetItem(Item _item)
|
| | | {
|
| | | SetItem(_item.id, _item.count, _item.bind);
|
| | | SetItem(_item.id, _item.count, _item.bind, _item.quality);
|
| | | }
|
| | |
|
| | | public void SetItem(int _id, int _count, bool _bind = false)
|
| | | public void SetItem(int _id, int _count, bool _bind = false, int _quality = 0)
|
| | | {
|
| | | itemId = _id;
|
| | | itemCount = _count;
|
| | | itemBind = _bind;
|
| | | itemQuality = _quality;
|
| | | DisplayBaseInfo();
|
| | | DisplayCount();
|
| | | }
|
| | |
| | | if (backGround != null)
|
| | | {
|
| | | backGround.gameObject.SetActive(true);
|
| | | backGround.SetItemBackGround(itemInfo.ItemColor);
|
| | |
|
| | | backGround.SetItemBackGround(itemQuality != 0 ? itemQuality : itemInfo.ItemColor);
|
| | | }
|
| | |
|
| | | if (m_Stars != null)
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | if (m_Bind!=null)
|
| | | if (m_Bind != null)
|
| | | {
|
| | | m_Bind.gameObject.SetActive(itemBind);
|
| | | }
|
| | |
| | | var animator = model.GetComponent<Animator>();
|
| | | if (animator != null)
|
| | | {
|
| | | var suffix = AnimatorControllerLoader.controllerUISuffix;
|
| | | var animatorController = AnimatorControllerLoader.LoadMobController(suffix, config.MODE);
|
| | | if (animatorController != null)
|
| | | {
|
| | | animator.runtimeAnimatorController = animatorController;
|
| | | }
|
| | |
|
| | | var isDance = false;
|
| | | if (config.NPCType == (int)E_NpcType.Func)
|
| | | {
|
| | | var clipInfos = animator.runtimeAnimatorController.animationClips;
|
| | | foreach (var item in clipInfos)
|
| | | {
|
| | | if (item.name == "Idle2")
|
| | | {
|
| | | isDance = true;
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | animator.enabled = true;
|
| | | animator.SetInteger(GAStaticDefine.Param_Action, GAStaticDefine.Act_Idle);
|
| | | animator.Play(GAStaticDefine.State_IdleHash);
|
| | | if (isDance)
|
| | | {
|
| | | animator.Play(GAStaticDefine.State_Dance);
|
| | | }
|
| | | else
|
| | | {
|
| | | animator.SetInteger(GAStaticDefine.Param_Action, GAStaticDefine.Act_Idle);
|
| | | animator.Play(GAStaticDefine.State_IdleHash);
|
| | | }
|
| | | }
|
| | |
|
| | | LayerUtility.SetLayer(model, LayerUtility.Monster, true);
|
| New file |
| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | |
| | | public class DebugMousePos : MonoBehaviour |
| | | { |
| | | [SerializeField] Text m_Content; |
| | | float timer = 0.5f; |
| | | |
| | | private void LateUpdate() |
| | | { |
| | | if (CameraController.Instance == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | timer += Time.deltaTime; |
| | | if (timer > 0.5f) |
| | | { |
| | | timer = 0f; |
| | | |
| | | Camera _mainCamera = CameraController.Instance.CameraObject; |
| | | RaycastHit _hitInfo; |
| | | Ray _ray = _mainCamera.ScreenPointToRay(Input.mousePosition); |
| | | |
| | | if (Physics.Raycast(_ray, out _hitInfo, 100, LayerUtility.WalkbleMask) == false) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | m_Content.text = StringUtility.Contact("M Pos:", new Vector2(_hitInfo.point.x * 2f + GA_Hero.MapOffset.x, _hitInfo.point.z * 2f + GA_Hero.MapOffset.z)); |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
copy from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta
copy to Utility/DebugMousePos.cs.meta
| File was copied from Core/GameEngine/Model/Config/BlastFurnaceLVConfig.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1bbbc87171e60f949bb6b7572c73fa38 |
| | | timeCreated: 1515213620 |
| | | licenseType: Pro |
| | | guid: 6162cab73fd1bea43b8c540484a634f3 |
| | | timeCreated: 1539425015 |
| | | licenseType: Free |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | |
| | | Def_IudetSuiteLV = 30, //套装等级
|
| | | Def_IudetDogzEquipPlus = 31, // 神兽装备强化信息列表 [强化等级, 强化熟练度]
|
| | | Def_IudetHasOpenCnt = 32, // 物品累积开启次数
|
| | | Def_IudetItemDecompound = 33, //合成物品拆解返还物品列表 [装备ID,材料1ID,个数,是否绑定,材料2ID,个数,是否绑定,...]
|
| | | Def_IudetCreateItemLoginDay = 34, //创建物品时的登录天数
|
| | | Def_IudetLastOpenItemLoginDay = 36, //上一次开启物品时的登录天数
|
| | | Def_IudetRuneLV = 38, // 符印等级
|
| | |
| | | {
|
| | | makeUse, //使用
|
| | | putOn, //穿上
|
| | | dismantle, //拆解合成装备
|
| | | split, //拆分
|
| | | putAway,//上架
|
| | | inlay, //镶嵌
|
| | |
| | | public event Action tenMinuteEvent; |
| | | public event Action halfHourEvent; |
| | | public event Action hourEvent;
|
| | | public event Action halfMinuteEvent;
|
| | |
|
| | | int secondBuf = -1;
|
| | | int minuteBuf = -1;
|
| | |
| | | int tenMinuteBuf = -1;
|
| | | int halfHourBuf = -1;
|
| | | int hourBuf = -1;
|
| | | int halfMinuteBuf = -1;
|
| | |
|
| | | public void Begin()
|
| | | {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | var thirtySeconds = second / 30;
|
| | | if (halfMinuteBuf != thirtySeconds)
|
| | | {
|
| | | try
|
| | | {
|
| | | if (halfMinuteEvent != null)
|
| | | {
|
| | | halfMinuteEvent();
|
| | | }
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | Debug.LogException(ex);
|
| | | }
|
| | | finally
|
| | | {
|
| | | halfMinuteBuf = thirtySeconds;
|
| | | }
|
| | | }
|
| | |
|
| | | var fiveMinute = minute / 5;
|
| | | if (fiveMinuteBuf != fiveMinute)
|
| | | {
|