Core/GameEngine/Model/Config/BossInfoConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, August 28, 2018 // [ Date ]: Thursday, August 30, 2018 //-------------------------------------------------------- using UnityEngine; @@ -13,8 +13,6 @@ public int NPCID { get ; private set ; } public int MapID { get ; private set ; } public int RelatedType { get ; private set ; } public int RelatedID { get ; private set ; } public int StoneNPCID { get ; private set ; } public override string getKey() @@ -29,11 +27,7 @@ MapID=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; RelatedType=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; RelatedID=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; StoneNPCID=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0; StoneNPCID=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; } catch (Exception ex) { Core/GameEngine/Model/Config/BossInfoConfig.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: fd079b12ba8134442adceeacd5b31101 timeCreated: 1535441070 timeCreated: 1535630857 licenseType: Pro MonoImporter: serializedVersion: 2 Core/NetworkPackage/ClientPack/ClientToGameServer/CAC_Activity/CAC05_tagCGCallupFamilyMemberToBoss.cs
New file @@ -0,0 +1,18 @@ using UnityEngine; using System.Collections; // AC 05 召集仙盟成员打boss #tagCGCallupFamilyMemberToBoss public class CAC05_tagCGCallupFamilyMemberToBoss : GameNetPackBasic { public uint NPCID; public CAC05_tagCGCallupFamilyMemberToBoss () { combineCmd = (ushort)0x1801; _cmd = (ushort)0xAC05; } public override void WriteToBytes () { WriteBytes (NPCID, NetDataType.DWORD); } } Core/NetworkPackage/ClientPack/ClientToGameServer/CAC_Activity/CAC05_tagCGCallupFamilyMemberToBoss.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 43aa3574d2771834e8ae5a34858f6db8 timeCreated: 1535622545 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Fight/MapTransferUtility.cs
@@ -343,7 +343,8 @@ && Time.realtimeSinceStartup - lastMoveToWorldBossTime < 60) && PlayerDatas.Instance.baseData.FBID == 0) || BossFakeLineUtility.Instance.showFakeLine || _fairyBossModel != null) || (_fairyBossModel.bosses != null && _fairyBossModel.bosses.Contains(npcID))) { //Debug.LogFormat(" |-- 非想去的boss为60秒内行为产生且为同一只boss, {0}, {1}", BossFakeLineUtility.Instance.showFakeLine, //PlayerDatas.Instance.baseData.FBID); System/Activity/ActivityModel.cs
@@ -282,12 +282,6 @@ } } switch ((DailyQuestType)type) { case DailyQuestType.FairyGrabBoss: return false; } int entertimes = dailyQuestModel.GetDailyQuestCompletedTimes(type); if (dailyQuestModel.GetDailyQuestTotalTimes(cfg.ID) <= entertimes) { System/FairyAu/FairyCallMemberBehaviour.cs
New file @@ -0,0 +1,88 @@ using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class FairyCallMemberBehaviour : MonoBehaviour { [SerializeField] Button m_CallMember; FairyGrabBossModel model { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } } private void Awake() { m_CallMember.AddListener(CallMember); } private void OnEnable() { model.bossGrabHintEvent += BossGrabHintEvent; PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo; Display(); } private void OnDisable() { model.bossGrabHintEvent -= BossGrabHintEvent; PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo; } private void BossGrabHintEvent() { Display(); } private void OnRefreshFairyInfo() { Display(); } void Display() { m_CallMember.gameObject.SetActive(CheckCallMember()); } bool CheckCallMember() { if (PlayerDatas.Instance.baseData.Family == 0 || !model.grabBossHintOpen) { return false; } var fairyMember = PlayerDatas.Instance.fairyData.mine; if (fairyMember == null || fairyMember.LV < model.callMemberDuty) { return false; } return true; } private void CallMember() { var bossId = 0; var list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcFightBoss); if (list != null) { for (int i = 0; i < list.Count; i++) { GA_NpcFightBoss bossActor = list[i] as GA_NpcFightBoss; if (bossActor != null && model.bosses.Contains(bossActor.NpcConfig.NPCID)) { bossId = bossActor.NpcConfig.NPCID; break; } } } if (bossId != 0) { CAC05_tagCGCallupFamilyMemberToBoss pak = new CAC05_tagCGCallupFamilyMemberToBoss(); pak.NPCID = (uint)bossId; GameNetSystem.Instance.SendInfo(pak); } } } } System/FairyAu/FairyCallMemberBehaviour.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 3ab85cfac6550a54f8cfad48d8a105d2 timeCreated: 1535619165 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FairyAu/FairyGrabBossModel.cs
@@ -73,6 +73,9 @@ } public bool grabBossHintOpen { get; private set; } public int callMemberDuty { get; private set; } public int callMemberSeconds { get; private set; } private bool serverInited = false; private DateTime lastQueryProgressTime = DateTime.Now; @@ -162,6 +165,11 @@ public void RecheckGrabBoss() { if (!InActivityTime) { CloseGrabBossHint(); return; } if (PlayerDatas.Instance.hero == null) { CloseGrabBossHint(); return; @@ -264,6 +272,10 @@ } dropItemDict.Add(configs[i].NPCID, list); } var config = Config.Instance.Get<FuncConfigConfig>("FairyCallMember"); callMemberSeconds = int.Parse(config.Numerical1); callMemberDuty = int.Parse(config.Numerical2); } public bool TryGetDropItems(int bossId, out List<Item> dropItems) System/FairyAu/HallTipsWin.cs
@@ -21,10 +21,14 @@ [SerializeField] Button _UpdateBtn;//升级按钮 [SerializeField] Button _CloseBtn;//关闭按钮 [SerializeField] Text m_UnionMaxMoneyText;//获取仙盟资金上限 [SerializeField] Button m_Obtain;//获取途径 private int _FamilyPosition;//家族职位等级 // Use this for initialization private int GetFamilyLV = 0;//获得仙盟等级 GetItemPathModel _GetItemPath; GetItemPathModel GetItemPath { get { return _GetItemPath ?? (_GetItemPath = ModelCenter.Instance.GetModel<GetItemPathModel>()); } } PlayerMainDate M_mainModel; PlayerMainDate mainModel { get { return M_mainModel ?? (M_mainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } } protected override void BindController() { @@ -35,6 +39,7 @@ _UpdateBtn.onClick.AddListener(UpdateButton); _CloseBtn.onClick.AddListener(CloseButton); m_Obtain.AddListener(ObtainBtn); } protected override void OnPreOpen() @@ -66,7 +71,10 @@ Close(); } private void ObtainBtn() { GetItemPath.SetChinItemModel(mainModel.GetCurrencyItemID[6]); } public void Initialize()//信息初始化 { System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -911,6 +911,13 @@ return; } if(itemModel.chinItemModel.Effect1 == 209 && !PlayerDatas.Instance.fairyData.HasFairy) { SysNotifyMgr.Instance.ShowTip("jiazu_andyshao_0"); return; } CA323_tagCMUseItems useItem = new CA323_tagCMUseItems(); useItem.ItemIndex = (byte)index; useItem.UseCnt = (ushort)useCnt; System/MainInterfacePanel/CombatModeWin.cs
@@ -31,7 +31,10 @@ PlayerBuffDatas m_BuffModel; PlayerBuffDatas Buffmodel { get { return m_BuffModel ?? (m_BuffModel = ModelCenter.Instance.GetModel<PlayerBuffDatas>()); } } PKModel m_PKModel; PKModel pKModel { get { return m_PKModel ?? (m_PKModel = ModelCenter.Instance.GetModel<PKModel>()); } } PKModel pKModel { get { return m_PKModel ?? (m_PKModel = ModelCenter.Instance.GetModel<PKModel>()); } } FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } } PlayerMainDate m_MainModel; PlayerMainDate onMainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } } protected override void BindController() { string PkStr = Config.Instance.Get<FuncConfigConfig>("PKText").Numerical1; @@ -46,8 +49,8 @@ protected override void OnPreOpen() { int MapID = PlayerDatas.Instance.baseData.MapID; var config = Config.Instance.Get<MapConfig>(MapID); AtkTypeList = pKModel.GetArea(config.AtkType).ToArray(); var config = Config.Instance.Get<MapConfig>(MapID); AtkTypeList = pKModel.GetArea(config.AtkType).ToArray(); _PkType = Buffmodel.PkType;//获取当前PK状态 if (_PkType != 2) { @@ -96,9 +99,21 @@ else _PkButton.ElectImage.SetActive(false); TextSwitch(cell.index, _PkButton.Model, _PkButton.ContentText); _PkButton.StateSelection.RemoveAllListeners(); _PkButton.StateSelection.RemoveAllListeners(); bool IsBossBool = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域 _PkButton.StateSelection.AddListener(() => { { if (PlayerDatas.Instance.baseData.MapID == 10040 && IsBossBool)//御剑山庄boss区域特殊处理(可切换状态) { DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)cell.index); Close(); return; } if (onMainModel.ActivityList.Contains(PlayerDatas.Instance.baseData.MapID) && !fairyGrabBossModel.grabBossHintOpen)//再前四章新手地图且不在活动区域 { Close();//不允许切换 return; } DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)cell.index); Close(); }); System/MainInterfacePanel/HeadPortraitTip.cs
@@ -61,6 +61,7 @@ RolePromoteModel promoteModel { get { return m_PromoteModel ?? (m_PromoteModel = ModelCenter.Instance.GetModel<RolePromoteModel>()); } } CapacityDelayModel m_CapacityDelayModel; CapacityDelayModel capacityDelayModel { get { return m_CapacityDelayModel ?? (m_CapacityDelayModel = ModelCenter.Instance.GetModel<CapacityDelayModel>()); } } FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } } private int vipExperienceSurplusTime = 0; public void Init() { @@ -198,7 +199,16 @@ bool IsBossBool = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域 if (atkInt.Length > 1) { if (PlayerDatas.Instance.baseData.MapID == 10040 && !IsBossBool) if (PlayerDatas.Instance.baseData.MapID == 10040 && IsBossBool)//御剑山庄boss区域特殊处理(可切换状态) { WindowCenter.Instance.Open<CombatModeWin>(); if (WindowCenter.Instance.CheckOpen<FunctionForecastWin>()) { WindowCenter.Instance.Close<FunctionForecastWin>(); } return; } if (onMainModel.ActivityList.Contains(PlayerDatas.Instance.baseData.MapID) && !fairyGrabBossModel.grabBossHintOpen)//再前四章新手地图且不在活动区域 { SysNotifyMgr.Instance.ShowTip("Map_AtkType"); return; System/MainInterfacePanel/MainInterfaceWin.cs
@@ -133,6 +133,7 @@ TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } } #region Built-in protected override void BindController() @@ -217,7 +218,7 @@ PlayerTaskDatas.CompletionOfTaskEvent += CompletionOfTaskEvent; RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent; NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent; fairyGrabBossModel.bossGrabHintEvent += bossGrabHintEvent; } private void CompletionOfTaskEvent(int obj) @@ -229,6 +230,7 @@ protected override void OnActived() { m_HighSettingTip.OnActived(); IsShowTaskPanel();//是否显示任务面板 } IEnumerator Co_Load() @@ -257,13 +259,11 @@ var inDungeon = IsDungeon(); if (inDungeon) { m_TaskAndTeamTip.SetActive(!inDungeon); m_FunctionForecastTip.gameObject.SetActive(false); if (WindowCenter.Instance.CheckOpen<FunctionForecastWin>()) { WindowCenter.Instance.Close<FunctionForecastWin>(); } m_TaskSwithButton.gameObject.SetActive(false); if (mapId != PlayerDatas.Instance.baseData.MapID) { CopyOfThePanel.localPosition = CopyOfThePosition2.localPosition; @@ -324,15 +324,13 @@ { Event_Duplicates(true, CopyOfThePanelSpeed); } m_TaskAndTeamTip.SetActive(true); m_FunctionForecastTip.gameObject.SetActive(true); m_TaskSwithButton.gameObject.SetActive(true); } mapId = PlayerDatas.Instance.baseData.MapID; m_HighSettingTip.AfterOpen(); m_ChatTip.OnAfterOpen(); HandleAchievement(); } protected override void OnPreClose() @@ -372,6 +370,7 @@ m_CollectBtn.RemoveAllListeners(); GA_NpcCollect.OnArrive -= OnArriveCollectNPC; GA_NpcCollect.OnLeave -= OnLeaveCollectNpc; fairyGrabBossModel.bossGrabHintEvent -= bossGrabHintEvent; m_CollectBtn.gameObject.SetActive(false); } @@ -463,6 +462,10 @@ int mapID = PlayerDatas.Instance.baseData.MapID; var config = Config.Instance.Get<MapConfig>(mapID); int[] atkInt = pKModel.GetArea(config.AtkType).ToArray(); if (onMainModel.ShieldedArea.Contains(PlayerDatas.Instance.baseData.MapID) || fairyGrabBossModel.grabBossHintOpen) { return; } if (atkInt.Length > 1 && Buffmodel.PkType != 5) { onMainModel.AreaState = Buffmodel.PkType; @@ -1032,6 +1035,28 @@ _MarkRay.gameObject.SetActive(false); } private void IsShowTaskPanel()//是否显示任务面板 { var inDungeon = IsDungeon(); if (inDungeon || fairyGrabBossModel.grabBossHintOpen) { m_TaskAndTeamTip.SetActive(false); m_TaskSwithButton.gameObject.SetActive(false); } else { m_TaskAndTeamTip.SetActive(true); m_TaskSwithButton.gameObject.SetActive(true); } } private void bossGrabHintEvent() { IsShowTaskPanel(); if (!fairyGrabBossModel.grabBossHintOpen && Buffmodel.PkType != 0) { DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)0); } } } } System/MainInterfacePanel/PlayerMainDate.cs
@@ -105,6 +105,30 @@ public int FlyShoseTaskID = 0; //--------获取玩家死亡状态 public bool IsDead = false; //----------关于某些副本可以进行地图挂机 public List<int> OneKeyList = new List<int>(); //----------使用娲皇卷轴后的Buff表现 public static event Action EmperorBuffEvent; public bool IsEmperor = false; //---------关于任务需要的数据 public List<int> TaskId_Skill = new List<int>(); public List<int> TaskId_Skill1 = new List<int>(); public int ItemID = 0; public int UnitPrice = 0; public int ItemNumber = 0; public int TaskLv = 0;//任务等级 //-----关于支线翅膀任务的特殊逻辑 public int WingTask = 0; //------ 关于切线PK状态的特殊逻辑 public List<int> ActivityList = new List<int>(); public List<int> ShieldedArea = new List<int>();//需要屏蔽的地图区域 public override void Init() { IsTipBool = true; @@ -126,23 +150,18 @@ GetPassiveSkillTask(); var WingsTask = Config.Instance.Get<FuncConfigConfig>("WingsTask"); WingTask = int.Parse(WingsTask.Numerical1); var ActivityListcon = Config.Instance.Get<FuncConfigConfig>("FairyGrabMapLine"); int[] Activity_List = ConfigParse.GetMultipleStr<int>(ActivityListcon.Numerical1); for (int i = 0; i < Activity_List.Length; i++) { ActivityList.Add(Activity_List[i]); } ShieldedArea.Add(10010); ShieldedArea.Add(10020); ShieldedArea.Add(10030); } //----------关于某些副本可以进行地图挂机 public List<int> OneKeyList = new List<int>(); //----------使用娲皇卷轴后的Buff表现 public static event Action EmperorBuffEvent; public bool IsEmperor = false; //---------关于任务需要的数据 public List<int> TaskId_Skill = new List<int>(); public List<int> TaskId_Skill1 = new List<int>(); public int ItemID = 0; public int UnitPrice = 0; public int ItemNumber = 0; public int TaskLv = 0;//任务等级 //-----关于支线翅膀任务的特殊逻辑 public int WingTask = 0; private void GetPassiveSkillTask()//获取任务数据 { TaskId_Skill.Clear(); System/Vip/LimitedTimePackageWin.cs
@@ -196,30 +196,13 @@ { m_Text_ActivityTimeTo.text = Language.Get("LimitGift2"); } if (time > 86400) if (time > 0) { m_Text_ActivityTimeTo.gameObject.SetActive(false); string str = String.Format(Language.Get("LimitGift1"), TimeUtility.SecondsToDHMSCHS(time)); m_Text_ActivityTimeTo.text = str; // m_Text_ActivityTimeTo.color = UIHelper.GetUIColor(TextColType.Green); } else { if (!m_Text_ActivityTimeTo.gameObject.activeSelf) { m_Text_ActivityTimeTo.gameObject.SetActive(true); } if (time < 3600) { string str = String.Format(Language.Get("LimitGift1"), TimeUtility.SecondsToHMS(time)); m_Text_ActivityTimeTo.text = str; m_Text_ActivityTimeTo.color = UIHelper.GetUIColor(TextColType.Green); } else { string str = String.Format(Language.Get("LimitGift1"), TimeUtility.SecondsToHMS(time)); m_Text_ActivityTimeTo.text = str; m_Text_ActivityTimeTo.color = UIHelper.GetUIColor(TextColType.Green); } } } #endregion System/WindowJump/WindowJumpMgr.cs
@@ -453,6 +453,9 @@ case JumpUIType.LootPreciousFrameFunc1: SetJumpLogic<LootPreciousFrameWin>(_tagWinSearchModel.TABID); break; case JumpUIType.FairyGrabBoss: SetJumpLogic<LootPreciousFrameWin>(_tagWinSearchModel.TABID); break; case JumpUIType.LootPreciousFrameSpec: DemonJarWin.guideChallenge =true; SetJumpLogic<LootPreciousFrameWin>(_tagWinSearchModel.TABID); @@ -1140,6 +1143,7 @@ TrialDungeonSelect3 = 219, //宗门试练三层 FindPreciousFrameFunc4Type2 = 220, //古神禁地界面 返回主界面 FindPreciousFrameFunc2Type2 = 221, //BOSS之家 返回主界面 FairyGrabBoss = 222, //骑宠争夺 OpenServerGift1 = 223, //超值礼包1 OpenServerGift2 = 224, //超值礼包2 OpenServerGift3 = 225, //超值礼包3