Merge branch 'master' into Cross_Server
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Friday, November 23, 2018 |
| | | // [ Date ]: Tuesday, December 11, 2018 |
| | | //-------------------------------------------------------- |
| | | |
| | | using UnityEngine; |
| | |
| | | |
| | | public partial class GodWeaponEffectConfig : ConfigBase { |
| | | |
| | | public int id { get ; private set ; } |
| | | public int type { get ; private set ; } |
| | | public int level { get ; private set ; } |
| | | public string effect { get ; private set; } |
| | | public int id { get ; private set ; }
|
| | | public int type { get ; private set ; }
|
| | | public int level { get ; private set ; }
|
| | | public string effect { get ; private set; } |
| | | public int fightPower { get ; private set ; }
|
| | | public string attr { get ; private set; } |
| | | |
| | | public override string getKey() |
| | | { |
| | |
| | | public override void Parse() { |
| | | try |
| | | { |
| | | id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; |
| | | |
| | | type=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; |
| | | |
| | | level=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; |
| | | |
| | | effect = rawContents[3].Trim(); |
| | | id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; |
| | | |
| | | type=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; |
| | | |
| | | level=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; |
| | | |
| | | effect = rawContents[3].Trim();
|
| | | |
| | | fightPower=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0; |
| | | |
| | | attr = rawContents[5].Trim(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | fileFormatVersion: 2 |
| | | guid: c7a22e75f9a0eed49aed26e8171f8172 |
| | | timeCreated: 1542943278 |
| | | timeCreated: 1544496205 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | ActorInfo.MaxHp = m_H0406.MaxHP; |
| | | ActorInfo.familyID = 0; |
| | | ActorInfo.familyName = ""; |
| | | ActorInfo.realm = (uint)Random.Range(3, 9); |
| | | |
| | | // ------------------------------------------------------------------------- |
| | | // ------------------------------------------------------------------------- |
| | | // ------------------------------------------------------------------------- |
| | |
| | | } |
| | | } |
| | | |
| | | foreach (var _lv in GeneralDefine.SgzcRealm.Keys) |
| | | { |
| | | if (ActorInfo.LV <= _lv) |
| | | { |
| | | ActorInfo.realm = (uint)GeneralDefine.SgzcRealm[_lv]; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | m_CmdManager = new CmdManager(); |
| | | |
| | | SyncHelpPlayerInfo(); |
| | |
| | | base.Display(_data);
|
| | | bossId = (int)_data;
|
| | |
|
| | | var bossInfoQuery = this.AddMissingComponent<RebornRightNowBossInfoQuery>();
|
| | | var bossInfoQuery = m_RefreshAtOnce.AddMissingComponent<RebornRightNowBossInfoQuery>();
|
| | | bossInfoQuery.bossId = bossId;
|
| | | findPreciousModel.bossSubscribeChangeEvent -= OnSubscribe;
|
| | | findPreciousModel.bossSubscribeChangeEvent += OnSubscribe;
|
| | |
| | | }
|
| | |
|
| | | Dictionary<int, BossInfo> bossInfos = new Dictionary<int, BossInfo>();
|
| | | List<BossNotify> bossNotifies = new List<BossNotify>();
|
| | | public List<BossNotify> bossNotifies = new List<BossNotify>();
|
| | |
|
| | | BossNotify m_CurrentBossNotify = default(BossNotify);
|
| | | public BossNotify currentBossNotify {
|
| | |
| | | var bossId = (int)serverBossInfo.BossID;
|
| | |
|
| | | var bossOldAliveState = IsBossAlive(bossId);
|
| | |
|
| | | if (!bossInfos.ContainsKey(bossId))
|
| | | {
|
| | | bossInfos[bossId] = new BossInfo(bossId);
|
| | | }
|
| | |
|
| | | bossInfos[bossId].UpdateBossInfo(serverBossInfo);
|
| | |
|
| | | var bossNewAliveState = IsBossAlive(bossId);
|
| | | if (!IsBossAlive(bossId))
|
| | | if (!bossNewAliveState)
|
| | | {
|
| | | RemoveOneBossRebornNotify(bossId);
|
| | | }
|
| | | else
|
| | |
|
| | | if (bossNewAliveState != bossOldAliveState)
|
| | | {
|
| | | if (bossNewAliveState != bossOldAliveState)
|
| | | if (Config.Instance.ContainKey<DemonJarConfig>(bossId))
|
| | | {
|
| | | if (Config.Instance.ContainKey<DemonJarConfig>(bossId))
|
| | | if (bossNewAliveState)
|
| | | {
|
| | | var config = Config.Instance.Get<DemonJarConfig>(bossId);
|
| | | var grade = dungeonModel.GetGrade(new Dungeon(DemonJarModel.DEMONJAR_MAPID, config.LineID));
|
| | |
| | | AddOneBossRebornNotify(bossId);
|
| | | }
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (bossNewAliveState || (bossInfos[bossId].refreshTime - TimeUtility.ServerNow).TotalSeconds < PREPOSE_SECONDS)
|
| | | {
|
| | | AddOneBossRebornNotify(bossId);
|
| | | }
|
| | | else
|
| | | {
|
| | | if ((bossInfos[bossId].refreshTime - TimeUtility.ServerNow).TotalSeconds < PREPOSE_SECONDS)
|
| | | {
|
| | | AddOneBossRebornNotify(bossId);
|
| | | }
|
| | | else
|
| | | {
|
| | | FindPreciousTimer.Instance.AddClock(bossId, bossInfos[bossId].refreshTime);
|
| | | }
|
| | | FindPreciousTimer.Instance.AddClock(bossId, bossInfos[bossId].refreshTime);
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | if (bossInfoUpdateEvent != null)
|
| | |
| | | return FindPreciousType.None;
|
| | | }
|
| | |
|
| | | private BossNotify GetNextBossNotify()
|
| | | public BossNotify GetNextBossNotify()
|
| | | {
|
| | | if (bossNotifies.Count > 0)
|
| | | {
|
| | |
| | | public int bossId { get; set; } |
| | | |
| | | FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } |
| | | bool isRebornRightNow { |
| | | get { |
| | | FindPreciousModel.BossInfo bossInfo = null; |
| | | if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo)) |
| | | { |
| | | return !findPreciousModel.IsBossAlive(bossId) && TimeUtility.ServerNow > bossInfo.refreshTime; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | float rebornRightNowBossQueryTime = 0f; |
| | | private void OnEnable() |
| | | { |
| | | rebornRightNowBossQueryTime = 0f; |
| | | rebornRightNowBossQueryTime = Time.realtimeSinceStartup + 2f; |
| | | } |
| | | |
| | | private void LateUpdate() |
| | | { |
| | | if (Time.realtimeSinceStartup > rebornRightNowBossQueryTime) |
| | | { |
| | | if (isRebornRightNow) |
| | | { |
| | | rebornRightNowBossQueryTime = Time.realtimeSinceStartup + 5f; |
| | | findPreciousModel.RequestQueryBossInfo(bossId); |
| | | } |
| | | rebornRightNowBossQueryTime = Time.realtimeSinceStartup + 5f; |
| | | findPreciousModel.RequestQueryBossInfo(bossId); |
| | | } |
| | | } |
| | | |
| | |
| | | public static int DemonJarAutoTime { get; private set; } |
| | | |
| | | public static Dictionary<int, Dictionary<int, GA_NpcFightSgzcZZ.EquipRandomInfo>> SgzzRobotEquipDict { get; private set; } |
| | | public static Dictionary<int, int> SgzcRealm { get; private set; } |
| | | |
| | | public static void Init() |
| | | { |
| | |
| | | _jobDict.Add(_lv, _randEquip); |
| | | } |
| | | } |
| | | |
| | | SgzzRobotEquipDict.Add(job, _jobDict); |
| | | |
| | | } |
| | | } |
| | | |
| | | if (SgzcRealm == null) |
| | | { |
| | | SgzcRealm = new Dictionary<int, int>(); |
| | | |
| | | var _lvArr = GetInputString("SGZCRobotRealm", 1).Split('|'); |
| | | var _rLvArr = GetInputString("SGZCRobotRealm", 2).Split('|'); |
| | | |
| | | for (int j = 0; j < _lvArr.Length; ++j) |
| | | { |
| | | SgzcRealm[int.Parse(_lvArr[j])] = int.Parse(_rLvArr[j]); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | |
|
| | | private List<int> DemonMissionTypeList = new List<int>();//魔族
|
| | | private List<string> DemonMissionTypeListKey = new List<string>();//魔族
|
| | |
|
| | | private List<int> TransportTask = new List<int>();//在PK状态下或打Boss状态下依旧可以传送的任务id
|
| | | PlayerTaskDatas m_TaskModel;
|
| | | PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
|
| | | PlayerPackModel _playerPack;
|
| | |
| | | {
|
| | | case -5:
|
| | | case 0:
|
| | | bool Bool= StateDetermination();
|
| | | if (Bool)
|
| | | if (TransportTask.Contains(Task_ID))
|
| | | {
|
| | | return;
|
| | |
|
| | | }
|
| | | else
|
| | | {
|
| | | bool Bool = StateDetermination();
|
| | | if (Bool)
|
| | | {
|
| | | return;
|
| | | }
|
| | | } |
| | | if (mainModel.TaskId_Skill.Contains(Task_ID))
|
| | | {
|
| | | mainModel.TaskSkillID = Task_ID;
|
| | |
| | | DemonMissionTypeList.Add(DemonMissionType[i]);
|
| | | DemonMissionTypeListKey.Add(DemonMissionType1[i]);
|
| | | }
|
| | | var TransportTaskConfig= Config.Instance.Get<FuncConfigConfig>("TransportTask").Numerical1;
|
| | | int[] TransportTaskList = ConfigParse.GetMultipleStr<int>(TransportTaskConfig);
|
| | | TransportTask.Clear();
|
| | | for (int i = 0; i < TransportTaskList.Length; i++)
|
| | | {
|
| | | TransportTask.Add(TransportTaskList[i]);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | int pushId = exchageModel.currentShopId;
|
| | | m_HelpPointExchangeNotify.gameObject.SetActive(pushId != 0);
|
| | | if(pushId != 0)
|
| | | if (pushId != 0)
|
| | | {
|
| | | m_HelpPointExchangeNotify.SetDisplay();
|
| | | }
|
| | |
| | |
|
| | | private void CheckBossReborn()
|
| | | {
|
| | | var notifies = findPreciousModel.bossNotifies;
|
| | | for (var i = notifies.Count - 1; i >= 0; i--)
|
| | | {
|
| | | if (BossFakeLineUtility.Instance.IsBossVisible(findPreciousModel.currentBossNotify.bossId))
|
| | | {
|
| | | findPreciousModel.ReportConfirmBossRebornNotify(findPreciousModel.currentBossNotify);
|
| | | continue;
|
| | | }
|
| | |
|
| | | var findPreciousType = findPreciousModel.GetBossFindPreciousType(findPreciousModel.currentBossNotify.bossId);
|
| | | var killable = false;
|
| | | var show = true;
|
| | | var mapId = PlayerDatas.Instance.baseData.MapID;
|
| | | switch (findPreciousType)
|
| | | {
|
| | | case FindPreciousType.WorldBoss:
|
| | | killable = worldBossModel.wearyValue < GeneralDefine.bossWearyValues[0] + worldBossModel.extraBossWearyValue;
|
| | | show = !GeneralDefine.worldBossNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | case FindPreciousType.BossHome:
|
| | | killable = true;
|
| | | show = !GeneralDefine.bossHomeNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | case FindPreciousType.ElderGodArea:
|
| | | var elderGodEnterTimes = dungeonModel.GetEnterTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
|
| | | var elderGodTotalTimes = dungeonModel.GetTotalTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
|
| | | killable = elderGodTotalTimes > elderGodEnterTimes;
|
| | | show = !GeneralDefine.elderGodNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | case FindPreciousType.DemonJar:
|
| | | var totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
|
| | | var enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DEMONJAR_MAPID);
|
| | | killable = totalTimes > enterTimes;
|
| | | show = !GeneralDefine.demonJarNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | case FindPreciousType.DogzDungeon:
|
| | | killable = dogzDungeonModel.wearyValue < GeneralDefine.bossWearyValues[2];
|
| | | show = !GeneralDefine.dogzNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | }
|
| | |
|
| | | if (!killable)
|
| | | {
|
| | | findPreciousModel.ReportConfirmBossRebornNotify(findPreciousModel.currentBossNotify);
|
| | | continue;
|
| | | }
|
| | |
|
| | | if (!show)
|
| | | {
|
| | | findPreciousModel.ReportConfirmBossRebornNotify(findPreciousModel.currentBossNotify);
|
| | | continue;
|
| | | }
|
| | |
|
| | | if (findPreciousModel.currentBossNotify != default(FindPreciousModel.BossNotify))
|
| | | {
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | if (findPreciousModel.currentBossNotify == default(FindPreciousModel.BossNotify))
|
| | | {
|
| | | m_BossRebornPusher.gameObject.SetActive(false);
|
| | | }
|
| | | else
|
| | | {
|
| | | if (!BossFakeLineUtility.Instance.IsBossVisible(findPreciousModel.currentBossNotify.bossId))
|
| | | {
|
| | | var findPreciousType = findPreciousModel.GetBossFindPreciousType(findPreciousModel.currentBossNotify.bossId);
|
| | |
|
| | | var killable = false;
|
| | | var show = true;
|
| | | var mapId = PlayerDatas.Instance.baseData.MapID;
|
| | | switch (findPreciousType)
|
| | | {
|
| | | case FindPreciousType.WorldBoss:
|
| | | killable = worldBossModel.wearyValue < GeneralDefine.bossWearyValues[0] + worldBossModel.extraBossWearyValue;
|
| | | show = !GeneralDefine.worldBossNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | case FindPreciousType.BossHome:
|
| | | killable = true;
|
| | | show = !GeneralDefine.bossHomeNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | case FindPreciousType.ElderGodArea:
|
| | | var elderGodEnterTimes = dungeonModel.GetEnterTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
|
| | | var elderGodTotalTimes = dungeonModel.GetTotalTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
|
| | | killable = elderGodTotalTimes > elderGodEnterTimes;
|
| | | show = !GeneralDefine.elderGodNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | case FindPreciousType.DemonJar:
|
| | | var totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
|
| | | var enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DEMONJAR_MAPID);
|
| | | killable = totalTimes > enterTimes;
|
| | | show = !GeneralDefine.demonJarNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | case FindPreciousType.DogzDungeon:
|
| | | killable = dogzDungeonModel.wearyValue < GeneralDefine.bossWearyValues[2];
|
| | | show = !GeneralDefine.dogzNoRebornRemindMaps.Contains(mapId);
|
| | | break;
|
| | | }
|
| | |
|
| | | if (killable)
|
| | | {
|
| | | if (show)
|
| | | {
|
| | | m_BossRebornPusher.DisplayRebornBoss();
|
| | | m_BossRebornPusher.gameObject.SetActive(true);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | findPreciousModel.ReportConfirmBossRebornNotify(findPreciousModel.currentBossNotify);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | findPreciousModel.ReportConfirmBossRebornNotify(findPreciousModel.currentBossNotify);
|
| | | }
|
| | | m_BossRebornPusher.gameObject.SetActive(true);
|
| | | m_BossRebornPusher.DisplayRebornBoss();
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | // }
|
| | |
|
| | | //}
|
| | | if (WindowCenter.Instance.IsOpen("MainInterfaceWin"))
|
| | | if (Parent.gameObject.activeInHierarchy)
|
| | | {
|
| | | StartCoroutine(WaitAddTask(MissionID, MissionState));
|
| | | }
|
| | |
| | | }
|
| | | if (skillConfig.LearnSkillReq != 0)
|
| | | {
|
| | | TalentSkill learnTalent;
|
| | | if (TryGetTalent(skillConfig.LearnSkillReq, out learnTalent))
|
| | | var reqSkillConfig = Config.Instance.Get<SkillConfig>(skillConfig.LearnSkillReq);
|
| | | if (reqSkillConfig.FuncType == 1)
|
| | | {
|
| | | if (learnTalent.level < skillConfig.LearnSkillLV)
|
| | | if (PlayerDatas.Instance.skill.GetSKillById(skillConfig.LearnSkillReq) == null)
|
| | | {
|
| | | error = 4;
|
| | | error = 6;
|
| | | return false;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | TalentSkill learnTalent;
|
| | | if (TryGetTalent(skillConfig.LearnSkillReq, out learnTalent))
|
| | | {
|
| | | if (learnTalent.level < skillConfig.LearnSkillLV)
|
| | | {
|
| | | error = 4;
|
| | | return false;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | case 5:
|
| | | SysNotifyMgr.Instance.ShowTip("TalentRequirePropertyLimit");
|
| | | break;
|
| | | case 6:
|
| | | TalentSkill talent;
|
| | | if (TryGetTalent(talentId, out talent))
|
| | | {
|
| | | var skillConfig = talent.GetSkillConfig();
|
| | | var treasureModel = ModelCenter.Instance.GetModel<TreasureModel>();
|
| | | var treasureId = treasureModel.GetTreasureBySkillId(skillConfig.LearnSkillReq);
|
| | | var treasureConfig = Config.Instance.Get<TreasureConfig>(treasureId);
|
| | | SysNotifyMgr.Instance.ShowTip("PreTreasureSkillLimit", treasureConfig.Name);
|
| | | }
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | model.talentSkillUpdate += TalentSkillUpdate;
|
| | | model.talentPointUpdate += TalentPointUpdate;
|
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
|
| | | PlayerSkillDatas.OnRefreshSkill += OnRefreshSkill;
|
| | | }
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | |
| | | model.selectSkillEvent -= OnSelectSkillEvent;
|
| | | model.talentSkillUpdate -= TalentSkillUpdate;
|
| | | model.talentPointUpdate -= TalentPointUpdate;
|
| | | PlayerSkillDatas.OnRefreshSkill -= OnRefreshSkill;
|
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
|
| | | for (int i = 0; i < m_TalentSeries.Length; i++)
|
| | | {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void OnRefreshSkill()
|
| | | {
|
| | | DisplayConditions();
|
| | | }
|
| | |
|
| | | void DisplayConditions()
|
| | | {
|
| | | TalentSkill talent;
|
| | |
| | | }
|
| | | if (skillConfig != null && index < m_SelectConditions.Length)
|
| | | {
|
| | | TalentSkill learnTalent;
|
| | | if (skillConfig.LearnSkillReq != 0 && model.TryGetTalent(skillConfig.LearnSkillReq, out learnTalent))
|
| | | var learnSkillConfig = Config.Instance.Get<SkillConfig>(skillConfig.LearnSkillReq);
|
| | | if (skillConfig.LearnSkillReq != 0)
|
| | | {
|
| | | var learnSkillConfig = Config.Instance.Get<SkillConfig>(skillConfig.LearnSkillReq);
|
| | | m_SelectConditions[index].gameObject.SetActive(true);
|
| | | var requireDisplay = StringUtility.Contact(learnSkillConfig.SkillName, " ", learnTalent.level, "/", skillConfig.LearnSkillLV);
|
| | | requireDisplay = UIHelper.AppendStringColor(learnTalent.level >= skillConfig.LearnSkillLV ?
|
| | | TextColType.Green : TextColType.Red, requireDisplay);
|
| | | m_SelectConditions[index].text = StringUtility.Contact(Language.Get("TalentPreSkillCondition"), requireDisplay);
|
| | | index++;
|
| | | if (learnSkillConfig.FuncType == 1)
|
| | | {
|
| | | m_SelectConditions[index].gameObject.SetActive(true);
|
| | | var treasureModel = ModelCenter.Instance.GetModel<TreasureModel>();
|
| | | var treasureId = treasureModel.GetTreasureBySkillId(skillConfig.LearnSkillReq);
|
| | | var treasureConfig = Config.Instance.Get<TreasureConfig>(treasureId);
|
| | | bool satisfy = PlayerDatas.Instance.skill.GetSKillById(skillConfig.LearnSkillReq) != null;
|
| | | var requireDisplay = StringUtility.Contact(learnSkillConfig.SkillName, "(", treasureConfig.Name, ")");
|
| | | requireDisplay = UIHelper.AppendStringColor(satisfy ? TextColType.Green : TextColType.Red, requireDisplay);
|
| | | m_SelectConditions[index].text = StringUtility.Contact(Language.Get("TalentPreTreasureSkillCondition"), requireDisplay);
|
| | | index++;
|
| | | }
|
| | | else
|
| | | {
|
| | | TalentSkill learnTalent;
|
| | | if (model.TryGetTalent(skillConfig.LearnSkillReq, out learnTalent))
|
| | | {
|
| | | m_SelectConditions[index].gameObject.SetActive(true);
|
| | | var requireDisplay = StringUtility.Contact(learnSkillConfig.SkillName, " ", learnTalent.level, "/", skillConfig.LearnSkillLV);
|
| | | requireDisplay = UIHelper.AppendStringColor(learnTalent.level >= skillConfig.LearnSkillLV ?
|
| | | TextColType.Green : TextColType.Red, requireDisplay);
|
| | | m_SelectConditions[index].text = StringUtility.Contact(Language.Get("TalentPreSkillCondition"), requireDisplay);
|
| | | index++;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | if (stones != null && model.presentGemHole <= stones.Length)
|
| | | {
|
| | | id = stones[model.presentGemHole - 1];
|
| | | if(stoneBind!=null&& model.presentGemHole - 1< stoneBind.Length)
|
| | | if (stoneBind != null && model.presentGemHole - 1 < stoneBind.Length)
|
| | | {
|
| | | _bind = stoneBind[model.presentGemHole - 1];
|
| | | }
|
| | |
| | | {
|
| | | int pos = model.presentGemEquip;
|
| | | uint[] stones = PlayerStoneData.Instance.GetStoneInfo(model.presentGemEquip);
|
| | | byte[] stoneBind= PlayerStoneData.Instance.GetStoneBindInfo(model.presentGemEquip);
|
| | | byte[] stoneBind = PlayerStoneData.Instance.GetStoneBindInfo(model.presentGemEquip);
|
| | | if (stones != null)
|
| | | {
|
| | | if (model.presentGemHole - 1 >= stones.Length)
|
| | |
| | | PlayerPropertyConfig _propertyCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect2);
|
| | | m_Property0.text = _propertyCfg.Name;
|
| | | m_PropertyValue0.text = StringUtility.Contact("+",
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA2, _propertyCfg.ISPercentage), _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA2, _propertyCfg.ISPercentage
|
| | | , _propertyCfg.ISPercentage == 1 ? 2 : 1),
|
| | | _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | m_Property1.gameObject.SetActive(_itemCfg.Effect3 != 0);
|
| | | m_PropertyValue1.gameObject.SetActive(_itemCfg.Effect3 != 0);
|
| | |
| | | PlayerPropertyConfig _propertyCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect3);
|
| | | m_Property1.text = _propertyCfg.Name;
|
| | | m_PropertyValue1.text = StringUtility.Contact("+",
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA3, _propertyCfg.ISPercentage), _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA3, _propertyCfg.ISPercentage
|
| | | , _propertyCfg.ISPercentage == 1 ? 2 : 1),
|
| | | _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | m_Property2.gameObject.SetActive(_itemCfg.Effect4 != 0);
|
| | | m_PropertyValue2.gameObject.SetActive(_itemCfg.Effect4 != 0);
|
| | |
| | | PlayerPropertyConfig _propertyCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect4);
|
| | | m_Property2.text = _propertyCfg.Name;
|
| | | m_PropertyValue2.text = StringUtility.Contact("+",
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA4, _propertyCfg.ISPercentage), _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA4, _propertyCfg.ISPercentage,
|
| | | _propertyCfg.ISPercentage == 1 ? 2 : 1),
|
| | | _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | m_PropertyValue2.gameObject.SetActive(_active);
|
| | | }
|
| | |
|
| | | public void Display(int _index,bool _new)
|
| | | public void Display(int _index, bool _new)
|
| | | {
|
| | | if (_index == 0)
|
| | | {
|
| | |
| | | {
|
| | | _propertyCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect2);
|
| | | m_GemPropertys[0].text = _propertyCfg.Name;
|
| | | m_GemPropertyValues[0].text = StringUtility.Contact("+", UIHelper.ReplacePercentage(_itemCfg.EffectValueA2, _propertyCfg.ISPercentage),
|
| | | m_GemPropertyValues[0].text = StringUtility.Contact("+", UIHelper.ReplacePercentage(_itemCfg.EffectValueA2, _propertyCfg.ISPercentage
|
| | | , _propertyCfg.ISPercentage == 1 ? 2 : 1),
|
| | | _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | m_GemPropertys[1].gameObject.SetActive(_itemCfg.Effect3 != 0);
|
| | |
| | | {
|
| | | _propertyCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect3);
|
| | | m_GemPropertys[1].text = _propertyCfg.Name;
|
| | | m_GemPropertyValues[1].text = StringUtility.Contact("+", UIHelper.ReplacePercentage(_itemCfg.EffectValueA3, _propertyCfg.ISPercentage),
|
| | | m_GemPropertyValues[1].text = StringUtility.Contact("+", UIHelper.ReplacePercentage(_itemCfg.EffectValueA3, _propertyCfg.ISPercentage
|
| | | , _propertyCfg.ISPercentage == 1 ? 2 : 1),
|
| | | _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | m_GemPropertys[2].gameObject.SetActive(_itemCfg.Effect4 != 0);
|
| | |
| | | {
|
| | | _propertyCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect4);
|
| | | m_GemPropertys[2].text = _propertyCfg.Name;
|
| | | m_GemPropertyValues[2].text = StringUtility.Contact("+", UIHelper.ReplacePercentage(_itemCfg.EffectValueA4, _propertyCfg.ISPercentage),
|
| | | m_GemPropertyValues[2].text = StringUtility.Contact("+", UIHelper.ReplacePercentage(_itemCfg.EffectValueA4, _propertyCfg.ISPercentage
|
| | | , _propertyCfg.ISPercentage == 1 ? 2 : 1),
|
| | | _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | _playerAttrCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect2);
|
| | | _textBuilder.Append(string.Format(_funcCfg.Numerical1, _playerAttrCfg.Name,
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA2, _playerAttrCfg.ISPercentage)));
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA2, _playerAttrCfg.ISPercentage, _playerAttrCfg.ISPercentage == 1 ? 2 : 1)));
|
| | | _textBuilder.Append(_playerAttrCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | if (_itemCfg.Effect3 != 0)
|
| | |
| | | _playerAttrCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect3);
|
| | | _textBuilder.Append("\n");
|
| | | _textBuilder.Append(string.Format(_funcCfg.Numerical1, _playerAttrCfg.Name,
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA3, _playerAttrCfg.ISPercentage)));
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA3, _playerAttrCfg.ISPercentage, _playerAttrCfg.ISPercentage == 1 ? 2 : 1)));
|
| | | _textBuilder.Append(_playerAttrCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | if (_itemCfg.Effect4 != 0)
|
| | |
| | | _playerAttrCfg = Config.Instance.Get<PlayerPropertyConfig>(_itemCfg.Effect4);
|
| | | _textBuilder.Append("\n");
|
| | | _textBuilder.Append(string.Format(_funcCfg.Numerical1, _playerAttrCfg.Name,
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA4, _playerAttrCfg.ISPercentage)));
|
| | | UIHelper.ReplacePercentage(_itemCfg.EffectValueA4, _playerAttrCfg.ISPercentage, _playerAttrCfg.ISPercentage == 1 ? 2 : 1)));
|
| | | _textBuilder.Append(_playerAttrCfg.ISPercentage == 1 ? "%" : string.Empty);
|
| | | }
|
| | | text.text = _textBuilder.ToString();
|
| | |
| | | demonDungeonChallengeNext();
|
| | | }
|
| | | }
|
| | |
|
| | | public int GetTreasureBySkillId(int skillId)
|
| | | {
|
| | | var list = GetTreasureCategory(TreasureCategory.Human);
|
| | | for (int i = 0; i < list.Count; i++)
|
| | | {
|
| | | Treasure treasure;
|
| | | if (TryGetTreasure(list[i], out treasure)
|
| | | && treasure.unlockSkill == skillId)
|
| | | {
|
| | | return list[i];
|
| | | }
|
| | | }
|
| | | return 0;
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | case JumpUIType.EquipCompose2:
|
| | | case JumpUIType.EquipCompose3:
|
| | | case JumpUIType.EquipCompose4:
|
| | | case JumpUIType.EquipCompose265:
|
| | | case JumpUIType.EquipCompose266:
|
| | | case JumpUIType.EquipCompose267:
|
| | | case JumpUIType.EquipCompose268:
|
| | | case JumpUIType.EquipCompose269:
|
| | | case JumpUIType.EquipCompose270:
|
| | | int[] types = GetSearchData(_tagWinSearchModel.ID).conditions;
|
| | | if(types.Length > 0)
|
| | | {
|
| | |
| | | case JumpUIType.ComposeTicketFairy:
|
| | | case JumpUIType.ComposeTicketGod:
|
| | | case JumpUIType.ComposeTicketIce:
|
| | | case JumpUIType.EquipCompose265:
|
| | | case JumpUIType.EquipCompose266:
|
| | | case JumpUIType.EquipCompose267:
|
| | | case JumpUIType.EquipCompose268:
|
| | | case JumpUIType.EquipCompose269:
|
| | | case JumpUIType.EquipCompose270:
|
| | | int[] types = GetSearchData(_tagWinSearchModel.ID).conditions;
|
| | | if (types.Length > 0)
|
| | | {
|
| | |
| | | DefenceMagicianPreview = 262, //护盾神兵预览界面
|
| | | XianYuanCoinsStore = 263, // 仙缘币商城返回主界面
|
| | | TrialExchange2 = 264, //宗门试练材料兑换
|
| | | EquipCompose265 = 265, //装备合成-6阶紫色玉佩
|
| | | EquipCompose266 = 266, //装备合成-7阶橙色0星玉佩
|
| | | EquipCompose267 = 267, //装备合成-7阶橙色1星玉佩
|
| | | EquipCompose268 = 268, //装备合成-8阶橙色2星玉佩
|
| | | EquipCompose269 = 269, //装备合成-9阶红色2星玉佩
|
| | | EquipCompose270 = 270, //装备合成-10阶红色3星玉佩
|
| | |
|
| | | DhszTs = 1001,//定海神针功法提升界面
|
| | | HyqTs = 1002,//皓月枪功法提升界面
|
| | | GyzTs = 1003,//鬼牙刃功法提升界面
|
| | |
| | | [SerializeField] UI3DModelInteractProcessor m_InteractProcessor;
|
| | | [SerializeField] ColorCorrectionCurves m_CameraColor;
|
| | |
|
| | | public bool interactable {
|
| | | public bool interactable
|
| | | {
|
| | | get { return m_Interactable; }
|
| | | set { m_Interactable = value; }
|
| | | }
|
| | |
| | |
|
| | | int m_HorseModelId = 0;
|
| | | GameObject horseModel = null;
|
| | | public GameObject NpcModelHorse {
|
| | | public GameObject NpcModelHorse
|
| | | {
|
| | | get { return horseModel; }
|
| | | set { horseModel = value; }
|
| | | }
|
| | |
| | | int m_NPCId = 0;
|
| | | GameObject npcModel = null;
|
| | | SFXController m_NpcEffect;
|
| | | public GameObject NpcModelPet {
|
| | | public GameObject NpcModelPet
|
| | | {
|
| | | get { return npcModel; }
|
| | | set { npcModel = value; }
|
| | | }
|
| | |
| | | public static UI3DModelExhibition Instance { get; private set; }
|
| | |
|
| | | static UI3DModelExhibition m_InstanceClone1 = null;
|
| | | public static UI3DModelExhibition InstanceClone1 {
|
| | | get {
|
| | | public static UI3DModelExhibition InstanceClone1
|
| | | {
|
| | | get
|
| | | {
|
| | | if (m_InstanceClone1 == null)
|
| | | {
|
| | | CreateCloneStage();
|
| | |
| | | npcModel = instance;
|
| | | isShowingNPC = true;
|
| | |
|
| | | var _configName = string.Empty;
|
| | |
|
| | | if (job == 1)
|
| | | {
|
| | | _configName = config.MODE.Substring(config.MODE.LastIndexOf("A_"));
|
| | | }
|
| | | else if (job == 2)
|
| | | {
|
| | | _configName = config.MODE.Substring(config.MODE.LastIndexOf("A_"));
|
| | | }
|
| | |
|
| | | if (!string.IsNullOrEmpty(_configName))
|
| | | {
|
| | | var _renderer = instance.GetComponentInChildren<SkinnedMeshRenderer>();
|
| | | if (_renderer)
|
| | | {
|
| | | MaterialLoader.Release(_renderer.material);
|
| | |
|
| | | var _modelResConfig = ModelResConfig.GetClothesConfig(_configName);
|
| | | if (_modelResConfig != null)
|
| | | {
|
| | | _renderer.material = MaterialLoader.LoadClothesMaterial(_modelResConfig.ID, false, false);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | var ids = config.Equips.Split('|');
|
| | | var weaponId = int.Parse(ids[0]);
|
| | | var secondaryId = ids.Length > 1 ? int.Parse(ids[1]) : 0;
|
| | |
| | | playerModel.Dispose();
|
| | | isShowingPlayer = false;
|
| | |
|
| | | if (m_NPCId != 0)
|
| | | {
|
| | | var config = Config.Instance.Get<NPCConfig>(m_NPCId);
|
| | | if (config != null)
|
| | | {
|
| | | var job = 0;
|
| | | if (config.MODE.Contains("A_Zs"))
|
| | | {
|
| | | job = 1;
|
| | | }
|
| | | else if (config.MODE.Contains("A_Fs"))
|
| | | {
|
| | | job = 2;
|
| | | }
|
| | | if (job != 0)
|
| | | {
|
| | | var _renderer = npcModel.GetComponentInChildren<SkinnedMeshRenderer>();
|
| | | if (_renderer)
|
| | | {
|
| | | MaterialLoader.Release(_renderer.material);
|
| | | _renderer.material = _renderer.sharedMaterial = null;
|
| | | _renderer.materials = _renderer.sharedMaterials = new Material[0];
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | if (npcModel != null)
|
| | | {
|
| | | npcModel.transform.localScale = Vector3.one;
|
| | |
| | | UI3DModelFactory.ReleaseUINPC(m_NPCId, npcModel);
|
| | | npcModel = null;
|
| | | }
|
| | |
|
| | | m_NPCId = 0;
|
| | | isShowingNPC = false;
|
| | |
|