Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta
File was deleted Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta
File was deleted Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta
File was deleted Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta
File was deleted Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta
File was deleted Core/NetworkPackage/ServerPack/HAE_Truck.meta
File was deleted Core/NetworkPackage/ServerPack/HAF_Merge.meta
File was deleted Core/NetworkPackage/ServerPack/HB0_Event.meta
File was deleted System/Dungeon/DungeonModel.cs
@@ -516,23 +516,7 @@ private int ruinsTranscriptMapId; private void CheckGroupEnter(Dungeon _dungeon) { if (ruinsTranscriptMapId == _dungeon.mapId) { OpenFloorChooseWin(); } else { RequestChallangeDungeon(_dungeon.mapId, _dungeon.lineId); } } private void OpenFloorChooseWin() { var mainModel = ModelCenter.Instance.GetModel<PlayerMainDate>(); int WhyjNuber = mainModel.GetWHYJNum(); mainModel.LayerNumberNow = WhyjNuber - 1; RequestChallangeDungeon(ruinsTranscriptMapId, WhyjNuber - 1); RequestChallangeDungeon(_dungeon.mapId, _dungeon.lineId); } public void GroupChallenge(int _dungeonId, int _lineId = 0) System/Dungeon/DungeonNuwaModel.cs
New file @@ -0,0 +1,158 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Snxxz.UI { public class DungeonNuwaModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk { Dictionary<int, List<Item>> floorRewardDict = new Dictionary<int, List<Item>>(); public Dictionary<int, int> floorFightPowerDict { get; private set; } public int floorCount { get; private set; } public const int DATAMAPID = 51010; DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } public override void Init() { ParseConfig(); } public void OnBeforePlayerDataInitialize() { } public void OnPlayerLoginOk() { } public override void UnInit() { } void ParseConfig() { floorFightPowerDict = new Dictionary<int, int>(); var configs = DungeonHelpBattleConfig.GetValues(); foreach (var config in configs) { if (config.DataMapID == DATAMAPID) { floorFightPowerDict.Add(config.LineID + 1, config.RobotFightPower); } } floorFightPowerDict[1] = 0; floorCount = floorFightPowerDict.Count; var funcConfig = FuncConfigConfig.Get("WHFloorChoose"); var json = LitJson.JsonMapper.ToObject(funcConfig.Numerical2); foreach (var floorKey in json.Keys) { var floor = int.Parse(floorKey); var rewardArray = LitJson.JsonMapper.ToObject<int[][]>(json[floorKey].ToJson()); if (rewardArray != null) { List<Item> items = new List<Item>(); floorRewardDict.Add(floor, items); for (int i = 0; i < rewardArray.Length; i++) { items.Add(new Item() { id = rewardArray[i][0], count = rewardArray[i][1], }); } } } } public bool TryGetFloorReward(int floor, out List<Item> items) { return floorRewardDict.TryGetValue(floor, out items); } public bool IsNewComparePreFloor(int floor, int itemId) { List<Item> items; if (TryGetFloorReward(floor - 1, out items)) { return items.FindIndex((x) => { return x.id == itemId; }) == -1; } return false; } public int GetChallengeFloor() { DungeonRecord dungeonRecord; if (!dungeonModel.TryGetRecord(DATAMAPID, out dungeonRecord) || dungeonRecord.lineGrades == null) { return 1; } var lineDatas = dungeonRecord.lineGrades; var floor = 1; var fightPoint = PlayerDatas.Instance.baseData.FightPoint; for (int i = 2; i <= floorCount; i++) { var line = i - 1; if (!lineDatas.ContainsKey(line - 1) || lineDatas[line - 1] < 5) { break; } if (fightPoint < floorFightPowerDict[i]) { break; } floor = i; } return Mathf.Min(floor, floorCount); } public bool SatisfyChallengeFloor(int floor) { if (floor > floorCount) { return false; } var fightPoint = PlayerDatas.Instance.baseData.FightPoint; if (floor == 1) { return fightPoint >= floorFightPowerDict[1]; } if (fightPoint < floorFightPowerDict[floor]) { return false; } var line = floor - 1; DungeonRecord dungeonRecord; if (dungeonModel.TryGetRecord(DATAMAPID, out dungeonRecord)) { if (dungeonRecord.lineGrades != null && dungeonRecord.lineGrades.ContainsKey(line - 1) && dungeonRecord.lineGrades[line - 1] == 5) { return true; } } return false; } } } System/Dungeon/DungeonNuwaModel.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 8b9235ab0ef27e545bf82ef02f9a13a1 timeCreated: 1554184523 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Dungeon/DungeonNuwaRuleWin.cs
New file @@ -0,0 +1,158 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Saturday, December 08, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class DungeonNuwaRuleWin : Window { [SerializeField] Button m_ViewRule; [SerializeField] Button m_ViewReward; [SerializeField] Transform m_ContainerRule; [SerializeField] ScrollerController m_FloorController; [SerializeField] Transform m_ContainerReward; [SerializeField] ScrollerController m_RewardController; [SerializeField] Button m_Close; int m_SelectIndex = 0; int selectIndex { get { return m_SelectIndex; } set { if (m_SelectIndex != value) { m_SelectIndex = value; Display(); } } } PlayerMainDate mainModel { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } } DungeonNuwaModel model { get { return ModelCenter.Instance.GetModel<DungeonNuwaModel>(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_FloorController.OnRefreshCell += OnRefreshFloorCell; m_RewardController.OnRefreshCell += OnRefreshRewardCell; m_ViewRule.AddListener(() => { selectIndex = 0; }); m_ViewReward.AddListener(() => { selectIndex = 1; }); m_Close.AddListener(CloseClick); } protected override void OnPreOpen() { m_SelectIndex = 0; Display(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } #endregion void Display() { m_ContainerRule.gameObject.SetActive(selectIndex == 0); m_ContainerReward.gameObject.SetActive(selectIndex == 1); DisplayButtonState(); switch (selectIndex) { case 0: DisplayFloorRule(); break; case 1: DisplayRewards(); break; } } void DisplayFloorRule() { if (m_FloorController.GetNumberOfCells(m_FloorController.m_Scorller) == 0) { m_FloorController.Refresh(); for (int i = 1; i <= model.floorCount; i++) { m_FloorController.AddCell(ScrollerDataType.Header, i); } m_FloorController.Restart(); } else { m_FloorController.m_Scorller.RefreshActiveCellViews(); m_FloorController.JumpIndex(0); } } void DisplayRewards() { if (m_RewardController.GetNumberOfCells(m_RewardController.m_Scorller) == 0) { m_RewardController.Refresh(); for (int i = 1; i <= model.floorCount; i++) { m_RewardController.AddCell(ScrollerDataType.Header, i); } m_RewardController.Restart(); } else { m_RewardController.m_Scorller.RefreshActiveCellViews(); m_RewardController.JumpIndex(0); } } void DisplayButtonState() { m_ViewRule.image.SetSprite(selectIndex == 0 ? "XT_SZ_22" : "XT_SZ_23"); m_ViewReward.image.SetSprite(selectIndex == 1 ? "XT_SZ_22" : "XT_SZ_23"); } private void OnRefreshFloorCell(ScrollerDataType type, CellView cell) { var nuwaRuleCell = cell as NuwaRuleFloorCell; nuwaRuleCell.Display(cell.index); } private void OnRefreshRewardCell(ScrollerDataType type, CellView cell) { var nuwaRewardCell = cell as NuwaRuleRewardCell; nuwaRewardCell.Display(cell.index); } } } System/Dungeon/DungeonNuwaRuleWin.cs.meta
System/Dungeon/DungeonNuwaVictoryWin.cs
@@ -12,10 +12,11 @@ [SerializeField] ButtonEx m_GoToTheNextLevel; [SerializeField] Text m_BtnNextText; [SerializeField] Text m_NumberOfPliesText; [SerializeField] Text m_ChallengeRemind; float timerNext = 0f; private bool goNextFloorBool = false; private float LatencyTime = 0;//等待时间 PlayerMainDate main { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } } DungeonNuwaModel dungeonNuwaModel { get { return ModelCenter.Instance.GetModel<DungeonNuwaModel>(); } } protected override void AddListeners() { @@ -44,7 +45,7 @@ protected override void LateUpdate() { DateTime endNextTime; if (dungeonModel.dungeonResult.grade >= 5 && dungeonModel.dungeonResult.lineID < 7) if (dungeonNuwaModel.SatisfyChallengeFloor(dungeonModel.dungeonResult.lineID + 2)) { endNextTime = dungeonModel.GetCoolDownEndTime(DungeonCoolDownType.FBAddTime); } @@ -60,7 +61,7 @@ { timerNext += 0.5f; var seconds = (endNextTime - TimeUtility.ServerNow).TotalSeconds; if (dungeonModel.dungeonResult.grade >= 5 && dungeonModel.dungeonResult.lineID < 7) if (dungeonNuwaModel.SatisfyChallengeFloor(dungeonModel.dungeonResult.lineID + 2)) { m_BtnNextText.text = Language.Get("DungeonVictoryWin_Btn_Next_1", Mathf.Clamp((int)seconds, 0, int.MaxValue)); } @@ -80,7 +81,7 @@ LatencyTime += Time.deltaTime; if (m_BtnNextText.gameObject.activeInHierarchy) { if (dungeonModel.dungeonResult.grade >= 5 && dungeonModel.dungeonResult.lineID < 7) if (dungeonNuwaModel.SatisfyChallengeFloor(dungeonModel.dungeonResult.lineID + 2)) { if (LatencyTime >= 0.5) { @@ -99,7 +100,7 @@ private void GoToTheNextLevelButton() { if (dungeonModel.dungeonResult.grade >= 5 && dungeonModel.dungeonResult.lineID < 7) if (dungeonNuwaModel.SatisfyChallengeFloor(dungeonModel.dungeonResult.lineID + 2)) { dungeonModel.ChallengeNextDungeonLevel(); } @@ -117,14 +118,15 @@ base.DrawPassTime(); base.DrawPassGrade(); base.DrawGetXianYuanCoins(); DrawItemRewards(); var result = dungeonModel.dungeonResult; var hasAssistPoint = false; if (dungeonModel.dungeonResult.money != null && dungeonModel.dungeonResult.money.Length > 0) if (result.money != null && result.money.Length > 0) { for (int i = 0; i < dungeonModel.dungeonResult.money.Length; i++) for (int i = 0; i < result.money.Length; i++) { if (dungeonModel.dungeonResult.money[i].moneyType == 16) if (result.money[i].moneyType == 16) { hasAssistPoint = true; break; @@ -132,22 +134,27 @@ } } if (hasAssistPoint) if (dungeonNuwaModel.SatisfyChallengeFloor(result.lineID + 2)) { m_NumberOfPliesText.text = string.Empty; } else if (dungeonModel.dungeonResult.startRewardLineID == dungeonModel.dungeonResult.lineID) { m_NumberOfPliesText.text = Language.Get("DungeonVictoryWin_NumberOfPliesText", dungeonModel.dungeonResult.lineID + 1); m_ContainerReward.gameObject.SetActive(false); } else { var starLayer = dungeonModel.dungeonResult.startRewardLineID + 1; var endLayer = dungeonModel.dungeonResult.lineID + 1; var str = StringUtility.Contact(starLayer, "-", endLayer); m_NumberOfPliesText.text = Language.Get("DungeonVictoryWin_NumberOfPliesText", str); m_ContainerReward.gameObject.SetActive(true); m_ChallengeRemind.gameObject.SetActive(result.grade >= 5); DrawItemRewards(); if (hasAssistPoint) { m_NumberOfPliesText.text = string.Empty; } else { m_NumberOfPliesText.text = Language.Get("DungeonVictoryWin_NumberOfPliesText", result.lineID + 1); } } } List<ServerItem> Serveritem = new List<ServerItem>(); protected override void DrawItemRewards() { System/Dungeon/NormalDungeonEntranceWin.cs
@@ -59,7 +59,7 @@ DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } } PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } } PlayerMainDate mainDate { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } } DungeonNuwaModel dungeonNuwaModel { get { return ModelCenter.Instance.GetModel<DungeonNuwaModel>(); } } #region Built-in protected override void BindController() @@ -85,20 +85,14 @@ DrawDungeonTicketInfo(); DisplayFairyLandTip(); m_BreifInfo.SetDungeonInfo(model.currentDungeon); if (mainDate.ruinsTranscriptMapId == model.currentDungeon.mapId)//娲皇遗迹 if (DungeonNuwaModel.DATAMAPID == model.currentDungeon.mapId)//娲皇遗迹 { m_WhyjEnterRule.gameObject.SetActive(true); WhyjEnterFloor.gameObject.SetActive(true); m_WhyjEnterRule.text = Language.Get("WhyjEnterRule"); if (!m_GroupStart.gameObject.activeSelf && !m_AutoGroupStart.gameObject.activeSelf) { WhyjEnterFloor.gameObject.SetActive(true); int Number = mainDate.GetWHYJNum(); WhyjEnterFloor.text = Language.Get("WhyjEnterFloor", Number); } else { WhyjEnterFloor.gameObject.SetActive(false); } int floor = dungeonNuwaModel.GetChallengeFloor(); WhyjEnterFloor.text = Language.Get("WhyjEnterFloor", floor); } else { @@ -106,7 +100,7 @@ WhyjEnterFloor.gameObject.SetActive(false); } if (mainDate.ruinsTranscriptMapId == model.currentDungeon.mapId) if (model.currentDungeon.mapId == DungeonNuwaModel.DATAMAPID) { m_RuletBtn.gameObject.SetActive(true); } @@ -267,6 +261,9 @@ ProcessEnterDungeonError(4); return; } var floor = dungeonNuwaModel.GetChallengeFloor(); model.currentDungeon = new Dungeon(DungeonNuwaModel.DATAMAPID, floor - 1); break; } @@ -525,9 +522,9 @@ private void RuletBtn()//规则按钮 { if (mainDate.ruinsTranscriptMapId == model.currentDungeon.mapId) if (DungeonNuwaModel.DATAMAPID == model.currentDungeon.mapId) { WindowCenter.Instance.Open<WHYJRuleWin>(); WindowCenter.Instance.Open<DungeonNuwaRuleWin>(); } } System/Dungeon/NuwaRuleFloorCell.cs
New file @@ -0,0 +1,52 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class NuwaRuleFloorCell : CellView { [SerializeField] Text m_FloorName; [SerializeField] Text m_FightPower; [SerializeField] Text m_Pass; DungeonNuwaModel model { get { return ModelCenter.Instance.GetModel<DungeonNuwaModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } public void Display(int floor) { m_FloorName.text = string.Format("第{0}层", Language.Get("Num_CHS_" + floor)); var fightPowerDict = model.floorFightPowerDict; var fightPowerLimit = 0; if (fightPowerDict.ContainsKey(floor)) { fightPowerLimit = fightPowerDict[floor]; } m_FightPower.text = fightPowerLimit == 0 ? "无" : fightPowerLimit.ToString(); var colorType = PlayerDatas.Instance.baseData.FightPoint >= fightPowerLimit ? TextColType.Green : TextColType.Red; m_FightPower.color = UIHelper.GetUIColor(colorType, true); var challengeFloor = model.GetChallengeFloor(); if (floor < challengeFloor) { m_Pass.text = "S级通关"; m_Pass.color = UIHelper.GetUIColor(TextColType.Green, true); } else if (floor > challengeFloor) { m_Pass.text = "未通关"; m_Pass.color = UIHelper.GetUIColor(TextColType.Red, true); } else { m_Pass.text = "进入层数"; m_Pass.color = UIHelper.GetUIColor(TextColType.Orange, true); } } } } System/Dungeon/NuwaRuleFloorCell.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 626c6466336f7af49b92d9accbdf8eae timeCreated: 1554189004 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Dungeon/NuwaRuleRewardCell.cs
New file @@ -0,0 +1,65 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class NuwaRuleRewardCell : CellView { [SerializeField] Text m_FloorName; [SerializeField] ScrollRect m_Scroller; [SerializeField] Transform m_Parent; [SerializeField] List<RareItem> m_Items; DungeonNuwaModel model { get { return ModelCenter.Instance.GetModel<DungeonNuwaModel>(); } } public void Display(int floor) { m_FloorName.text = string.Format("第{0}层", Language.Get("Num_CHS_" + floor)); List<Item> items; model.TryGetFloorReward(floor, out items); CreateItemBehaviour(items == null ? 0 : items.Count); for (int i = 0; i < m_Items.Count; i++) { if (items != null && i < items.Count) { var item = items[i]; m_Items[i].gameObject.SetActive(true); var itemModel = new ItemCellModel(item.id, true, (ulong)item.count); m_Items[i].SetItemRare(itemModel, model.IsNewComparePreFloor(floor, item.id)); m_Items[i].button.SetListener(() => { var itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>(); var itemData = new ItemAttrData(item.id, true, (ulong)item.count); itemTipsModel.SetItemTipsModel(itemData); }); } else { m_Items[i].gameObject.SetActive(false); } } } void CreateItemBehaviour(int count) { if (m_Items.Count >= count) { return; } for (int i = m_Items.Count; i < count; i++) { var instance = GameObject.Instantiate(m_Items[0], Vector3.zero, Quaternion.identity); instance.transform.SetParent(m_Parent); instance.transform.localScale = Vector3.one; var item = instance.GetComponent<RareItem>(); m_Items.Add(item); } } } } System/Dungeon/NuwaRuleRewardCell.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: f28c76fea09c46d479c1679b72367264 timeCreated: 1554193881 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Dungeon/WHYJRuleWin.cs
File was deleted System/MainInterfacePanel/PlayerMainDate.cs
@@ -430,61 +430,6 @@ } return IsBool; } DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } private void GetWhyjLayerNumber()//获取单人的娲皇层数 { DungeonRecord dungeonRecords; if (model.TryGetRecord(ruinsTranscriptMapId, out dungeonRecords)) { int Index = -1; for (int i = 0; i < dungeonRecords.lineGrades.Count; i++) { if (dungeonRecords.lineGrades[i] == 5) { Index = i; } } if (Index > -1) { if (Index + 1 >= 7) { if (7 - WaHuangHighestFloor >= 0) LayerNumber = 7 - WaHuangHighestFloor; } else { if ((Index + 1) -WaHuangHighestFloor >= 0) { LayerNumber = (Index + 1) -WaHuangHighestFloor; } else { LayerNumber = 0; } } } else { LayerNumber = 0; } } } public int GetWHYJNum() { GetWhyjLayerNumber(); int Nuber = LayerNumber + 1; int Power = (int)PlayerDatas.Instance.baseData.FightPoint; int Type = 1; for (int i = 1; i <= Nuber; i++) { if (WHYJPowerDic.ContainsKey(i) && Power >= WHYJPowerDic[i]) { Type=i; } } return Type; } } System/WindowBase/ModelCenter.cs
@@ -230,6 +230,7 @@ RegisterModel<RuneResolveModel>(); RegisterModel<ReikiRootModel>(); RegisterModel<AuctionNewGetShowModel>(); RegisterModel<DungeonNuwaModel>(); inited = true; } UI/Common/NestingScrollRect.cs
New file @@ -0,0 +1,58 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; namespace Snxxz.UI { [RequireComponent(typeof(ScrollRect))] public class NestingScrollRect : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { [SerializeField] ScrollRect m_ParentScrollRect; ScrollRect m_ScrollRect; ScrollRect scrollRect { get { if (m_ScrollRect == null) { m_ScrollRect = GetComponent<ScrollRect>(); } return m_ScrollRect; } } public void OnBeginDrag(PointerEventData eventData) { m_ParentScrollRect.OnBeginDrag(eventData); } public void OnDrag(PointerEventData eventData) { float angle = Mathf.Abs(Vector2.Angle(eventData.delta, Vector2.up)); if (angle >= 45 && angle <= 135) { m_ParentScrollRect.enabled = m_ParentScrollRect.horizontal; scrollRect.enabled = scrollRect.horizontal; } else { m_ParentScrollRect.enabled = m_ParentScrollRect.vertical; scrollRect.enabled = scrollRect.vertical; } m_ParentScrollRect.OnDrag(eventData); } public void OnEndDrag(PointerEventData eventData) { scrollRect.enabled = true; m_ParentScrollRect.enabled = true; m_ParentScrollRect.OnEndDrag(eventData); scrollRect.OnEndDrag(eventData); } } } UI/Common/NestingScrollRect.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 263293fcb7dc8da43bbdac521d6a99a3 timeCreated: 1554197131 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: