Fight/GameActor/GA_Hero.cs
@@ -986,8 +986,22 @@ PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } } PlayerMainDate m_MainModel; PlayerMainDate onMainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } } public float Second = 2.5f; private float timeType = 0f; private bool isbool = true; private void UpdateAutoStartFight() { timeType += Time.deltaTime; if (timeType> Second && !isbool) { timeType = 0f; isbool = true; } if (timeType > Second && isbool) { timeType = 0f; } if (DTCB105_tagMCPlayerWallow.forceOffLine) { return; @@ -997,6 +1011,7 @@ { return; } if (taskmodel.IsTaskMove()) { if (Time.realtimeSinceStartup - m_CalculAutoFightTime > taskmodel.TaskAutoTime @@ -1058,7 +1073,17 @@ { yield break; } taskmodel.TaskMove(taskmodel.currentMission); if (PlayerDatas.Instance.hero != null && PlayerDatas.Instance.hero.State == E_ActorState.AutoRun && onMainModel.MoveBool) { yield break; } if (isbool) { isbool = false; taskmodel.TaskMove(taskmodel.currentMission); } } private bool IsDungeon()//判断是否在副本中 { System/CrossServerOneVsOne/CrossSercerOneVsOneMatchState.cs
New file @@ -0,0 +1,47 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, December 27, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System; namespace Snxxz.UI { public class CrossSercerOneVsOneMatchState:MonoBehaviour { [SerializeField] GameObject m_Obj; CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } } private void OnEnable() { crossServerModel.UpdateMatchStateEvent -= UpdateMatchStateEvent; crossServerModel.UpdateMatchStateEvent += UpdateMatchStateEvent; SetObj(); } private void OnDisable() { } private void UpdateMatchStateEvent() { SetObj(); } private void SetObj() { if (crossServerModel.IsMatching) { m_Obj.SetActive(true); } else { m_Obj.SetActive(false); } } } } System/CrossServerOneVsOne/CrossSercerOneVsOneMatchState.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: d75517d15d56e4443af5a6e98b642f8b timeCreated: 1545907574 licenseType: Free MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/CrossServerOneVsOne/CrossServerOneVsOneArenaWin.cs
@@ -125,7 +125,9 @@ { winRateText.text = CrossServerOneVsOnePlayerInfo.Instance.DisplayWinningRate(); sumNumText.text = CrossServerOneVsOnePlayerInfo.Instance.PKCount.ToString(); winStreakText.text = CrossServerOneVsOnePlayerInfo.Instance.CWinCount.ToString(); int winSteakCnt = CrossServerOneVsOnePlayerInfo.Instance.CWinCount; winSteakCnt = winSteakCnt > 1 ? winSteakCnt : 0; winStreakText.text = winSteakCnt.ToString(); } private void UpdateMinute() System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -18,7 +18,19 @@ public const int CrossServerDataMapId = 32010; DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } public bool IsMatching { get; set;} public event Action UpdateMatchStateEvent; private bool _isMatching; public bool IsMatching { get { return _isMatching; } set { _isMatching = value; if(UpdateMatchStateEvent != null) { UpdateMatchStateEvent(); } } } public DateTime matchStartTime { get; set; } public DateTime roundEndTime { get; private set; } public override void Init() System/CrossServerOneVsOne/CrossServerOneVsOnePkResult.cs
@@ -89,6 +89,7 @@ score = 0; if (WinStreak < 2) return false; WinStreak = WinStreak - 1; Equation.Instance.Clear(); Equation.Instance.AddKeyValue("cWinCount",WinStreak); score = Equation.Instance.Eval<int>(crossServerModel.winStreakScoreFormula); System/CrossServerOneVsOne/CrossServerOneVsOneRoundWin.cs
@@ -80,7 +80,7 @@ var surplusTime = Mathf.Clamp((int)(crossServerModel.roundEndTime - DateTime.Now).TotalSeconds, 0, int.MaxValue); if (coolTime != surplusTime) { coolTime = surplusTime; coolTime = surplusTime + 1; coolTimeText.text = coolTime.ToString(); } } System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -117,7 +117,7 @@ public bool IsShowCrossServerOneVsOne()//是否开启跨服按钮 { bool Isbool = false; if (PlayerDatas.Instance.baseData.LV >= MianOpenLV && TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross) if (PlayerDatas.Instance.baseData.LV >= MianOpenLV) { Isbool = true; } System/CrossServerOneVsOne/FightingPKWin.cs
@@ -64,6 +64,7 @@ protected override void OnPreOpen() { positionType = (int)PlayerDatas.Instance.baseData.faction; DebugEx.LogError(positionType+"服务端的给我的位置"); CrossServerRewardModel.PkDanLvNow = CrossServerOneVsOnePlayerInfo.Instance.DanLV; PlaceOfBirth(positionType);//从出生位置设置信息 _MyBuffSortList.Clear(); @@ -219,6 +220,7 @@ } private void OnRefreshPlayerLifeBar(uint _instanceId, ulong _hp, ulong _maxHp) { DebugEx.LogError("最大血量"+ _maxHp+"当前血量"+ _hp); if (positionType == 1) { m_RoleInformation2.SetHeroHP((int)_maxHp, (int)_hp); @@ -254,7 +256,7 @@ } else { _hero.Behaviour.StopHandupAI(); _hero.Behaviour.StopHandupAI(true); } } //m_AutoImg.SetActive(!m_AutoImg.activeSelf); System/MainInterfacePanel/HighSettingTip.cs
@@ -372,14 +372,14 @@ } else { if (PlayerDatas.Instance.baseData.LV >= limitlv) if (PlayerDatas.Instance.baseData.LV < limitlv) { SysNotifyMgr.Instance.ShowTip("CrossMatching14", limitlv); } else { SysNotifyMgr.Instance.ShowTip("CrossMatching15", crossServerModel.afterOpenDayOpenCross); } } } } System/MainInterfacePanel/PlayerTaskDatas.cs
@@ -131,7 +131,6 @@ //----关于前期无操作自动执行主线 public int TaskAutoLv = 0; public int TaskAutoTime = 0; PlayerPackModel _playerPack; PlayerPackModel playerPack { @@ -154,7 +153,7 @@ BossDelayTimeint = float.Parse(BossDelayTime); var Task_Auto = Config.Instance.Get<FuncConfigConfig>("TaskAuto"); TaskAutoLv = int.Parse(Task_Auto.Numerical1); TaskAutoTime= int.Parse(Task_Auto.Numerical2); TaskAutoTime = int.Parse(Task_Auto.Numerical2); } public override void UnInit() @@ -192,11 +191,11 @@ { GlobalTimeEvent.Instance.secondEvent -= secondEvent; GlobalTimeEvent.Instance.secondEvent += secondEvent; TaskAllocation.Instance.TaskTime= TimeUtility.ServerNow; AutomaticityBool = true; TaskAllocation.Instance.TaskTime = TimeUtility.ServerNow; AutomaticityBool = true; } private void onStageLoadFinish()//地图切换时调用 { @@ -215,7 +214,7 @@ { try { if (AutomaticityBool && MissionState!=3 && MissionID!=2000 && MissionID!=3000) if (AutomaticityBool && MissionState != 3 && MissionID != 2000 && MissionID != 3000) { TaskupToDate = MissionID; } @@ -245,7 +244,7 @@ } TaskChanges(MissionID, MissionState, DiscriptionIndex);//任务的状态修改 if (missionState == 0 && (MissionState == 1 || MissionState==2)) if (missionState == 0 && (MissionState == 1 || MissionState == 2)) { if (Event_TaskToAdd != null)//任务添加(用于存储于身上的未接取任务的特殊处理) { @@ -259,7 +258,7 @@ Event_TaskRefreshes(MissionID); } } } else { @@ -385,7 +384,7 @@ if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing) { RequestGetTaskAward("OK"); } } } } } @@ -849,6 +848,7 @@ public void RequestGetTaskAward(string _answer) { var sendInfo = new C0802_tagCNPCAnswer(); sendInfo.Answer = _answer; sendInfo.AnswerLen = (byte)_answer.Length; @@ -880,13 +880,13 @@ { if (MainTaskDic.ContainsKey(_MissionId) && MainCardLevelChange != null && _DictValue == 0) { if (IsGetOnBool) { GetNowTaskID = _MissionId; } MainCardLevelChange(_MissionId); } } } @@ -895,14 +895,14 @@ if (_DicTaskInformation[_MissionId].ContainsKey(_DictKey)) { _DicTaskInformation[_MissionId][_DictKey] = _DictValue.ToString(); if (_DictKey == "kaji" && (_DictValue == 0|| _DictValue == 1))//kaji:0为主线卡级变更,kaji:1为魔族卡级变更 if (_DictKey == "kaji" && (_DictValue == 0 || _DictValue == 1))//kaji:0为主线卡级变更,kaji:1为魔族卡级变更 { if (CardLevelChange != null) { CardLevelChange(_MissionId); } if (MainTaskDic.ContainsKey(_MissionId)) { { if (IsGetOnBool) { GetNowTaskID = _MissionId; @@ -1526,22 +1526,22 @@ public int TaskupToDate = 0;//获取最新任务ID public int GetOnTaskId = 0; public bool IsGetOnBool = false; private int NeedTime = 10; private int NeedTime = 10; private DateTime dateTimeA; public void GetTaskGetOnNow(int TaskID, string DictKey)//记录下信息字典的ID public void GetTaskGetOnNow(int TaskID, string DictKey)//记录下信息字典的ID { string key1Str = "on_kill_" + TaskID; string key2Str = "get_byid_" + TaskID; if (TaskID > 1 && (key1Str== DictKey || key2Str== DictKey)) if (TaskID > 1 && (key1Str == DictKey || key2Str == DictKey)) { GetOnTaskId = TaskID; dateTimeA =DateTime.Now; dateTimeA = DateTime.Now; } } private void secondEvent() { TimeSpan timeS =DateTime.Now- dateTimeA; TimeSpan timeS = DateTime.Now - dateTimeA; int timeSend = timeS.Seconds; if (timeSend >= NeedTime) { @@ -1573,7 +1573,7 @@ return IsBool; } public void TaskMove(int _taskID) { { if (allMissionDict.ContainsKey(_taskID) && !NewBieCenter.Instance.inGuiding) { string _strTest = allMissionDict[_taskID].InforList; System/Treasure/KingThreeDimensionsBehaviour.cs
@@ -45,7 +45,9 @@ displayTreasureId = treasureId; var season = 0; if (model.TryGetSeason(treasureId, out season)) Treasure treasure; if (model.TryGetSeason(treasureId, out season) && treasureModel.TryGetTreasure(treasureId, out treasure)) { var seasonNotStart = season > CrossServerOneVsOnePKSeason.Instance.SeasonID; m_ContainerSeasonNotStart.gameObject.SetActive(seasonNotStart); @@ -57,18 +59,17 @@ m_EndState.gameObject.SetActive(seasonEnd); m_OnGoingState.gameObject.SetActive(!seasonEnd); m_Season.text = season.ToString(); m_Division.gameObject.SetActive(seasonEnd); m_Division.gameObject.SetActive(seasonEnd && treasure.state == TreasureState.Collected); CrossServerOneVsOneModel.CrossServerOneVsOneHistory history; if (oneVsOneModel.TryGetOneVsOneHistory(season, out history)) { var divisionConfig = Config.Instance.Get<CrossServerArenaConfig>(history.division); m_Division.gameObject.SetActive(divisionConfig != null); if (divisionConfig != null) { m_Division.text = divisionConfig.Name; m_Division.color = UIHelper.GetDanLVColor(history.division); } m_Score.gameObject.SetActive(true); m_Score.gameObject.SetActive(treasure.state == TreasureState.Collected); m_Score.text = Language.Get("KingTreasureScore", model.GetSeasonScore(treasureId)); } else System/Treasure/KingTreasureModel.cs
@@ -73,11 +73,27 @@ dict = new Dictionary<int, Division>(); treasureDivisionDict.Add(configs[i].MWID, dict); } dict.Add(configs[i].LV, new Division() Division division = new Division(); division.division = configs[i].LV; division.basePropertys = new Dictionary<int, int>(); division.specialPropertys = new Dictionary<int, int>(); var propertys = ConfigParse.GetDic<int, int>(configs[i].AddAttr); if (propertys != null) { division = configs[i].LV, propertys = ConfigParse.GetDic<int, int>(configs[i].AddAttr), }); foreach (var key in propertys.Keys) { var propertyConfig = Config.Instance.Get<PlayerPropertyConfig>(key); if (propertyConfig.type == 2) { division.specialPropertys.Add(key, propertys[key]); } else { division.basePropertys.Add(key, propertys[key]); } } } dict.Add(configs[i].LV, division); } } @@ -192,16 +208,23 @@ if (oneVsOneModel.TryGetOneVsOneHistory(season, out history)) { Division division; if (TryGetDivision(treasureId, history.rewardLevel, out division) && division.propertys != null) if (TryGetDivision(treasureId, history.rewardLevel, out division)) { Equation.Instance.Clear(); foreach (var key in division.propertys.Keys) foreach (var key in division.basePropertys.Keys) { var config = Config.Instance.Get<PlayerPropertyConfig>(key); if (config != null) { Equation.Instance.AddKeyValue(config.Parameter, division.propertys[key]); Equation.Instance.AddKeyValue(config.Parameter, division.basePropertys[key]); } } foreach (var key in division.specialPropertys.Keys) { var config = Config.Instance.Get<PlayerPropertyConfig>(key); if (config != null) { Equation.Instance.AddKeyValue(config.Parameter, division.specialPropertys[key]); } } score = Equation.Instance.Eval<int>(scoreFormula); @@ -234,7 +257,8 @@ public struct Division { public int division; public Dictionary<int, int> propertys; public Dictionary<int, int> basePropertys; public Dictionary<int, int> specialPropertys; } } } System/Treasure/KingTreasureWin.cs
@@ -110,7 +110,7 @@ var config = Config.Instance.Get<TreasureConfig>(model.selectedTreasure); if (config != null) { m_TreasureNameIcon.SetSprite(config.NameIcon); m_TreasureNameIcon.SetSprite(config.TreasureNameIcon); } } @@ -143,8 +143,6 @@ { m_ContainerGot.gameObject.SetActive(true); CrossServerOneVsOneModel.CrossServerOneVsOneHistory history; List<int> basePropertys = new List<int>(); List<int> specialPropertys = new List<int>(); var session = 0; if (kingTreasureModel.TryGetSeason(model.selectedTreasure, out session) && crossServerOneVsOneModel.TryGetOneVsOneHistory(session, out history)) @@ -157,46 +155,41 @@ m_Division.color = UIHelper.GetDanLVColor(history.division); } KingTreasureModel.Division division; if (kingTreasureModel.TryGetDivision(model.selectedTreasure, history.rewardLevel, out division)) bool containsDivision = kingTreasureModel.TryGetDivision(model.selectedTreasure, history.rewardLevel, out division); m_ContainerBaseProperty.gameObject.SetActive(containsDivision && division.basePropertys.Count > 0); m_ContainerSpecialProperty.gameObject.SetActive(containsDivision && division.specialPropertys.Count > 0); if (containsDivision && division.basePropertys.Count > 0) { if (division.propertys != null) var index = 0; foreach (var key in division.basePropertys.Keys) { foreach (var key in division.propertys.Keys) if (index < m_BasePropertys.Length) { var config = Config.Instance.Get<PlayerPropertyConfig>(key); if (config.type == 2) { specialPropertys.Add(key); } else { basePropertys.Add(key); } m_BasePropertys[index].gameObject.SetActive(true); m_BasePropertys[index].DisplayUpper(key, division.basePropertys[key]); } index++; } for (int i = index; i < m_BasePropertys.Length; i++) { m_BasePropertys[i].gameObject.SetActive(false); } } m_ContainerBaseProperty.gameObject.SetActive(basePropertys.Count > 0); m_ContainerSpecialProperty.gameObject.SetActive(specialPropertys.Count > 0); if (basePropertys.Count > 0) if (containsDivision && division.specialPropertys.Count > 0) { for (int i = 0; i < m_BasePropertys.Length; i++) var index = 0; foreach (var key in division.specialPropertys.Keys) { m_BasePropertys[i].gameObject.SetActive(i < basePropertys.Count); if (i < basePropertys.Count) if (index < m_SpecialPropertys.Length) { m_BasePropertys[i].DisplayUpper(basePropertys[i], division.propertys[basePropertys[i]]); m_SpecialPropertys[index].gameObject.SetActive(true); m_SpecialPropertys[index].DisplayUpper(key, division.specialPropertys[key]); } index++; } } if (specialPropertys.Count > 0) { for (int i = 0; i < m_SpecialPropertys.Length; i++) for (int i = index; i < m_SpecialPropertys.Length; i++) { m_SpecialPropertys[i].gameObject.SetActive(i < specialPropertys.Count); if (i < specialPropertys.Count) { m_BasePropertys[i].DisplayUpper(basePropertys[i], division.propertys[basePropertys[i]]); } m_SpecialPropertys[i].gameObject.SetActive(false); } } } System/Treasure/TreasureNewGotWin.cs
@@ -419,60 +419,51 @@ if ((TreasureCategory)config.Category == TreasureCategory.King) { Dictionary<int, int> basePropertys = new Dictionary<int, int>(); Dictionary<int, int> specialPropertys = new Dictionary<int, int>(); var season = 0; Dictionary<int, int> basePropertys = null; Dictionary<int, int> specialPropertys = null; if (kingTreasureModel.TryGetSeason(config.ID, out season)) { CrossServerOneVsOneModel.CrossServerOneVsOneHistory history; if (oneVsOneModel.TryGetOneVsOneHistory(season, out history)) { KingTreasureModel.Division division; if (kingTreasureModel.TryGetDivision(config.ID, history.rewardLevel, out division) && division.propertys != null) if (kingTreasureModel.TryGetDivision(config.ID, history.rewardLevel, out division)) { foreach (var key in division.propertys.Keys) { var propertyConfig = Config.Instance.Get<PlayerPropertyConfig>(key); if (propertyConfig == null) { continue; } if (propertyConfig.type == 2) { specialPropertys.Add(key, division.propertys[key]); } else { basePropertys.Add(key, division.propertys[key]); } } basePropertys = division.basePropertys; specialPropertys = division.specialPropertys; } } } var propertyIndex = 0; foreach (var key in basePropertys.Keys) if (basePropertys != null) { if (propertyIndex < m_BasePropertys.Length) foreach (var key in basePropertys.Keys) { m_BasePropertys[propertyIndex].gameObject.SetActive(true); m_BasePropertys[propertyIndex].DisplayUpper(key, basePropertys[key]); if (propertyIndex < m_BasePropertys.Length) { m_BasePropertys[propertyIndex].gameObject.SetActive(true); m_BasePropertys[propertyIndex].DisplayUpper(key, basePropertys[key]); } propertyIndex++; } propertyIndex++; } for (int i = propertyIndex; i < m_BasePropertys.Length; i++) { m_BasePropertys[i].gameObject.SetActive(false); } propertyIndex = 0; foreach (var key in specialPropertys.Keys) if (specialPropertys != null) { if (propertyIndex < m_SpecialPropertys.Length) foreach (var key in specialPropertys.Keys) { m_SpecialPropertys[propertyIndex].gameObject.SetActive(true); m_SpecialPropertys[propertyIndex].DisplayUpper(key, specialPropertys[key]); if (propertyIndex < m_SpecialPropertys.Length) { m_SpecialPropertys[propertyIndex].gameObject.SetActive(true); m_SpecialPropertys[propertyIndex].DisplayUpper(key, specialPropertys[key]); } propertyIndex++; } propertyIndex++; } for (int i = propertyIndex; i < m_SpecialPropertys.Length; i++) {