Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -422,6 +422,9 @@ Register(typeof(HAC09_tagGCFairyCeremonyInfo), typeof(DTCAC09_tagGCFairyCeremonyInfo)); Register(typeof(HAA14_tagMCXJSDRecharge), typeof(DTCAA14_tagMCXJSDRecharge)); Register(typeof(HAA15_tagMCAllPeoplePartyInfo), typeof(DTCAA15_tagMCAllPeoplePartyInfo)); Register(typeof(HAC0B_tagGCNewFairyCeremonyInfo), typeof(DTCAC0B_tagGCNewFairyCeremonyInfo)); Register(typeof(HAA22_tagMCNewXJSDRecharge), typeof(DTCAA22_tagMCNewXJSDRecharge)); Register(typeof(HAA23_tagMCNewAllPeoplePartyInfo), typeof(DTCAA23_tagMCNewAllPeoplePartyInfo)); #endregion #region 神兽 Core/GameEngine/Model/Config/NewAllPeoplePartyAwardConfig.cs
New file @@ -0,0 +1,50 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, January 28, 2019 //-------------------------------------------------------- using UnityEngine; using System; namespace TableConfig { public partial class NewAllPeoplePartyAwardConfig : ConfigBase { public int ID { get ; private set ; } public int WorldLvNum { get ; private set ; } public int Index { get ; private set ; } public int NeedPoint { get ; private set ; } public string Award { get ; private set; } public override string getKey() { return ID.ToString(); } public override void Parse() { try { ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; WorldLvNum=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; Index=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; NeedPoint=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; Award = rawContents[4].Trim(); } catch (Exception ex) { DebugEx.Log(ex); } } } } Core/GameEngine/Model/Config/NewAllPeoplePartyAwardConfig.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: dc45dc5c333241a4aa6a86d6582345d4 timeCreated: 1548641231 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/GameEngine/Model/Config/NewAllPeoplePartyConfig.cs
New file @@ -0,0 +1,56 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, January 28, 2019 //-------------------------------------------------------- using UnityEngine; using System; namespace TableConfig { public partial class NewAllPeoplePartyConfig : ConfigBase { public int ID { get ; private set ; } public int TotalTimes { get ; private set ; } public int AddPoint { get ; private set ; } public string TaskDes { get ; private set; } public int FuncID { get ; private set ; } public int JumpId { get ; private set ; } public string IconKey { get ; private set; } public override string getKey() { return ID.ToString(); } public override void Parse() { try { ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; TotalTimes=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; AddPoint=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; TaskDes = rawContents[3].Trim(); FuncID=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0; JumpId=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0; IconKey = rawContents[6].Trim(); } catch (Exception ex) { DebugEx.Log(ex); } } } } Core/GameEngine/Model/Config/NewAllPeoplePartyConfig.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 01085571ea414574ab820a603c95a7e4 timeCreated: 1548641216 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/GameEngine/Model/Config/NewUniquenessArriveConfig.cs
New file @@ -0,0 +1,47 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, January 28, 2019 //-------------------------------------------------------- using UnityEngine; using System; namespace TableConfig { public partial class NewUniquenessArriveConfig : ConfigBase { public int ID { get ; private set ; } public int WorldLvNum { get ; private set ; } public int Rank { get ; private set ; } public string Award { get ; private set; } public override string getKey() { return ID.ToString(); } public override void Parse() { try { ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; WorldLvNum=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; Rank=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; Award = rawContents[3].Trim(); } catch (Exception ex) { DebugEx.Log(ex); } } } } Core/GameEngine/Model/Config/NewUniquenessArriveConfig.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 87366e89b63cd3342857f3a053af847d timeCreated: 1548641281 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/GameEngine/Model/ConfigManager.cs
@@ -192,6 +192,9 @@ AddAsyncTask<UniquenessArriveConfig>(); AddAsyncTask<AllPeoplePartyConfig>(); AddAsyncTask<AllPeoplePartyAwardConfig>(); AddAsyncTask<NewUniquenessArriveConfig>(); AddAsyncTask<NewAllPeoplePartyConfig>(); AddAsyncTask<NewAllPeoplePartyAwardConfig>(); AddAsyncTask<OrderInfoConfig>(); AddAsyncTask<TrialExchangeConfig>(); AddAsyncTask<DogzDungeonConfig>(); Core/GameEngine/Model/Player/Rank/PlayerRankData.cs
@@ -124,6 +124,7 @@ OpenServerRecharge = 21, OpenServerPet = 22, JadeDynastyTower=23,//诛仙塔排行榜 Def_BT_NewFCCostGold = 24, //消费排行榜(新仙界盛典) 24 } public class RankData Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA22_tagMCNewXJSDRecharge.cs
New file @@ -0,0 +1,21 @@ using UnityEngine; using System.Collections; using Snxxz.UI; // AA 22 新仙界盛典充值大礼 #tagMCNewXJSDRecharge public class DTCAA22_tagMCNewXJSDRecharge : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HAA22_tagMCNewXJSDRecharge vNetData = vNetPack as HAA22_tagMCNewXJSDRecharge; var model = ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); model.GetServerRechargeInfo(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA22_tagMCNewXJSDRecharge.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: e8bcbd5d6d737b04196d56af34ff8f19 timeCreated: 1548645936 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA23_tagMCNewAllPeoplePartyInfo.cs
New file @@ -0,0 +1,21 @@ using UnityEngine; using System.Collections; using Snxxz.UI; // AA 23 新仙界盛典全民来嗨玩家信息 #tagMCNewAllPeoplePartyInfo public class DTCAA23_tagMCNewAllPeoplePartyInfo : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HAA23_tagMCNewAllPeoplePartyInfo vNetData = vNetPack as HAA23_tagMCNewAllPeoplePartyInfo; var model = ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); model.GetServerPeopleInfo(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA23_tagMCNewAllPeoplePartyInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: b58ea3beec5473f40beee65664f5c52f timeCreated: 1548645936 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC0B_tagGCNewFairyCeremonyInfo.cs
New file @@ -0,0 +1,21 @@ using UnityEngine; using System.Collections; using Snxxz.UI; // AC 0B 新仙界盛典活动信息 #tagGCNewFairyCeremonyInfo public class DTCAC0B_tagGCNewFairyCeremonyInfo : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HAC0B_tagGCNewFairyCeremonyInfo vNetData = vNetPack as HAC0B_tagGCNewFairyCeremonyInfo; var model = ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); model.GetServerActiveInfo(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC0B_tagGCNewFairyCeremonyInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: b35fcff20e831be44b8cd523fd6dd60d timeCreated: 1548645936 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA22_tagMCNewXJSDRecharge.cs
New file @@ -0,0 +1,17 @@ using UnityEngine; using System.Collections; // AA 22 新仙界盛典充值大礼 #tagMCNewXJSDRecharge public class HAA22_tagMCNewXJSDRecharge : GameNetPackBasic { public byte State; //0-不可领 1-可领 2-已领取 public HAA22_tagMCNewXJSDRecharge () { _cmd = (ushort)0xAA22; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out State, vBytes, NetDataType.BYTE); } } Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA22_tagMCNewXJSDRecharge.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: ece86af19cf032a488d22e51682d5ab6 timeCreated: 1548645937 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA23_tagMCNewAllPeoplePartyInfo.cs
New file @@ -0,0 +1,33 @@ using UnityEngine; using System.Collections; // AA 23 新仙界盛典全民来嗨玩家信息 #tagMCNewAllPeoplePartyInfo public class HAA23_tagMCNewAllPeoplePartyInfo : GameNetPackBasic { public uint CurPoint; //当前总点数 public uint AwardRecord; //领奖记录 按奖励索引二进制位存储是否已领取 public byte Count; public tagMCNewAllPeoplePartyCount[] BuyCountList; //活动完成次数信息 public HAA23_tagMCNewAllPeoplePartyInfo () { _cmd = (ushort)0xAA23; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out CurPoint, vBytes, NetDataType.DWORD); TransBytes (out AwardRecord, vBytes, NetDataType.DWORD); TransBytes (out Count, vBytes, NetDataType.BYTE); BuyCountList = new tagMCNewAllPeoplePartyCount[Count]; for (int i = 0; i < Count; i ++) { BuyCountList[i] = new tagMCNewAllPeoplePartyCount(); TransBytes (out BuyCountList[i].ActID, vBytes, NetDataType.DWORD); TransBytes (out BuyCountList[i].CurTimes, vBytes, NetDataType.WORD); } } public struct tagMCNewAllPeoplePartyCount { public uint ActID; //活动ID public ushort CurTimes; //已完成次数 } } Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA23_tagMCNewAllPeoplePartyInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 5a952a9c068761b409b457f19e45960f timeCreated: 1548645936 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HAC_Activity/HAC0B_tagGCNewFairyCeremonyInfo.cs
New file @@ -0,0 +1,25 @@ using UnityEngine; using System.Collections; // AC 0B 新仙界盛典活动信息 #tagGCNewFairyCeremonyInfo public class HAC0B_tagGCNewFairyCeremonyInfo : GameNetPackBasic { public string StartDate; // 开始日期 y-m-d public string EndtDate; // 结束日期 y-m-d public ushort WorldLV; // 世界等级 public ushort LimitLV; // 限制等级 public byte ResetType; // 重置类型 0-0点重置 1-5点重置 public HAC0B_tagGCNewFairyCeremonyInfo () { _cmd = (ushort)0xAC0B; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out StartDate, vBytes, NetDataType.Chars, 10); TransBytes (out EndtDate, vBytes, NetDataType.Chars, 10); TransBytes (out WorldLV, vBytes, NetDataType.WORD); TransBytes (out LimitLV, vBytes, NetDataType.WORD); TransBytes (out ResetType, vBytes, NetDataType.BYTE); } } Core/NetworkPackage/ServerPack/HAC_Activity/HAC0B_tagGCNewFairyCeremonyInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 2e9d907361017904abe277919823d31a timeCreated: 1548645936 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Fight/Actor/HeroBehaviour.cs
@@ -448,7 +448,7 @@ && skill.skillInfo.config.AtkType != (int)E_AtkType.FlashMove) { GActorFight _fight = m_Hero.LockTarget as GActorFight; if (m_Hero.LockTarget != null && _fight.CanAtked()) if (_fight != null && _fight.CanAtked()) { skill.targetPosition = m_Hero.LockTarget.Pos; } @@ -463,7 +463,7 @@ Vector3 _dir; float _radius = 0.5f; GActorFight _fight = m_Hero.LockTarget as GActorFight; if (m_Hero.LockTarget != null && _fight.CanAtked()) if (_fight != null && _fight.CanAtked()) { GActorNpcFight _npcFight = m_Hero.LockTarget as GActorNpcFight; if (_npcFight != null) @@ -477,7 +477,7 @@ else if (m_Hero.SelectTarget != null) { GActorNpcFight _npcFight = m_Hero.SelectTarget as GActorNpcFight; if (_npcFight != null) if (_npcFight != null && _fight.CanAtked()) { _radius = _npcFight.NpcConfig.ModelRadius; } Fight/GameActor/GA_Guard.cs
@@ -1,5 +1,5 @@ using System; using System; using System.Collections; using Snxxz.UI; using TableConfig; @@ -130,8 +130,8 @@ { deadModel.AllPlayerDieEvent -= AllPlayerDieEvent; deadModel.AllPlayerRebornEvent -= AllPlayerRebornEvent; DTC0429_tagObjResetPos.ResetPlayerPosEvent -= ResetPlayerPosEvent; DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= AfterPlayerDataInitializeEvent; DTC0429_tagObjResetPos.ResetPlayerPosEvent -= ResetPlayerPosEvent; DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= AfterPlayerDataInitializeEvent; DTCA112_tagMCDBPlayer.playerInitEvent -= PlayerInitEvent; if (IsHeroControl) { @@ -153,45 +153,45 @@ pickUpBehaviour = null; base.OnUnit(); } private void AfterPlayerDataInitializeEvent() { SnxxzGame.Instance.StartCoroutine(Co_RecheckPlayLifeState()); } public void PlayerInitEvent() { CheckResetGuardState(); } IEnumerator Co_RecheckPlayLifeState() { yield return null; CheckResetGuardState(); } void CheckResetGuardState() { if (guardState == GuardState.Inter) { var hero = PlayerDatas.Instance.hero; if (hero != null) { if (hero.ActorInfo != null && !hero.ActorInfo.serverDie) { IsPlayerDie = false; IsStateActive = true; if (m_Animator) { m_Animator.enabled = true; } SetPosition(hero.Pos.x / 2, hero.Pos.y / 2); } } } } } private void AfterPlayerDataInitializeEvent() { SnxxzGame.Instance.StartCoroutine(Co_RecheckPlayLifeState()); } public void PlayerInitEvent() { CheckResetGuardState(); } IEnumerator Co_RecheckPlayLifeState() { yield return null; CheckResetGuardState(); } void CheckResetGuardState() { if (guardState == GuardState.Inter) { var hero = PlayerDatas.Instance.hero; if (hero != null) { if (hero.ActorInfo != null && !hero.ActorInfo.serverDie) { IsPlayerDie = false; IsStateActive = true; if (m_Animator) { m_Animator.enabled = true; } SetPosition(hero.Pos.x / 2, hero.Pos.y / 2); } } } } private void ReleasePickUpBehaviour() { if (pickUpBehaviour != null) @@ -244,7 +244,7 @@ m_SFXController.transform.SetParent(mountPoint); m_SFXController.transform.localPosition = Vector3.zero; m_SFXController.transform.localPosition = Vector3.zero; m_SFXController.transform.localEulerAngles = Vector3.zero; } @@ -296,6 +296,25 @@ if (!result || prefab == null) { return; } if (m_Model) { if (NpcConfig != null) { GameObject _toDestroy = InstanceResourcesLoader.LoadNpc(NpcConfig.NPCID); if (_toDestroy) { GameObjectPoolManager.Instance.ReleaseGameObject(_toDestroy, m_Model); } } else { UnityEngine.Object.Destroy(m_Model); } m_Model = null; m_Animator = null; } GAMgr.Instance.RemoveNeedDestroyPrefab(prefab as GameObject); @@ -514,18 +533,18 @@ if (DropItemManager.CheckCanGuardPickUp(Root.position)) { var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); if (dataMapId != 0) { var dungeonConfig = Config.Instance.Get<DungeonOpenTimeConfig>(dataMapId); if (dungeonConfig != null) { if (dungeonConfig.GuardPick == 0) { return false; } } } var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); if (dataMapId != 0) { var dungeonConfig = Config.Instance.Get<DungeonOpenTimeConfig>(dataMapId); if (dungeonConfig != null) { if (dungeonConfig.GuardPick == 0) { return false; } } } if (guardState != GuardState.PickUp) { Fight/Stage/Dungeon/JadeDynastyTowerDungeonStage.cs
@@ -17,10 +17,26 @@ public override void Initialize() { base.Initialize(); var sceneRoot = GameObject.Find("Map113_Zxt"); if (sceneRoot != null) { m_TowerAnimator = sceneRoot.GetComponent<Animator>("Effect/wall"); m_ShowCamera = sceneRoot.GetComponent<Camera>("Effect/wall/Camera_Show"); m_ShowCamera.backgroundColor = CameraController.Instance.CameraObject.backgroundColor; m_ShowCamera.gameObject.SetActive(false); defaultShowCameraPosition = m_ShowCamera.transform.position; defaultShowCameraRotation = m_ShowCamera.transform.rotation; defaultFov = m_ShowCamera.fieldOfView; } } public override void UnInitialize() { CameraController.Instance.CameraObject.enabled = true; CameraManager.uiCamera.enabled = true; StopAllCoroutines(); base.UnInitialize(); } @@ -28,30 +44,97 @@ protected override void OnStageLoadFinish() { base.OnStageLoadFinish(); WindowCenter.Instance.Open<JadeDynastyTowerHintWin>(); var isBottom = model.IsBottomFloor(model.currentFloor); if (!isBottom && model.currentFloor > model.highestPassFloor) { PerformChallengeNextLevel(); } else { model.RequestRefreshMonster(); } } public void PerformChallengeNextLevel() void PerformChallengeNextLevel() { WindowCenter.Instance.Close<DungeonGradeWin>(); WindowCenter.Instance.Close<MapNameHintWin>(); WindowCenter.Instance.Close<JadeDynastyTowerHintWin>(); WindowCenter.Instance.Close<DemonJarBossLifeBarWin>(); model.RequestRefreshMonster(); StartCoroutine("Co_PerformChallengeNextLevel"); } if (PlayerDatas.Instance.hero != null) IEnumerator Co_PerformChallengeNextLevel() { WindowCenter.Instance.Close<JadeDynastyTowerHintWin>(); SoundPlayer.Instance.PlayBackGroundMusicOneShot(258); var config = Config.Instance.Get<JadeDynastyTowerConfig>(model.currentFloor); if (config != null && config.floorIndex > 1) { PlayerDatas.Instance.hero.Behaviour.StartHandupAI(); m_ShowCamera.gameObject.SetActive(true); CameraController.Instance.CameraObject.enabled = false; CameraManager.uiCamera.enabled = false; m_ShowCamera.transform.position = CameraController.Instance.CameraObject.transform.position; m_ShowCamera.transform.rotation = CameraController.Instance.CameraObject.transform.rotation; m_ShowCamera.fieldOfView = CameraController.Instance.CameraObject.fieldOfView; yield return StartCoroutine(Co_CameraLerpTo(m_ShowCamera, defaultShowCameraPosition, defaultShowCameraRotation, defaultFov)); if (m_TowerAnimator != null) { m_TowerAnimator.Play("Fyt_fx_ani_move", 0, 0f); } yield return new WaitForSeconds(3.1f); yield return StartCoroutine(Co_CameraLerpTo(m_ShowCamera, CameraController.Instance.CameraObject.transform.position, CameraController.Instance.CameraObject.transform.rotation, CameraController.Instance.CameraObject.fieldOfView)); model.RequestRefreshMonster(); m_ShowCamera.gameObject.SetActive(false); CameraController.Instance.CameraObject.enabled = true; CameraManager.uiCamera.enabled = true; WindowCenter.Instance.Open<DungeonEndCoolDownWin>(); if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.Behaviour.StartHandupAI(); } var mapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID); var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(); SoundPlayer.Instance.PlayBackGroundMusic(mapResConfig.Music); WindowCenter.Instance.Open<MapNameHintWin>(); WindowCenter.Instance.Open<JadeDynastyTowerHintWin>(); } var mapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID); var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(); SoundPlayer.Instance.PlayBackGroundMusic(mapResConfig.Music); WindowCenter.Instance.Open<DungeonEndCoolDownWin>(); WindowCenter.Instance.Open<MapNameHintWin>(); WindowCenter.Instance.Open<JadeDynastyTowerHintWin>(); } IEnumerator Co_CameraLerpTo(Camera _camera, Vector3 _toPosition, Quaternion _toRotation, float _toFov) { var startPosition = _camera.transform.position; var startRotation = _camera.transform.rotation; var startFov = _camera.fieldOfView; var timer = 0f; var duration = 0.5f; while (timer < duration) { timer += Time.deltaTime; var t = Mathf.Clamp01(timer / duration); _camera.transform.position = Vector3.Lerp(startPosition, _toPosition, t); _camera.transform.rotation = Quaternion.Lerp(startRotation, _toRotation, t); _camera.fieldOfView = Mathf.Lerp(startFov, _toFov, t); yield return null; } _camera.transform.position = _toPosition; _camera.transform.rotation = _toRotation; } } System/GeneralConfig/GeneralDefine.cs
@@ -172,6 +172,7 @@ public static Dictionary<int, int> SgzcRealm { get; private set; } public static int crossServerOneVsOneOpenDay { get; private set; } public static int UISpringDecorate { get; private set; } public static void Init() { @@ -676,6 +677,7 @@ } crossServerOneVsOneOpenDay = GetInt("CrossRealmCfg"); UISpringDecorate = GetInt("UISpringDecorate"); } catch (Exception ex) { System/JadeDynastyTower/JadyDynastyTowerVictoryWin.cs
@@ -70,25 +70,8 @@ protected override void DrawExitTimer(int seconds) { if (dungeonModel.dungeonResult.grade == 5) { m_AwardTimer.text = Language.Get("JadeDynastyRewardTime", Mathf.Clamp(seconds, 0, int.MaxValue)); m_ExitTimer.text = Language.Get("DemonDungeonExit"); } else { m_AwardTimer.text = Language.Get("CoinTaskWin_Btn_Receive"); m_ExitTimer.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp(seconds, 0, int.MaxValue)); } } private void ChallengeNextRuneTower() { var dungeonStage = StageManager.Instance.CurrentStage as JadeDynastyTowerDungeonStage; dungeonStage.PerformChallengeNextLevel(); dungeonModel.UpdateCoolDown(DungeonCoolDownType.LeaveMap, 0); dungeonModel.UpdateCoolDown(DungeonCoolDownType.TowerTake, 0); CloseClick(); m_AwardTimer.text = Language.Get("JadeDynastyRewardTime", Mathf.Clamp(seconds, 0, int.MaxValue)); m_ExitTimer.text = Language.Get("DemonDungeonExit"); } private void DisplayAwardAndExitButton() System/Login/ServerListCenter.cs
@@ -272,6 +272,7 @@ public void SetServerListPlayer(ServerInfoPlayer serverInfoPlayer) { this.serverInfoPlayer = serverInfoPlayer; ProcessRecentServerData(); FiltrateDefaultServerAndServerGroup(); } System/MainInterfacePanel/HighSettingFadeInFadeOut.cs
@@ -119,7 +119,7 @@ private void operationEndEvent(Operation arg1, int arg2) { if (arg1 == Operation.FairyCeremony) if (arg1 == Operation.FairyCeremony || arg1== Operation.NewYearFairyCeremony) { Classify(); } @@ -127,7 +127,7 @@ private void operationStartEvent(Operation arg1, int arg2) { if (arg1 == Operation.FairyCeremony) if (arg1 == Operation.FairyCeremony || arg1 == Operation.NewYearFairyCeremony) { Classify(); } @@ -582,9 +582,30 @@ AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest); } } } else if (IndexOf == 1) { if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.NewYearFairyCeremony))//精灵盛典 { if (AnimationFadeOutDicLow.Count < 6)//------第二层 { SelectCaseRequest selectCaseRequest = new SelectCaseRequest(); selectCaseRequest.Tran = m_GroupIndex_Low.GetChild(i); selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki; selectCaseRequest.Index = highBtnRecord.Index; AnimationFadeOutDicLow.Add(highBtnRecord.Index, selectCaseRequest); } else//------第三层 { SelectCaseRequest selectCaseRequest = new SelectCaseRequest(); selectCaseRequest.Tran = m_GroupIndex_Low.GetChild(i); selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki; selectCaseRequest.Index = highBtnRecord.Index; AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest); } } } else if (IndexOf == 2) { var _funcOrder = 0; if (OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _funcOrder))//精彩活动 @@ -609,9 +630,8 @@ } } } } else if (IndexOf == 2) else if (IndexOf == 3) { bool Isopen = impactRankModel.IsInImpactRank; if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen)//全民冲榜 @@ -634,7 +654,7 @@ } } } else if (IndexOf == 3) else if (IndexOf == 4) { bool Isopen = OpenServerModel.IsOpen; if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen)//7天寻礼 @@ -656,10 +676,8 @@ AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest); } } } else if (IndexOf == 4) else if (IndexOf == 5) { bool Isopen = OpenServerActivityCenter.Instance.IsActivityOpen(14); if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen)//限时抢购 @@ -681,10 +699,8 @@ AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest); } } } else if (IndexOf == 5) else if (IndexOf == 6) { if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && limitedTimePackageItemModel.IsExpired())//限时礼包 { @@ -704,11 +720,9 @@ selectCaseRequest.Index = highBtnRecord.Index; AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest); } } } else if (IndexOf == 6) else if (IndexOf == 7) { bool Isopen = OpenServerActivityCenter.Instance.IsActivityOpen(4); if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen)//限时特惠 @@ -731,10 +745,6 @@ } } } //else if (IndexOf == 7) //{ //} } } } System/MainInterfacePanel/HighSettingTip.cs
@@ -53,6 +53,7 @@ [SerializeField] Button m_FlashRushBtn;//限时抢购 [SerializeField] Button m_CrossServerBtn;//跨服1V1按钮 [SerializeField] Button m_OpenServiceBtn;//周狂欢按钮 [SerializeField] Button m_NewYearBtn;//新年盛典 private bool _bool = true; private int swicthCdTime = 0; private bool IsFadeOut = true; @@ -96,6 +97,7 @@ m_FlashRushBtn.AddListener(OnClickFlashRushBtn); m_CrossServerBtn.AddListener(OnClickCrossServerBtn); m_OpenServiceBtn.AddListener(OnClickOpenServiceBtn); m_NewYearBtn.AddListener(OnClickNewYearBtn); if (_bool) { ColseButton(); @@ -151,6 +153,7 @@ _RuneTaBtn.onClick.RemoveAllListeners(); m_FlashSaleBtn.RemoveAllListeners(); m_AllThePeopleBtn.RemoveAllListeners(); m_NewYearBtn.RemoveAllListeners(); CoroutineMgr.Instance.MainHighTipCdTimeEvent -= OnMainHighTipCdTime; FunctionUnlockFlyObjectTarget.IsPlayerUiEffect -= IsPlayerUiEffect; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange; @@ -390,6 +393,12 @@ WindowCenter.Instance.Open<AchievementActivityWin>(); } void OnClickNewYearBtn() { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<NewYearFairylandCeremonyWin>(); } public void ShowButton()//向上 { System/NewYearFairylandCeremony/NewYearCeremonyCoolTime.cs
@@ -21,7 +21,7 @@ private void RefreshSecond() { int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FairyCeremony); int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.NewYearFairyCeremony); if (seconds > 0) { m_Time.text = StringUtility.Contact("<color=#8DDC11FF>", TimeUtility.SecondsToHMS(seconds), "</color>"); System/NewYearFairylandCeremony/NewYearCeremonyFirepartyWin.cs
@@ -14,9 +14,9 @@ [SerializeField] CommonItemBaisc fireItem; [SerializeField] List<CommonItemBaisc> itemBaiscs = new List<CommonItemBaisc>(); List<FairylandCeremonyModel.AwardItem> itemlist; List<NewYearFairylandCeremonyModel.AwardItem> itemlist; ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } NewYearFairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); } } PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } } @@ -73,7 +73,7 @@ if (i < itemlist.Count) { itemBaiscs[i].gameObject.SetActive(true); FairylandCeremonyModel.AwardItem itemData = itemlist[i]; NewYearFairylandCeremonyModel.AwardItem itemData = itemlist[i]; ItemCellModel cellModel = new ItemCellModel(itemData.itemId, true,(ulong)itemData.itemCount,itemData.isBind); itemBaiscs[i].Init(cellModel); itemBaiscs[i].cellBtn.RemoveAllListeners(); @@ -94,7 +94,7 @@ private void RefreshSecond() { int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FairyCeremony); int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.NewYearFairyCeremony); if (seconds > 0) { remainTimeText.text = StringUtility.Contact("<color=#8DDC11FF>", TimeUtility.SecondsToHMS(seconds), "</color>"); System/NewYearFairylandCeremony/NewYearCeremonyOutOfPrintWin.cs
@@ -18,7 +18,7 @@ [SerializeField] List<CommonItemBaisc> thirdItemlist = new List<CommonItemBaisc>(); ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } NewYearFairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); } } KingFairyModel kingFairyModel { get { return ModelCenter.Instance.GetModel<KingFairyModel>(); } } protected override void BindController() { @@ -55,7 +55,7 @@ private void Init() { ceremonyModel.SendGetRankInfo(PlayerRankData.RankType.Def_BT_FCCostGold); ceremonyModel.SendGetRankInfo(PlayerRankData.RankType.Def_BT_NewFCCostGold); SetRankAward(firstItemlist,ceremonyModel.GetRankAwardByLv(1)); SetRankAward(secondItemlist, ceremonyModel.GetRankAwardByLv(2)); SetRankAward(thirdItemlist, ceremonyModel.GetRankAwardByLv(3)); @@ -66,14 +66,14 @@ private void OnRefreshRankList(int type) { if (type != (int)PlayerRankData.RankType.Def_BT_FCCostGold) return; if (type != (int)PlayerRankData.RankType.Def_BT_NewFCCostGold) return; RefreshRankInfo(); } private void RefreshRankInfo() { List<PlayerRankData.RankData> list = PlayerDatas.Instance.rank.GetRankList((int)PlayerRankData.RankType.Def_BT_FCCostGold); List<PlayerRankData.RankData> list = PlayerDatas.Instance.rank.GetRankList((int)PlayerRankData.RankType.Def_BT_NewFCCostGold); firstNameText.text = Language.Get("CeremoneyOutOfPrint"); secondNameText.text = Language.Get("CeremoneyOutOfPrint"); thirdNameText.text = Language.Get("CeremoneyOutOfPrint"); @@ -123,7 +123,7 @@ private void RefreshSecond() { int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FairyCeremony); int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.NewYearFairyCeremony); if(seconds > 0) { remainTimeText.text = StringUtility.Contact("<color=#8DDC11FF>", TimeUtility.SecondsToHMS(seconds), "</color>"); @@ -135,7 +135,7 @@ } private void SetRankAward(List<CommonItemBaisc> baiscs,List<FairylandCeremonyModel.AwardItem> list) private void SetRankAward(List<CommonItemBaisc> baiscs,List<NewYearFairylandCeremonyModel.AwardItem> list) { if (list == null) return; @@ -144,7 +144,7 @@ if (i < list.Count) { baiscs[i].gameObject.SetActive(true); FairylandCeremonyModel.AwardItem itemData = list[i]; NewYearFairylandCeremonyModel.AwardItem itemData = list[i]; ItemCellModel cellModel = new ItemCellModel(itemData.itemId, true,(ulong)itemData.itemCount,itemData.isBind); baiscs[i].Init(cellModel); baiscs[i].cellBtn.RemoveAllListeners(); System/NewYearFairylandCeremony/NewYearCeremonyPeopleToHiWin.cs
@@ -12,9 +12,9 @@ [SerializeField] ScrollerController taskCtrl; [SerializeField] Text hiPointText; List<AllPeoplePartyConfig> taskConfigs; List<AllPeoplePartyAwardConfig> awardConfigs; FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } List<NewAllPeoplePartyConfig> taskConfigs; List<NewAllPeoplePartyAwardConfig> awardConfigs; NewYearFairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); } } int presentAwardIndex = 0; @@ -80,7 +80,7 @@ private void RefreshTaskCell(ScrollerDataType type, CellView cell) { ToHiTaskCell taskCell = cell.GetComponent<ToHiTaskCell>(); NewYearToHiTaskCell taskCell = cell.GetComponent<NewYearToHiTaskCell>(); if (taskCell == null) return; taskCell.Init(taskConfigs[cell.index]); @@ -105,7 +105,7 @@ private void RefreshAwardCell(ScrollerDataType type, CellView cell) { ToHiAwardCell awardCell = cell.GetComponent<ToHiAwardCell>(); NewYearToHiAwardCell awardCell = cell.GetComponent<NewYearToHiAwardCell>(); if (awardCell == null) return; awardCell.Init(awardConfigs[cell.index]); System/NewYearFairylandCeremony/NewYearCeremonyRechargeGiftWin.cs
@@ -15,9 +15,9 @@ [SerializeField] Text remainTimeText; [SerializeField] List<CommonItemBaisc> itemBaiscs = new List<CommonItemBaisc>(); List<FairylandCeremonyModel.AwardItem> itemlist; List<NewYearFairylandCeremonyModel.AwardItem> itemlist; ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } NewYearFairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); } } PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } protected override void BindController() @@ -64,7 +64,7 @@ if(i < itemlist.Count) { itemBaiscs[i].gameObject.SetActive(true); FairylandCeremonyModel.AwardItem itemData = itemlist[i]; NewYearFairylandCeremonyModel.AwardItem itemData = itemlist[i]; ItemCellModel cellModel = new ItemCellModel(itemData.itemId,true, (ulong)itemData.itemCount, itemData.isBind); itemBaiscs[i].Init(cellModel); itemBaiscs[i].cellBtn.RemoveAllListeners(); @@ -86,7 +86,7 @@ private void RefreshSecond() { int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FairyCeremony); int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.NewYearFairyCeremony); if (seconds > 0) { remainTimeText.text = StringUtility.Contact("<color=#8DDC11FF>", TimeUtility.SecondsToHMS(seconds), "</color>"); @@ -101,15 +101,15 @@ { switch (ceremonyModel.receiveState) { case FairylandCeremonyModel.ReceiveState.NoReach: case NewYearFairylandCeremonyModel.ReceiveState.NoReach: receiveBtnImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial(); receiveBtnText.text = "领取礼包"; break; case FairylandCeremonyModel.ReceiveState.Reach: case NewYearFairylandCeremonyModel.ReceiveState.Reach: receiveBtnImg.material = MaterialUtility.GetUIDefaultGraphicMaterial(); receiveBtnText.text = "领取礼包"; break; case FairylandCeremonyModel.ReceiveState.Already: case NewYearFairylandCeremonyModel.ReceiveState.Already: receiveBtnImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial(); receiveBtnText.text = "已领取"; break; @@ -122,21 +122,21 @@ switch (ceremonyModel.receiveState) { case FairylandCeremonyModel.ReceiveState.NoReach: case NewYearFairylandCeremonyModel.ReceiveState.NoReach: SysNotifyMgr.Instance.ShowTip("FairylandCermonyRecharge1"); break; case FairylandCeremonyModel.ReceiveState.Reach: case NewYearFairylandCeremonyModel.ReceiveState.Reach: bool isGrid = playerPack.GetReaminGridCount(PackType.rptItem) - itemlist.Count >= 0 ? true : false; if (isGrid) { ceremonyModel.SendReceiveAward(GotServerRewardType.Def_RewardType_FCRecharge,0); ceremonyModel.SendReceiveAward(GotServerRewardType.Def_RewardType_NewFairyCRecharge, 0); } else { SysNotifyMgr.Instance.ShowTip("BagFull"); } break; case FairylandCeremonyModel.ReceiveState.Already: case NewYearFairylandCeremonyModel.ReceiveState.Already: SysNotifyMgr.Instance.ShowTip("FairylandCermonyRecharge2"); break; } System/NewYearFairylandCeremony/NewYearFairylandCeremonyModel.cs
@@ -9,132 +9,12 @@ public class NewYearFairylandCeremonyModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk { public ReceiveState receiveState { get; private set; } Dictionary<CeremonyType, Dictionary<int, List<int>>> typeLvDict = new Dictionary<CeremonyType, Dictionary<int, List<int>>>(); Dictionary<int, List<AwardItem>> rechargeAwardDict = new Dictionary<int, List<AwardItem>>(); public Dictionary<int, int> fireDict = new Dictionary<int, int>(); List<AllPeoplePartyConfig> allPeoples = new List<AllPeoplePartyConfig>(); List<AllPeoplePartyAwardConfig> allPeopleAwards = new List<AllPeoplePartyAwardConfig>(); Dictionary<int, Dictionary<int, List<AwardItem>>> jobToHiAwardDict = new Dictionary<int, Dictionary<int, List<AwardItem>>>(); Dictionary<string, Dictionary<int, List<AwardItem>>> rankAwardDict = new Dictionary<string, Dictionary<int, List<AwardItem>>>(); Dictionary<int,Dictionary<int,List<AwardItem>>> fireGiftsDict = new Dictionary<int, Dictionary<int, List<AwardItem>>>(); public override void Init() { FuncConfigConfig lvConfig = Config.Instance.Get<FuncConfigConfig>("CeremonyWorldLv"); JsonData lvData = JsonMapper.ToObject(lvConfig.Numerical1); foreach (var type in lvData.Keys) { Dictionary<int, List<int>> lvDict = new Dictionary<int, List<int>>(); typeLvDict.Add((CeremonyType)int.Parse(type),lvDict); if(lvData[type].IsArray) { for(int i = 0; i < lvData[type].Count; i++) { JsonData rangeData = lvData[type][i]; List<int> lvlist = new List<int>(); lvDict.Add(i,lvlist); lvlist.Add(int.Parse(rangeData[0].ToString())); lvlist.Add(int.Parse(rangeData[1].ToString())); } } } FuncConfigConfig rechargeConfig = Config.Instance.Get<FuncConfigConfig>("CeremonyRecharge"); JsonData rechargeData = JsonMapper.ToObject(rechargeConfig.Numerical1); foreach(var index in rechargeData.Keys) { List<AwardItem> awardItems = new List<AwardItem>(); rechargeAwardDict.Add(int.Parse(index),awardItems); if(rechargeData[index].IsArray) { for(int i = 0; i < rechargeData[index].Count; i++) { JsonData itemData = rechargeData[index][i]; AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()), int.Parse(itemData[2].ToString())); awardItems.Add(item); } } } FuncConfigConfig fireConfig = Config.Instance.Get<FuncConfigConfig>("CeremonyFireParty"); JsonData fireData = JsonMapper.ToObject(fireConfig.Numerical1); foreach(var index in fireData.Keys) { fireDict.Add(int.Parse(index),int.Parse(fireData[index].ToString())); } FuncConfigConfig fireAwardConfig = Config.Instance.Get<FuncConfigConfig>("CeremonyFireAward"); JsonData fireAwardData = JsonMapper.ToObject(fireAwardConfig.Numerical1); foreach (var index in fireAwardData.Keys) { Dictionary<int, List<AwardItem>> jobFireAwardDict = new Dictionary<int, List<AwardItem>>(); fireGiftsDict.Add(int.Parse(index),jobFireAwardDict); foreach(var job in fireAwardData[index].Keys) { List<AwardItem> awardItems = new List<AwardItem>(); jobFireAwardDict.Add(int.Parse(job),awardItems); if (fireAwardData[index][job].IsArray) { for (int i = 0; i < fireAwardData[index][job].Count; i++) { JsonData itemData = fireAwardData[index][job][i]; AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()), int.Parse(itemData[2].ToString())); awardItems.Add(item); } } } } allPeoples = Config.Instance.GetAllValues<AllPeoplePartyConfig>(); allPeopleAwards = Config.Instance.GetAllValues<AllPeoplePartyAwardConfig>(); for(int i = 0; i < allPeopleAwards.Count; i++) { Dictionary<int, List<AwardItem>> awardKeyDict = new Dictionary<int, List<AwardItem>>(); jobToHiAwardDict.Add(allPeopleAwards[i].ID,awardKeyDict); JsonData awardData = JsonMapper.ToObject(allPeopleAwards[i].Award); foreach(var job in awardData.Keys) { List<AwardItem> awardItems = new List<AwardItem>(); awardKeyDict.Add(int.Parse(job),awardItems); if(awardData[job].IsArray) { for(int j = 0; j < awardData[job].Count;j++) { JsonData itemData = awardData[job][j]; AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()), int.Parse(itemData[2].ToString())); awardItems.Add(item); } } } } List<UniquenessArriveConfig> arriveConfigs = Config.Instance.GetAllValues<UniquenessArriveConfig>(); for(int i = 0; i < arriveConfigs.Count; i++) { string key = StringUtility.Contact(arriveConfigs[i].WorldLvNum,arriveConfigs[i].Rank); Dictionary<int, List<AwardItem>> awardKeyDict = new Dictionary<int, List<AwardItem>>(); rankAwardDict.Add(key,awardKeyDict); JsonData awardData = JsonMapper.ToObject(arriveConfigs[i].Award); foreach (var job in awardData.Keys) { List<AwardItem> awardItems = new List<AwardItem>(); awardKeyDict.Add(int.Parse(job), awardItems); if (awardData[job].IsArray) { for (int j = 0; j < awardData[job].Count; j++) { JsonData itemData = awardData[job][j]; AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()), int.Parse(itemData[2].ToString())); awardItems.Add(item); } } } } ParseFuncConfig(); ParseAllPeoplePartyConfig(); ParseUniquenessArriveConfig(); //OperationTimeHepler.Instance.operationEndEvent += OnActiveEnd; } @@ -165,14 +45,14 @@ } #region 处理服务端数据 public int worldLv { get; private set;} public void GetServerActiveInfo(HAC09_tagGCFairyCeremonyInfo info) public void GetServerActiveInfo(HAC0B_tagGCNewFairyCeremonyInfo info) { worldLv = info.WorldLV; OperationTimeHepler.Instance.RefreshFairyCeremonyInfo(info); OperationTimeHepler.Instance.RefreshNewYearFairyCeremonyInfo(info); } public Action RefreshRechargeStateAct; public void GetServerRechargeInfo(HAA14_tagMCXJSDRecharge info) public void GetServerRechargeInfo(HAA22_tagMCNewXJSDRecharge info) { switch(info.State) { @@ -202,7 +82,7 @@ public Action<int> RefreshHiPointAct; public Action RefreshHiAwardStateAct; public void GetServerPeopleInfo(HAA15_tagMCAllPeoplePartyInfo info) public void GetServerPeopleInfo(HAA23_tagMCNewAllPeoplePartyInfo info) { peopleAwardRecordDict.Clear(); sumHiPoint = (int)info.CurPoint; @@ -257,7 +137,7 @@ private void OnActiveEnd(Operation type, int arg2) { if (type != Operation.FairyCeremony) return; if (type != Operation.NewYearFairyCeremony) return; peopleTaskRecordDict.Clear(); sumHiPoint = 0; @@ -283,6 +163,149 @@ #endregion #region 处理本地数据 #region 解析功能配置表 Dictionary<CeremonyType, Dictionary<int, List<int>>> typeLvDict = new Dictionary<CeremonyType, Dictionary<int, List<int>>>(); Dictionary<int, List<AwardItem>> rechargeAwardDict = new Dictionary<int, List<AwardItem>>(); public Dictionary<int, int> fireDict = new Dictionary<int, int>(); Dictionary<int, Dictionary<int, List<AwardItem>>> fireGiftsDict = new Dictionary<int, Dictionary<int, List<AwardItem>>>(); private void ParseFuncConfig() { FuncConfigConfig lvConfig = Config.Instance.Get<FuncConfigConfig>("NewCeremonyWorldLv"); JsonData lvData = JsonMapper.ToObject(lvConfig.Numerical1); foreach (var type in lvData.Keys) { Dictionary<int, List<int>> lvDict = new Dictionary<int, List<int>>(); typeLvDict.Add((CeremonyType)int.Parse(type), lvDict); if (lvData[type].IsArray) { for (int i = 0; i < lvData[type].Count; i++) { JsonData rangeData = lvData[type][i]; List<int> lvlist = new List<int>(); lvDict.Add(i, lvlist); lvlist.Add(int.Parse(rangeData[0].ToString())); lvlist.Add(int.Parse(rangeData[1].ToString())); } } } FuncConfigConfig rechargeConfig = Config.Instance.Get<FuncConfigConfig>("NewCeremonyRecharge"); JsonData rechargeData = JsonMapper.ToObject(rechargeConfig.Numerical1); foreach (var index in rechargeData.Keys) { List<AwardItem> awardItems = new List<AwardItem>(); rechargeAwardDict.Add(int.Parse(index), awardItems); if (rechargeData[index].IsArray) { for (int i = 0; i < rechargeData[index].Count; i++) { JsonData itemData = rechargeData[index][i]; AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()), int.Parse(itemData[2].ToString())); awardItems.Add(item); } } } FuncConfigConfig fireConfig = Config.Instance.Get<FuncConfigConfig>("NewCeremonyFireParty"); JsonData fireData = JsonMapper.ToObject(fireConfig.Numerical1); foreach (var index in fireData.Keys) { fireDict.Add(int.Parse(index), int.Parse(fireData[index].ToString())); } FuncConfigConfig fireAwardConfig = Config.Instance.Get<FuncConfigConfig>("NewCeremonyFireAward"); JsonData fireAwardData = JsonMapper.ToObject(fireAwardConfig.Numerical1); foreach (var index in fireAwardData.Keys) { Dictionary<int, List<AwardItem>> jobFireAwardDict = new Dictionary<int, List<AwardItem>>(); fireGiftsDict.Add(int.Parse(index), jobFireAwardDict); foreach (var job in fireAwardData[index].Keys) { List<AwardItem> awardItems = new List<AwardItem>(); jobFireAwardDict.Add(int.Parse(job), awardItems); if (fireAwardData[index][job].IsArray) { for (int i = 0; i < fireAwardData[index][job].Count; i++) { JsonData itemData = fireAwardData[index][job][i]; AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()), int.Parse(itemData[2].ToString())); awardItems.Add(item); } } } } } #endregion #region 解析全民来嗨 List<NewAllPeoplePartyConfig> allPeoples = new List<NewAllPeoplePartyConfig>(); List<NewAllPeoplePartyAwardConfig> allPeopleAwards = new List<NewAllPeoplePartyAwardConfig>(); Dictionary<int, Dictionary<int, List<AwardItem>>> jobToHiAwardDict = new Dictionary<int, Dictionary<int, List<AwardItem>>>(); private void ParseAllPeoplePartyConfig() { allPeoples = Config.Instance.GetAllValues<NewAllPeoplePartyConfig>(); allPeopleAwards = Config.Instance.GetAllValues<NewAllPeoplePartyAwardConfig>(); for (int i = 0; i < allPeopleAwards.Count; i++) { Dictionary<int, List<AwardItem>> awardKeyDict = new Dictionary<int, List<AwardItem>>(); jobToHiAwardDict.Add(allPeopleAwards[i].ID, awardKeyDict); JsonData awardData = JsonMapper.ToObject(allPeopleAwards[i].Award); foreach (var job in awardData.Keys) { List<AwardItem> awardItems = new List<AwardItem>(); awardKeyDict.Add(int.Parse(job), awardItems); if (awardData[job].IsArray) { for (int j = 0; j < awardData[job].Count; j++) { JsonData itemData = awardData[job][j]; AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()), int.Parse(itemData[2].ToString())); awardItems.Add(item); } } } } } #endregion #region 解析绝版降临 Dictionary<string, Dictionary<int, List<AwardItem>>> rankAwardDict = new Dictionary<string, Dictionary<int, List<AwardItem>>>(); private void ParseUniquenessArriveConfig() { List<NewUniquenessArriveConfig> arriveConfigs = Config.Instance.GetAllValues<NewUniquenessArriveConfig>(); for (int i = 0; i < arriveConfigs.Count; i++) { string key = StringUtility.Contact(arriveConfigs[i].WorldLvNum, arriveConfigs[i].Rank); Dictionary<int, List<AwardItem>> awardKeyDict = new Dictionary<int, List<AwardItem>>(); rankAwardDict.Add(key, awardKeyDict); JsonData awardData = JsonMapper.ToObject(arriveConfigs[i].Award); foreach (var job in awardData.Keys) { List<AwardItem> awardItems = new List<AwardItem>(); awardKeyDict.Add(int.Parse(job), awardItems); if (awardData[job].IsArray) { for (int j = 0; j < awardData[job].Count; j++) { JsonData itemData = awardData[job][j]; AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()), int.Parse(itemData[2].ToString())); awardItems.Add(item); } } } } } #endregion public int GetWorldLvIndex(CeremonyType type) { if(typeLvDict.ContainsKey(type)) @@ -338,8 +361,8 @@ return false; } List<AllPeoplePartyConfig> openTasklist = new List<AllPeoplePartyConfig>(); public List<AllPeoplePartyConfig> GetPeoplePartTasklist() List<NewAllPeoplePartyConfig> openTasklist = new List<NewAllPeoplePartyConfig>(); public List<NewAllPeoplePartyConfig> GetPeoplePartTasklist() { openTasklist.Clear(); for(int i = 0; i < allPeoples.Count; i++) @@ -353,7 +376,7 @@ return openTasklist; } private int CompareByTimes(AllPeoplePartyConfig start,AllPeoplePartyConfig end) private int CompareByTimes(NewAllPeoplePartyConfig start, NewAllPeoplePartyConfig end) { bool startIsComplte = PeopleTaskComplete(start); bool endIsComplte = PeopleTaskComplete(end); @@ -366,7 +389,7 @@ return 0; } public bool PeopleTaskComplete(AllPeoplePartyConfig partyConfig) public bool PeopleTaskComplete(NewAllPeoplePartyConfig partyConfig) { if (GetPeopleTaskTimesById(partyConfig.ID) >= partyConfig.TotalTimes) { @@ -375,8 +398,8 @@ return false; } List<AllPeoplePartyAwardConfig> worldAwardlist = new List<AllPeoplePartyAwardConfig>(); public List<AllPeoplePartyAwardConfig> GetPeoplePartAwardlist() List<NewAllPeoplePartyAwardConfig> worldAwardlist = new List<NewAllPeoplePartyAwardConfig>(); public List<NewAllPeoplePartyAwardConfig> GetPeoplePartAwardlist() { worldAwardlist.Clear(); int index = GetWorldLvIndex(CeremonyType.WholePeople); @@ -391,7 +414,7 @@ return worldAwardlist; } public int CompareByIndex(AllPeoplePartyAwardConfig start,AllPeoplePartyAwardConfig end) public int CompareByIndex(NewAllPeoplePartyAwardConfig start, NewAllPeoplePartyAwardConfig end) { int startIndex = start.Index; int endIndex = end.Index; @@ -434,16 +457,16 @@ #endregion #region 红点逻辑处理 public const int FairyCeremony_RedKey = 212; public const int FairyCeremony_RedKey = 216; public Redpoint fairyCeremonyRedp = new Redpoint(MainRedDot.RedPoint_UpFuncBase,FairyCeremony_RedKey); public const int CeremonyRecharge_RedKey = 21201; public const int CeremonyRecharge_RedKey = 21601; public Redpoint rechargeRedp = new Redpoint(FairyCeremony_RedKey,CeremonyRecharge_RedKey); public const int RechargeReceiveBtn_RedKey = 2120101; public const int RechargeReceiveBtn_RedKey = 2160101; public Redpoint receiveBtnRedp = new Redpoint(CeremonyRecharge_RedKey, RechargeReceiveBtn_RedKey); public void CheckRechargeRed() { if (!OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.FairyCeremony)) return; if (!OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.NewYearFairyCeremony)) return; if(receiveState == ReceiveState.Reach) { @@ -455,12 +478,12 @@ } } public const int CeremonyPeople_RedKey = 21203; public const int CeremonyPeople_RedKey = 21603; public Redpoint peopleRedp = new Redpoint(FairyCeremony_RedKey, CeremonyPeople_RedKey); public void CheckPeoplePartyRed() { if (!OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.FairyCeremony)) return; if (!OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.NewYearFairyCeremony)) return; int index = 0; if(IsPeopleAwardRecive(out index)) System/NewYearFairylandCeremony/NewYearFairylandCeremonyWin.cs
@@ -15,7 +15,7 @@ [SerializeField] Button rightBtn; [SerializeField] Button closeBtn; FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } NewYearFairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); } } protected override void BindController() { @@ -87,11 +87,11 @@ CloseChildWin(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<CeremonyOutOfPrintWin>(); WindowCenter.Instance.OpenWithoutAnimation<NewYearCeremonyOutOfPrintWin>(); } else { WindowCenter.Instance.Open<CeremonyOutOfPrintWin>(); WindowCenter.Instance.Open<NewYearCeremonyOutOfPrintWin>(); } functionOrder = 3; } @@ -101,11 +101,11 @@ CloseChildWin(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<CeremonyPeopleToHiWin>(); WindowCenter.Instance.OpenWithoutAnimation<NewYearCeremonyPeopleToHiWin>(); } else { WindowCenter.Instance.Open<CeremonyPeopleToHiWin>(); WindowCenter.Instance.Open<NewYearCeremonyPeopleToHiWin>(); } functionOrder = 2; } @@ -115,11 +115,11 @@ CloseChildWin(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<CeremonyFirepartyWin>(); WindowCenter.Instance.OpenWithoutAnimation<NewYearCeremonyFirepartyWin>(); } else { WindowCenter.Instance.Open<CeremonyFirepartyWin>(); WindowCenter.Instance.Open<NewYearCeremonyFirepartyWin>(); } functionOrder = 1; } @@ -129,18 +129,18 @@ CloseChildWin(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<CeremonyRechargeGiftWin>(); WindowCenter.Instance.OpenWithoutAnimation<NewYearCeremonyRechargeGiftWin>(); } else { WindowCenter.Instance.Open<CeremonyRechargeGiftWin>(); WindowCenter.Instance.Open<NewYearCeremonyRechargeGiftWin>(); } functionOrder = 0; } private void CloseChildWin() { var children = WindowConfig.Get().FindChildWindows("FairylandCeremonyWin"); var children = WindowConfig.Get().FindChildWindows(this.GetType().Name); foreach (var window in children) { WindowCenter.Instance.Close(window); System/NewYearFairylandCeremony/NewYearToHiAwardCell.cs
@@ -15,12 +15,12 @@ [SerializeField] GameObject alreadyImg; [SerializeField] List<CommonItemBaisc> itemBaiscs = new List<CommonItemBaisc>(); List<FairylandCeremonyModel.AwardItem> itemlist; List<NewYearFairylandCeremonyModel.AwardItem> itemlist; ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } FairylandCeremonyModel.ReceiveState receiveState = FairylandCeremonyModel.ReceiveState.NoReach; NewYearFairylandCeremonyModel.ReceiveState receiveState = NewYearFairylandCeremonyModel.ReceiveState.NoReach; PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } AllPeoplePartyAwardConfig awardConfig; NewYearFairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); } } NewAllPeoplePartyAwardConfig awardConfig; private void OnEnable() { @@ -31,7 +31,7 @@ { ceremonyModel.RefreshHiAwardStateAct -= SetAwardState; } public void Init(AllPeoplePartyAwardConfig awardConfig) public void Init(NewAllPeoplePartyAwardConfig awardConfig) { this.awardConfig = awardConfig; titleText.text = Language.Get("CeremoneyToHiAward", awardConfig.NeedPoint); @@ -41,7 +41,7 @@ if (i < itemlist.Count) { itemBaiscs[i].gameObject.SetActive(true); FairylandCeremonyModel.AwardItem itemData = itemlist[i]; NewYearFairylandCeremonyModel.AwardItem itemData = itemlist[i]; ItemCellModel cellModel = new ItemCellModel(itemData.itemId, true,(ulong)itemData.itemCount, itemData.isBind); itemBaiscs[i].Init(cellModel); itemBaiscs[i].cellBtn.RemoveAllListeners(); @@ -66,17 +66,17 @@ if(ceremonyModel.GetPeopleAwardRecordByIndex(awardConfig.Index)) { receiveState = FairylandCeremonyModel.ReceiveState.Already; receiveState = NewYearFairylandCeremonyModel.ReceiveState.Already; } else { if(ceremonyModel.sumHiPoint >= awardConfig.NeedPoint) { receiveState = FairylandCeremonyModel.ReceiveState.Reach; receiveState = NewYearFairylandCeremonyModel.ReceiveState.Reach; } else { receiveState = FairylandCeremonyModel.ReceiveState.NoReach; receiveState = NewYearFairylandCeremonyModel.ReceiveState.NoReach; } } RefreshAwardStateUI(); @@ -87,18 +87,18 @@ receiveBtn.RemoveAllListeners(); switch (receiveState) { case FairylandCeremonyModel.ReceiveState.NoReach: case NewYearFairylandCeremonyModel.ReceiveState.NoReach: noReachImg.SetActive(true); alreadyImg.SetActive(false); receiveBtn.gameObject.SetActive(false); break; case FairylandCeremonyModel.ReceiveState.Reach: case NewYearFairylandCeremonyModel.ReceiveState.Reach: noReachImg.SetActive(false); alreadyImg.SetActive(false); receiveBtn.gameObject.SetActive(true); receiveBtn.AddListener(OnReceiveGift); break; case FairylandCeremonyModel.ReceiveState.Already: case NewYearFairylandCeremonyModel.ReceiveState.Already: noReachImg.SetActive(false); alreadyImg.SetActive(true); receiveBtn.gameObject.SetActive(false); @@ -111,7 +111,7 @@ bool isGrid = playerPack.GetReaminGridCount(PackType.rptItem) - itemlist.Count >= 0 ? true : false; if (isGrid) { ceremonyModel.SendReceiveAward(GotServerRewardType.Def_RewardType_FCParty, awardConfig.Index); ceremonyModel.SendReceiveAward(GotServerRewardType.Def_RewardType_NewFairyCParty, awardConfig.Index); } else { System/NewYearFairylandCeremony/NewYearToHiTaskCell.cs
@@ -14,8 +14,8 @@ [SerializeField] Button gobtn; [SerializeField] GameObject completeImg; AllPeoplePartyConfig taskConfig; FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } } NewAllPeoplePartyConfig taskConfig; NewYearFairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<NewYearFairylandCeremonyModel>(); } } private void OnEnable() { @@ -27,7 +27,7 @@ ceremonyModel.RefreshHiPointAct -= OnRefreshProgress; } public void Init(AllPeoplePartyConfig taskConfig) public void Init(NewAllPeoplePartyConfig taskConfig) { activeNameText.gameObject.SetActive(false); this.taskConfig = taskConfig; System/OpenServerActivity/OpenServiceAchievementModel.cs
@@ -433,6 +433,7 @@ } private void SetRedPointId()//设置红点ID { if (RedPointDic.Count >= 7) { return; } RedPointDic.Clear(); foreach (var key in WeekPartyDayInfoDic.Keys) { System/Welfare/OperationTimeHepler.cs
@@ -426,6 +426,37 @@ } /// <summary> /// 春节仙界盛典 /// </summary> /// <param name="info"></param> public void RefreshNewYearFairyCeremonyInfo(HAC0B_tagGCNewFairyCeremonyInfo package) { OperationBase operation = null; operationDict.TryGetValue(Operation.NewYearFairyCeremony, out operation); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { ForceStopOperation(Operation.NewYearFairyCeremony); } else { if (operation == null) { operation = new OperationBase(); operationDict.Add(Operation.NewYearFairyCeremony, operation); } operation.Reset(); operation.startDate = ParseOperationDate(package.StartDate); operation.endDate = ParseOperationDate(package.EndtDate); operation.limitLv = package.LimitLV; operation.resetType = package.ResetType; if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(Operation.NewYearFairyCeremony); } } } /// <summary> /// N倍修行点 /// </summary> /// <param name="package"></param> @@ -760,6 +791,7 @@ FlashRushToBuy, //限时抢购 WishingWellInfo, //许愿池 AccumulateRecharge,//累计充值 NewYearFairyCeremony, //春节仙界盛典 max, } } System/WindowBase/ModelCenter.cs
@@ -225,6 +225,7 @@ RegisterModel<JadeDynastyDecomposeModel>(); RegisterModel<JadeDynastyTowerModel>(); RegisterModel<JadeDynastyEquipModel>(); RegisterModel<NewYearFairylandCeremonyModel>(); inited = true; } UI/Effect/SpringDecorate.cs
New file @@ -0,0 +1,31 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(RectTransform))] public class SpringDecorate : MonoBehaviour { GameObject springDecorate = null; private void Start() { if (GeneralDefine.UISpringDecorate != 0) { if (springDecorate == null) { springDecorate = UIUtility.CreateWidget("Container_SpringDecorate", "SpringDecorate"); } var rectTransform = springDecorate.transform as RectTransform; rectTransform.MatchWhith(this.transform as RectTransform); } else { if (springDecorate != null) { GameObject.DestroyImmediate(springDecorate); } } } } UI/Effect/SpringDecorate.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 2f22490435e43864f8b21928175f09be timeCreated: 1548641856 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Utility/EnumHelper.cs
@@ -1261,7 +1261,9 @@ Def_RewardType_IceLodeStar = 19, //冰晶矿脉星级奖励19 Def_RewardType_WeekPartyAct = 20, //领取周狂欢活动奖励20 Def_RewardType_WeekPartyPoint = 21,// 领取周狂欢积分奖励21 Def_RewardType_ActLoginAwardAct = 22, // 领取登录奖励活动奖励22 Def_RewardType_NewFairyCRecharge = 23, // 新仙界盛典充值大礼23 Def_RewardType_NewFairyCParty = 24, // 新仙界盛典全民来嗨24 } public enum MapType