| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: d4bbed9a14bff5e48b2bdd4df9dd3485 |
| | | folderAsset: yes |
| | | timeCreated: 1501209136 |
| | | licenseType: Free |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | |
|
| | | // A3 2F 宗门试炼兑换 #tagCMTrialExchange
|
| | |
|
| | | public class CA32F_tagCMTrialExchange : GameNetPackBasic {
|
| | | public uint ID; //兑换ID
|
| | |
|
| | | public CA32F_tagCMTrialExchange () {
|
| | | combineCmd = (ushort)0x03FE;
|
| | | _cmd = (ushort)0xA32F;
|
| | | }
|
| | |
|
| | | public override void WriteToBytes () {
|
| | | WriteBytes (ID, NetDataType.DWORD);
|
| | | }
|
| | |
|
| | | }
|
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 8f81b18420742e246bd051d0a2fda8f8 |
| | | timeCreated: 1533199906 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| | |
| | | using Snxxz.UI; |
| | | using TableConfig; |
| | | using UnityEngine; |
| | | //04 19 玩家重生#tagPlayerReborn |
| | | |
| | | |
| | |
| | | PlayerDatas.Instance.baseData.PosX = vNetData.PosX; |
| | | PlayerDatas.Instance.baseData.PosY = vNetData.PosY; |
| | | _hero.LockTarget = null; |
| | | if (vNetData.Type != 2) |
| | | |
| | | // 副本中 或者 非副本中但是勾选了自动复活 |
| | | if (DungeonStage.CurrentMapType != MapType.OpenCountry |
| | | || (DungeonStage.CurrentMapType == MapType.OpenCountry |
| | | && HangUpSetModel.Instance.GetBool(HangUpAutoBoolType.isAutoReborn))) |
| | | { |
| | | _hero.Behaviour.StopHandupAI(); |
| | | _hero.Behaviour.StopKillUntilDieAI(); |
| | | } |
| | | else |
| | | { |
| | | if (DTC0609_tagPlayerDie.isAutoFight) |
| | | switch (vNetData.Type) |
| | | { |
| | | _hero.Behaviour.StartHandupAI(); |
| | | case 0:// 安全区复活 |
| | | _hero.Behaviour.StopHandupAI(); |
| | | _hero.Behaviour.StopKillUntilDieAI(); |
| | | break; |
| | | case 2:// 花钱复活 |
| | | case 3:// 道具复活 |
| | | if (DTC0609_tagPlayerDie.isAutoFight) |
| | | { |
| | | _hero.Behaviour.StartHandupAI(); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | if (DungeonStage.CurrentMapType != MapType.OpenCountry) |
| | | { |
| | | _hero.Behaviour.StartHandupAI(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | _startLockTarget = true; |
| | | } |
| | | |
| | | #if UNITY_EDITOR |
| | | if (!RuntimeLogUtility.s_forceAutoFight) |
| | | { |
| | | _startLockTarget = false; |
| | | } |
| | | #endif |
| | | // 满足血量 |
| | | if (_startLockTarget) |
| | | { |
| | |
| | | |
| | | private void CheckFanJi(GActorFight _attacker, H0614_tagUseSkillPos.tagSkillPosHurtObj _sTarget, GActorFight _cTarget) |
| | | { |
| | | #if UNITY_EDITOR |
| | | if (!RuntimeLogUtility.s_forceAutoFight) |
| | | { |
| | | return; |
| | | } |
| | | #endif |
| | | // 是否反击 |
| | | if (_sTarget.ObjID == PlayerDatas.Instance.PlayerId) |
| | | { |
| | |
| | | DropItemManager.DropObject _obj = null; |
| | | if (DropItemManager.HandupTryGetHeroItem(out _obj)) |
| | | { |
| | | _hero.StopRush(); |
| | | Vector3 _targetPosition = _obj.dropItem.transform.position; |
| | | float _chkDistSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, _targetPosition); |
| | | if (_chkDistSqrt > 0.5f) |
| | |
| | | } |
| | | |
| | | float _chkDistance = soSkill.chkDistance; |
| | | |
| | | if (!PreFightMission.Instance.IsFinished()) |
| | | { |
| | | _chkDistance = GeneralConfig.Instance.PrefightAtkRange; |
| | | } |
| | | |
| | | SkillHelper.EffectValue _effectValue; |
| | | List<SkillHelper.SkillInfo> _spSkillInfo = SkillHelper.Instance.GetSpSkill(skill.id); |
| | | if (_spSkillInfo != null) |
| | |
| | | OnSkillCast(userSID, id); |
| | | } |
| | | |
| | | if (!PreFightMission.Instance.IsFinished() |
| | | || PlayerDatas.Instance.baseData.MapID == 52020) |
| | | bool _clientRefreshCD = !PreFightMission.Instance.IsFinished() |
| | | || PlayerDatas.Instance.baseData.MapID == 52020 |
| | | || userSID != PlayerDatas.Instance.PlayerId; |
| | | |
| | | if (_clientRefreshCD) |
| | | { |
| | | cd = skillInfo.config.CoolDownTime * Constants.F_GAMMA; |
| | | } |
| | | |
| | | if (_clientRefreshCD = !PreFightMission.Instance.IsFinished() |
| | | || PlayerDatas.Instance.baseData.MapID == 52020) |
| | | { |
| | | if (RefreshCD != null) |
| | | { |
| | | RefreshCD(cd, cd); |
| | |
| | | if (cd <= 0) |
| | | { |
| | | cd = 0; |
| | | if (OnSkillCDFinished != null) |
| | | if (OwnerID == PlayerDatas.Instance.PlayerId) |
| | | { |
| | | OnSkillCDFinished(id); |
| | | if (OnSkillCDFinished != null) |
| | | { |
| | | OnSkillCDFinished(id); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | Status_Base _status = Get(h0606.ObjID, h0606.SkillID); |
| | | var _skillInfo = SkillHelper.Instance.Get(h0606.SkillID); |
| | | |
| | | if (_status == null) |
| | | { |
| | |
| | | if (m_OwnerList.Contains(h0606.ObjID)) |
| | | { |
| | | m_OwnerList.Remove(h0606.ObjID); |
| | | } |
| | | |
| | | if (_skillInfo.effectValue.ContainsKey(2004)) |
| | | { |
| | | if (PlayerDatas.Instance.hero != null |
| | | && PlayerDatas.Instance.hero.SelectTarget == _actor) |
| | | { |
| | | PlayerDatas.Instance.ReCheckAttackTarget(); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | for (int i = 0; i < _list.Count; ++i) |
| | | { |
| | | _skillInfo = SkillHelper.Instance.Get(_list[i].h0605.SkillID); |
| | | if (_skillInfo.effectValue.ContainsKey(2004) |
| | | || _skillInfo.effectValue.ContainsKey(1302)) |
| | | if (_skillInfo.effectValue.ContainsKey(2004)) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | m_Effect = null; |
| | | } |
| | | |
| | | GActorFight _target = GAMgr.Instance.GetBySID(objID) as GActorFight; |
| | | |
| | | if (buffType == (int)E_BuffType.bfActionBuff) |
| | | { |
| | | GActorFight _target = GAMgr.Instance.GetBySID(objID) as GActorFight; |
| | | |
| | | // 调用动作 |
| | | if (m_SkillConfig.CtrlActionID != 0) |
| | | { |
| | |
| | | _target.IdleImmediate(); |
| | | } |
| | | } |
| | | |
| | | h0605 = null; |
| | | } |
| | | |
| | |
| | | float _distSqrt = MathUtility.DistanceSqrtXZ(_targetPos, _heroPos); |
| | | |
| | | if (_distSqrt > Mathf.Pow(reSetLockTargetDist, 2) |
| | | || StatusMgr.Instance.IsInvincible(_hero.LockTarget.ServerInstID)) |
| | | || StatusMgr.Instance.IsInvisible(_hero.LockTarget.ServerInstID)) |
| | | { |
| | | _hero.LockTarget = null; |
| | | } |
| | |
| | | return null; |
| | | } |
| | | |
| | | public GActor GetCloserFightNpc(Vector3 center) |
| | | { |
| | | List<GActor> _list = GetTypeList(E_ActorClassType.NpcFightNorm); |
| | | |
| | | if (_list == null) |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | _list.Sort((GActor a1, GActor a2) => |
| | | { |
| | | float _d1 = MathUtility.DistanceSqrtXZ(center, a1.Pos); |
| | | float _d2 = MathUtility.DistanceSqrtXZ(center, a2.Pos); |
| | | return _d1 < _d2 ? -1 : 1; |
| | | }); |
| | | |
| | | return _list[0]; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取离给定坐标最近的NPC对象 |
| | | /// </summary> |
| | | /// <param name="pos"></param> |
| | | /// <param name="npcID"></param> |
| | | /// <returns></returns> |
| | | public GActor GetCloserNPC(Vector3 pos, int npcID) |
| | | public GActor GetCloserNPC(Vector3 pos, int npcID = 0) |
| | | { |
| | | m_AllList.Sort((GActor a1, GActor a2) => |
| | | { |
| | |
| | | if (_npcConfig.NPCType == (int)E_NpcType.Fight) |
| | | { |
| | | GActorNpcFight _fight = m_AllList[i] as GActorNpcFight; |
| | | if (_fight != null) |
| | | if (_fight != null && !_fight.ActorInfo.serverDie) |
| | | { |
| | | if (_fight.NpcConfig.NPCID == npcID) |
| | | if (npcID == 0) |
| | | { |
| | | return _fight; |
| | | } |
| | | else if (_fight.NpcConfig.NPCID == npcID) |
| | | { |
| | | return _fight; |
| | | } |
| | |
| | | |
| | | var damageNum = value; |
| | | var camera = CameraController.Instance.CameraObject; |
| | | var mountPoint= (target is GA_NpcFightBoss || target is GA_NpcClientFightBoss) ? target.MP_Stun : target.MP_Name; |
| | | var realmSuppress = false; |
| | | var mountPoint = (target is GA_NpcFightBoss || target is GA_NpcClientFightBoss) ? target.MP_Stun : target.MP_Name; |
| | | |
| | | var _casterRealm = 0; |
| | | var _targetRealm = 0; |
| | | |
| | | if (caster is GA_Hero) |
| | | { |
| | | if (target is GActorPlayerBase) |
| | | { |
| | | int[] _grounp = GeneralConfig.Instance.RealmGroup; |
| | | for (int i = 0; i < _grounp.Length; ++i) |
| | | { |
| | | if (PlayerDatas.Instance.baseData.realmLevel > _grounp[i]) |
| | | { |
| | | _casterRealm = i + 1; |
| | | } |
| | | |
| | | if (target.ActorInfo.realm > _grounp[i]) |
| | | { |
| | | _targetRealm = i + 1; |
| | | } |
| | | } |
| | | } |
| | | else if (target is GA_NpcFightNorm) |
| | | { |
| | | _casterRealm = PlayerDatas.Instance.baseData.realmLevel; |
| | | _targetRealm = (int)target.ActorInfo.realm; |
| | | } |
| | | } |
| | | else if (target is GA_Hero) |
| | | { |
| | | if (caster is GActorPlayerBase) |
| | | { |
| | | int[] _grounp = GeneralConfig.Instance.RealmGroup; |
| | | for (int i = 0; i < _grounp.Length; ++i) |
| | | { |
| | | if (caster.ActorInfo.realm > _grounp[i]) |
| | | { |
| | | _casterRealm = i + 1; |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel > _grounp[i]) |
| | | { |
| | | _targetRealm = i + 1; |
| | | } |
| | | } |
| | | } |
| | | else if (caster is GA_NpcFightNorm) |
| | | { |
| | | _casterRealm = (int)caster.ActorInfo.realm; |
| | | _targetRealm = PlayerDatas.Instance.baseData.realmLevel; |
| | | } |
| | | } |
| | | |
| | | //Debug.LogFormat("{0} 攻击 {1}, 境界: {2} <=> {3}, 是否产生了压制: {4}", |
| | | // caster.ServerInstID, target.ServerInstID, _casterRealm, _targetRealm, _casterRealm > _targetRealm); |
| | | |
| | | var popupInfo = new PopUpNum.PopupInfo() |
| | | { |
| | | pattern= _pattern+_base, |
| | | num=damageNum, |
| | | camera=camera, |
| | | direction=direction, |
| | | target=mountPoint, |
| | | isPlayer=target is GA_Hero, |
| | | realmSuppress= realmSuppress, |
| | | pattern = _pattern + _base, |
| | | num = damageNum, |
| | | camera = camera, |
| | | direction = direction, |
| | | target = mountPoint, |
| | | isPlayer = target is GA_Hero, |
| | | realmSuppress = _casterRealm > _targetRealm |
| | | }; |
| | | |
| | | PopUpNum.RecordPopup(popupInfo); |
| | |
| | | ActorInfo.HpEx = (ushort)_h0406.NPCHPEx; |
| | | ActorInfo.MaxHp = _h0406.MaxHP; |
| | | ActorInfo.MaxHpEx = (ushort)_h0406.MaxHPEx; |
| | | ActorInfo.realm = (uint)NpcConfig.Realm; |
| | | |
| | | // 初始化移动速度 |
| | | ActorInfo.moveSpeed = 500f / _h0406.Speed; |
| | |
| | | } |
| | | else |
| | | { |
| | | m_HeadUpName.SetNPCName(ActorInfo.PlayerName); |
| | | m_HeadUpName.SetNPCName(NpcConfig.NPCID); |
| | | } |
| | | } |
| | | |
| | |
| | | private H0434_tagAreaPlayerAppearEx m_H0434; |
| | | |
| | | private CmdManager m_CmdManager; |
| | | private int m_ComAtkIndex;// 普攻索引 |
| | | private Skill m_CastSkill;// 要释放的技能 |
| | | |
| | | protected sealed override void OnInit(GameNetPackBasic package) |
| | | { |
| | |
| | | { |
| | | case 0: |
| | | |
| | | m_DestPos = m_RecordBornPos + Quaternion.Euler(0, Random.Range(0, 359), 0) * Vector3.forward * Random.Range(1f, 2f); |
| | | TryGetValidPos(m_DestPos, ref m_DestPos); |
| | | //m_DestPos = m_RecordBornPos + Quaternion.Euler(0, Random.Range(0, 359), 0) * Vector3.forward * Random.Range(1f, 2f); |
| | | //TryGetValidPos(m_DestPos, ref m_DestPos); |
| | | |
| | | if (SelectTarget == null) |
| | | { |
| | | SelectTarget = GAMgr.Instance.GetCloserFightNpc(Pos); |
| | | } |
| | | if (SelectTarget != null) |
| | | { |
| | | destForward = Forward = MathUtility.ForwardXZ(SelectTarget.Pos, Pos); |
| | | } |
| | | |
| | | m_Step = 1; |
| | | |
| | | break; |
| | | case 1: |
| | | |
| | | float _distSqrt = MathUtility.DistanceSqrtXZ(Pos, m_DestPos); |
| | | if (_distSqrt > 0.25f) |
| | | m_CastSkill = null; |
| | | for (int i = 0; i < JobSetup.HangupSkillList.Length; ++i) |
| | | { |
| | | if (State != E_ActorState.AutoRun) |
| | | if (SkillMgr.Get(JobSetup.HangupSkillList[i]).IsValid()) |
| | | { |
| | | MoveToPosition(m_DestPos); |
| | | m_CastSkill = SkillMgr.Get(JobSetup.HangupSkillList[i]); |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | |
| | | if (m_CastSkill == null) |
| | | { |
| | | m_Step = 2; |
| | | if (m_ComAtkIndex > JobSetup.ComAtkIdList.Length - 1) |
| | | { |
| | | m_ComAtkIndex = 0; |
| | | } |
| | | int _comSkillId = JobSetup.ComAtkIdList[m_ComAtkIndex]; |
| | | m_CastSkill = SkillMgr.Get(_comSkillId); |
| | | m_ComAtkIndex += 1; |
| | | } |
| | | |
| | | m_Step = 2; |
| | | |
| | | break; |
| | | case 2: |
| | | |
| | | Play(GAStaticDefine.State_Attack1Hash); |
| | | if (m_CastSkill != null) |
| | | { |
| | | SkillMgr.CastSkill(ServerInstID, m_CastSkill.id, true); |
| | | |
| | | Vector3 _targetPosition = Pos + Forward * (m_CastSkill.skillInfo.config.AtkDist * .5f); |
| | | _targetPosition.y = 0; |
| | | UnityEngine.AI.NavMeshHit _navMeshHit; |
| | | if (UnityEngine.AI.NavMesh.Raycast(Pos, _targetPosition, out _navMeshHit, -1)) |
| | | { |
| | | _targetPosition = _navMeshHit.position; |
| | | } |
| | | _targetPosition.y = Pos.y; |
| | | m_CastSkill.targetPosition = _targetPosition; |
| | | |
| | | if (m_CastSkill.skillInfo.config.Skillactmark > 0 |
| | | && m_CastSkill.skillInfo.config.Skillactmark < 20) |
| | | { |
| | | switch (m_CastSkill.skillInfo.config.Skillactmark) |
| | | { |
| | | case 10: |
| | | Play(GAStaticDefine.State_Attack1Hash, 0); |
| | | break; |
| | | case 11: |
| | | Play(GAStaticDefine.State_Attack2Hash, 0); |
| | | break; |
| | | case 12: |
| | | Play(GAStaticDefine.State_Attack3Hash, 0); |
| | | break; |
| | | case 13: |
| | | Play(GAStaticDefine.State_Attack4Hash, 0); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | switch (m_CastSkill.skillInfo.config.Skillactmark) |
| | | { |
| | | case 21: |
| | | Play(GAStaticDefine.State_Skill21, 0); |
| | | break; |
| | | case 22: |
| | | Play(GAStaticDefine.State_Skill22, 0); |
| | | break; |
| | | case 23: |
| | | Play(GAStaticDefine.State_Skill23, 0); |
| | | break; |
| | | case 24: |
| | | Play(GAStaticDefine.State_Skill24, 0); |
| | | break; |
| | | case 25: |
| | | Play(GAStaticDefine.State_Skill25, 0); |
| | | break; |
| | | case 26: |
| | | Play(GAStaticDefine.State_Skill26, 0); |
| | | break; |
| | | case 27: |
| | | Play(GAStaticDefine.State_Skill27, 0); |
| | | break; |
| | | case 28: |
| | | Play(GAStaticDefine.State_Skill28, 0); |
| | | break; |
| | | case 29: |
| | | Play(GAStaticDefine.State_Skill29, 0); |
| | | break; |
| | | case 99: |
| | | Play(GAStaticDefine.State_RollHash, 0); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | m_Step = 3; |
| | | |
| | | break; |
| | |
| | | |
| | | if (IsIdle()) |
| | | { |
| | | m_Step = 4; |
| | | } |
| | | |
| | | break; |
| | | case 4: |
| | | |
| | | m_WaitTime += Time.deltaTime; |
| | | if (m_WaitTime > 2) |
| | | { |
| | | m_Step = 0; |
| | | m_WaitTime = 0; |
| | | } |
| | | |
| | | break; |
| | |
| | | { |
| | | ActorInfo.moveSpeed = 500f / speed; |
| | | m_StartMove = startOrStop; |
| | | m_TargetPos = pos; |
| | | TryGetValidPos(pos, ref m_TargetPos); |
| | | _dir = MathUtility.ForwardXZ(m_TargetPos, Pos); |
| | | |
| | | if (m_StartMove) |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (StatusMgr.Instance.IsInvincible(ServerInstID)) |
| | | if (StatusMgr.Instance.IsInvisible(ServerInstID)) |
| | | { |
| | | return false; |
| | | } |
| | |
| | | public int EquipSuitID { get; private set; } |
| | | |
| | | private E_MovingState m_MovingState; |
| | | public E_MovingState MovingState { |
| | | public E_MovingState MovingState |
| | | { |
| | | get { return m_MovingState; } |
| | | private set { |
| | | private set |
| | | { |
| | | m_MovingState = value; |
| | | // Debug.LogFormat("设置 {0} 的移动状态为 {1}", ServerInstID, value); |
| | | } |
| | |
| | | |
| | | public JobSetupConfig JobSetup { get; protected set; } |
| | | |
| | | public override int NextAction { |
| | | get { |
| | | public override int NextAction |
| | | { |
| | | get |
| | | { |
| | | if (!m_ClothesAnimator) |
| | | { |
| | | return -1; |
| | |
| | | return m_ClothesAnimator.GetInteger(GAStaticDefine.Param_Action); |
| | | } |
| | | |
| | | set { |
| | | set |
| | | { |
| | | if (m_ClothesAnimator) |
| | | { |
| | | m_ClothesAnimator.SetInteger(GAStaticDefine.Param_Action, value); |
| | |
| | | } |
| | | |
| | | private PlayerSuitModel _suitModel; |
| | | private PlayerSuitModel SuitModel { |
| | | private PlayerSuitModel SuitModel |
| | | { |
| | | get { return _suitModel ?? (_suitModel = ModelCenter.Instance.GetModel<PlayerSuitModel>()); } |
| | | } |
| | | |
| | | private PlayerPackModel m_PlayerBackModel; |
| | | private PlayerPackModel PlayerBackModel { |
| | | get { |
| | | private PlayerPackModel PlayerBackModel |
| | | { |
| | | get |
| | | { |
| | | return m_PlayerBackModel ?? (m_PlayerBackModel = ModelCenter.Instance.GetModel<PlayerPackModel>()); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | RequestShadow(); |
| | | |
| | | var _equipModel = PlayerBackModel.GetSinglePackModel(PackType.rptEquip); |
| | | var _itemModel = _equipModel.GetItemModelByIndex((int)RoleEquipType.retSpiritAnimal); |
| | | |
| | | if (_itemModel != null) |
| | | { |
| | | SwitchGuard((uint)_itemModel.itemInfo.ItemID); |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | m_HeadUpName.target = MP_Name; |
| | | } |
| | | |
| | | SwitchGuard(0); |
| | | |
| | | ReleaseShadow(); |
| | | } |
| | | |
| | |
| | | { |
| | | _pet.ShowOrHideModel(showOrHide); |
| | | } |
| | | |
| | | |
| | | |
| | | ShowOrHide = showOrHide; |
| | | } |
| | |
| | | #region 战前冲锋 |
| | | |
| | | private bool m_IsRushing = false; |
| | | public bool IsRushing { |
| | | get { |
| | | public bool IsRushing |
| | | { |
| | | get |
| | | { |
| | | return m_IsRushing; |
| | | } |
| | | } |
| | |
| | | protected override void OnActived() |
| | | { |
| | | base.OnActived(); |
| | | if(!WindowJumpMgr.Instance.IsJumpState) |
| | | if (!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0) |
| | | { |
| | | if(FurnaceModel.lingDanRedpoint.state != RedPointState.None) |
| | | if (FurnaceModel.lingDanRedpoint.state != RedPointState.None) |
| | | { |
| | | functionOrder = _lingDanTitle.order; |
| | | } |
| | | else if(ModelCenter.Instance.GetModel<RoleModel>().MakeDrugRedpoint.state != RedPointState.None) |
| | | else if (ModelCenter.Instance.GetModel<RoleModel>().MakeDrugRedpoint.state != RedPointState.None) |
| | | { |
| | | functionOrder = _treasureRefineTitle.order; |
| | | } |
| | |
| | | List<Text> needPointNumlist = new List<Text>(); |
| | | |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | |
| | | [SerializeField] |
| | | protected Button _closeBtn; |
| | | |
| | | [SerializeField] |
| | |
| | | _nameText.color = UIHelper.GetUIColor(itemAttrData.itemConfig.ItemColor); |
| | | equipScoreDes.text = Language.Get("EquipWin_EquipPointText_1"); |
| | | equipScoreValue.text = itemAttrData.score.ToString(); |
| | | RefreshNeedPointUI(); |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | CheckUselimit(); |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | needLvValue.gameObject.SetActive(false); |
| | | needLvDes.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | for (int i = 0; i < needPointTextlist.Count; i++) |
| | | { |
| | | needLvDes.gameObject.SetActive(true); |
| | | needLvValue.gameObject.SetActive(true); |
| | | needPointTextlist[i].gameObject.SetActive(false); |
| | | needPointNumlist[i].gameObject.SetActive(false); |
| | | } |
| | | else |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | needLvDes.gameObject.SetActive(false); |
| | | needLvValue.gameObject.SetActive(false); |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | needLvValue.gameObject.SetActive(true); |
| | | needLvDes.gameObject.SetActive(true); |
| | | } |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvValue.color = conditionColor; |
| | | needLvDes.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemAttrData.itemConfig.RealmLimit); |
| | | if (itemAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | break; |
| | | case 2: |
| | | RefreshNeedPointUI(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | } |
| | | |
| | | private void RefreshNeedPointUI() |
| | |
| | | [SerializeField] |
| | | Text needLvValue; |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | |
| | | [SerializeField] |
| | | List<Text> needPointTextlist = new List<Text>(); |
| | | [SerializeField] |
| | | List<Text> needPointNumlist = new List<Text>(); |
| | |
| | | _nameText.color = UIHelper.GetUIColor(itemAttrData.itemConfig.ItemColor); |
| | | equipScoreDes.text = Language.Get("EquipWin_EquipPointText_1"); |
| | | equipScoreValue.text = itemAttrData.score.ToString(); |
| | | RefreshNeedPointUI(); |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | CheckUselimit(); |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | needLvValue.gameObject.SetActive(false); |
| | | needLvDes.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | for (int i = 0; i < needPointTextlist.Count; i++) |
| | | { |
| | | needLvDes.gameObject.SetActive(true); |
| | | needLvValue.gameObject.SetActive(true); |
| | | needPointTextlist[i].gameObject.SetActive(false); |
| | | needPointNumlist[i].gameObject.SetActive(false); |
| | | } |
| | | else |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | needLvDes.gameObject.SetActive(false); |
| | | needLvValue.gameObject.SetActive(false); |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | needLvValue.gameObject.SetActive(true); |
| | | needLvDes.gameObject.SetActive(true); |
| | | } |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvValue.color = conditionColor; |
| | | needLvDes.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemAttrData.itemConfig.RealmLimit); |
| | | if (itemAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | break; |
| | | case 2: |
| | | RefreshNeedPointUI(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | } |
| | | |
| | | private void RefreshNeedPointUI() |
| | |
| | | [SerializeField] |
| | | private Text needLvText; |
| | | |
| | | |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | |
| | | [SerializeField] |
| | | private Text _itemTypeText; |
| | | |
| | |
| | | |
| | | [SerializeField] |
| | | protected RectTransform _itemInfoTips; |
| | | |
| | | [SerializeField] |
| | | protected RectTransform _getWaysPosTips; |
| | | |
| | | [SerializeField] |
| | | protected CanvasGroup _getWaysTips; |
| | |
| | | IEnumerator SetPanelScale() |
| | | { |
| | | yield return null; |
| | | if(!modelShow.gameObject.activeInHierarchy) |
| | | { |
| | | startPosX = -476; |
| | | endPosX = -668; |
| | | _getWaysPosTips.anchoredPosition3D = new Vector3(670,0,0); |
| | | } |
| | | else |
| | | { |
| | | startPosX = -270; |
| | | endPosX = -476; |
| | | _getWaysPosTips.anchoredPosition3D = new Vector3(860,0,0); |
| | | } |
| | | _itemInfoTips.anchoredPosition3D = new Vector3(startPosX, 0, 0); |
| | | _itemPathModel.SetInfoTipsPos(_itemInfoTips.GetComponent<RectTransform>(), _getWaysTips.GetComponent<RectTransform>()); |
| | | _itemPathModel.SetInfoTipsPos(_itemInfoTips,_getWaysPosTips); |
| | | tipAlpha.alpha = 1; |
| | | } |
| | | |
| | |
| | | _nameText.text = itemPathModel.chinItemModel.ItemName; |
| | | _nameText.color = UIHelper.GetUIColor(itemPathModel.chinItemModel.ItemColor); |
| | | _itemTypeText.text = itemPathModel.chinItemModel.ItemTypeName.ToString(); |
| | | _conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemPathModel.chinItemModel.UseLV.ToString(); |
| | | CheckUselimit(); |
| | | } |
| | | |
| | | if (itemPathModel.chinItemModel.UseLV > 1) |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemPathModel.chinItemModel.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | _conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | _conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | _conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemPathModel.chinItemModel.UseLV > 1) |
| | | { |
| | | _conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | } |
| | | _conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemPathModel.chinItemModel.UseLV.ToString(); |
| | | |
| | | if (PlayerDatas.Instance.baseData.LV >= itemPathModel.chinItemModel.UseLV) |
| | | { |
| | | _conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | _conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemPathModel.chinItemModel.RealmLimit); |
| | | if (itemPathModel.chinItemModel.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemPathModel.chinItemModel.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = conditionRedColor; |
| | | } |
| | | break; |
| | | case 2: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.LV >= itemPathModel.chinItemModel.UseLV) |
| | | { |
| | | _conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | _conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | } |
| | | |
| | | private void SetMidUI() |
| | |
| | | private void DisplayBaseInfo() |
| | | { |
| | | var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(rebornTask.id); |
| | | var surplusTime = config.TotalTimes == 0 ? -1 : config.TotalTimes - rebornTask.completedTimes; |
| | | var surplusTime = config.TotalTimes == 0 ? -1 : ((config.TotalTimes - rebornTask.gotRewardTimes) / config.SingleTimes); |
| | | var surplusTimeString = UIHelper.GetTextColorByItemColor(surplusTime == 0 ? TextColType.Red : TextColType.Green, |
| | | surplusTime == -1 ? Language.Get("BossFHLanguage4") : surplusTime.ToString()); |
| | | |
| | |
| | | } |
| | | |
| | | var items = new List<Item>(); |
| | | for (int i = 0; i <= rewardIndex; i++) |
| | | if (config.Reward1.Length > rewardIndex && config.Reward1[rewardIndex] != 0) |
| | | { |
| | | if (config.Reward1.Length > i && config.Reward1[i] != 0) |
| | | { |
| | | items.Add(new Item(config.Reward1[i], config.RewardCount1[i])); |
| | | } |
| | | items.Add(new Item(config.Reward1[rewardIndex], config.RewardCount1[rewardIndex])); |
| | | } |
| | | |
| | | if (config.Reward2.Length > i && config.Reward2[i] != 0) |
| | | { |
| | | items.Add(new Item(config.Reward2[i], config.RewardCount2[i])); |
| | | } |
| | | if (config.Reward2.Length > rewardIndex && config.Reward2[rewardIndex] != 0) |
| | | { |
| | | items.Add(new Item(config.Reward2[rewardIndex], config.RewardCount2[rewardIndex])); |
| | | } |
| | | |
| | | if (config.Reward3.Length > i && config.Reward3[i] != 0) |
| | | { |
| | | items.Add(new Item(config.Reward3[i], config.RewardCount3[i])); |
| | | } |
| | | if (config.Reward3.Length > rewardIndex && config.Reward3[rewardIndex] != 0) |
| | | { |
| | | items.Add(new Item(config.Reward3[rewardIndex], config.RewardCount3[rewardIndex])); |
| | | } |
| | | |
| | | m_Rewards.Display(items); |
| | |
| | | m_GotoOrGetReward.gameObject.SetActive( |
| | | state == BossRebornTask.State.Normal || state == BossRebornTask.State.Rewardable); |
| | | |
| | | var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(rebornTask.id); |
| | | var surplusTime = config.TotalTimes == 0 ? -1 : ((config.TotalTimes - rebornTask.gotRewardTimes) / config.SingleTimes); |
| | | var surplusTimeString = UIHelper.GetTextColorByItemColor(surplusTime == 0 ? TextColType.Red : TextColType.Green, |
| | | surplusTime == -1 ? Language.Get("BossFHLanguage4") : surplusTime.ToString()); |
| | | m_surplusTimes.text = Language.Get("BossFHLanguage3", surplusTimeString); |
| | | |
| | | m_Goto.gameObject.SetActive(state == BossRebornTask.State.Normal); |
| | | m_GetReward.gameObject.SetActive(state == BossRebornTask.State.Rewardable); |
| | | m_GotReward.gameObject.SetActive(state == BossRebornTask.State.Completed); |
| | |
| | | #region 私聊 |
| | | private Dictionary<int, List<ChatFriendData>> pteChatDics = new Dictionary<int, List<ChatFriendData>>(); |
| | | public event Action OnPteChatChangeEvent; |
| | | public event Action<int> SelectRecentlyEvent; |
| | | public static event OnChatPteRefresh OnRefreshPteChat; |
| | | private int pteChatId = 0; |
| | | public int PteChatID |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void SelectRecentlyChat(int playerId) |
| | | { |
| | | if (SelectRecentlyEvent != null) |
| | | { |
| | | SelectRecentlyEvent(playerId); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | private List<ChatData> chatlist = new List<ChatData>(); |
| | |
| | | if(_cell.index!= ChatCtrl.Inst.PteChatID) |
| | | { |
| | | ChatCtrl.Inst.PteChatID = _cell.index; |
| | | ChatCtrl.Inst.SelectRecentlyChat(ChatCtrl.Inst.PteChatID); |
| | | m_RecentlyControl.m_Scorller.RefreshActiveCellViews(); |
| | | } |
| | | } |
| | |
| | | if (friendModel.tempFriendData != null) |
| | | { |
| | | ChatCtrl.Inst.PteChatID = (int)friendModel.tempFriendData.PlayerID; |
| | | ChatCtrl.Inst.SelectRecentlyChat(ChatCtrl.Inst.PteChatID); |
| | | return; |
| | | } |
| | | var _dict = friendModel.GetFriendInfoDict((byte)GroupType.RecentContact); |
| | | if (_dict != null && _dict.Count > 0) |
| | | { |
| | | ChatCtrl.Inst.PteChatID = (int)_dict.Keys.First(); |
| | | ChatCtrl.Inst.SelectRecentlyChat(ChatCtrl.Inst.PteChatID); |
| | | } |
| | | } |
| | | } |
| | |
| | | [SerializeField] Image m_Icon; |
| | | [SerializeField] Button m_Details; |
| | | [SerializeField] Button m_Goto; |
| | | [SerializeField] Button m_Func; |
| | | [SerializeField] Text m_FuncDisplay; |
| | | [SerializeField] Transform m_Complete; |
| | | [SerializeField] Transform m_Locked; |
| | | [SerializeField] RedpointBehaviour m_RedpointBehaviour; |
| | | [SerializeField] RedpointBehaviour m_FuncRedpointBehaviour; |
| | | |
| | | AchievementGuideEffect m_AchievementEffect; |
| | | |
| | |
| | | m_Goto.RemoveAllListeners(); |
| | | m_Goto.AddListener(GotoDailyQuest); |
| | | |
| | | m_Func.RemoveAllListeners(); |
| | | m_Func.AddListener(GotoFunc); |
| | | |
| | | m_Details.RemoveAllListeners(); |
| | | m_Details.AddListener(ShowDetails); |
| | | |
| | |
| | | else |
| | | { |
| | | m_RedpointBehaviour.gameObject.SetActive(false); |
| | | } |
| | | |
| | | switch ((DailyQuestType)data.id) |
| | | { |
| | | case DailyQuestType.Trial: |
| | | m_FuncRedpointBehaviour.redpointId = model.trialExchangeRedpoint.id; |
| | | break; |
| | | default: |
| | | m_FuncRedpointBehaviour.redpointId = 0; |
| | | break; |
| | | } |
| | | |
| | | CheckAchievementGuide(); |
| | |
| | | else |
| | | { |
| | | dailyQuestWin.GotoDailyQuest(data.id); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void GotoFunc() |
| | | { |
| | | if (data != null) |
| | | { |
| | | switch ((DailyQuestType)data.id) |
| | | { |
| | | case DailyQuestType.Trial: |
| | | WindowCenter.Instance.Open<TrialExchangeWin>(); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | |
| | | break; |
| | | } |
| | | |
| | | switch ((DailyQuestType)data.id) |
| | | { |
| | | case DailyQuestType.Trial: |
| | | m_Func.gameObject.SetActive(state != DailyQuestModel.DailyQuestState.Locked); |
| | | m_FuncDisplay.text = Language.Get("ItemHandle_exchange"); |
| | | break; |
| | | default: |
| | | m_Func.gameObject.SetActive(false); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | private void OnTotalTimeChange() |
| | |
| | | const int ACTIVEVALUE_REDPOINT = 78004; |
| | | const int REALMPOINT_REPOINT = 78005; |
| | | const int DAILYQUEST_REDPOINTIDBASE = 78100; |
| | | const int TRIALEXCHANGE_REDPOINTID = 78006; |
| | | |
| | | Redpoint dailyQuestRedpoint = new Redpoint(DAILYQUEST_REDPOINTID); |
| | | public Redpoint everyDayRedpoint = new Redpoint(DAILYQUEST_REDPOINTID, EVERYDAY_REDPOINTID); |
| | | public Redpoint timeLimitRedpoint = new Redpoint(DAILYQUEST_REDPOINTID, TIMELIMIT_REDPOINTID); |
| | | Redpoint activeValueRedpoint = new Redpoint(EVERYDAY_REDPOINTID, ACTIVEVALUE_REDPOINT); |
| | | Redpoint realmPointRedpoint = new Redpoint(EVERYDAY_REDPOINTID, REALMPOINT_REPOINT); |
| | | public Redpoint trialExchangeRedpoint = new Redpoint(EVERYDAY_REDPOINTID, TRIALEXCHANGE_REDPOINTID); |
| | | |
| | | int m_DailyQuestTotalActiveValue = 150; |
| | | public int dailyQuestTotalActiveValue { |
| | |
| | | public const string LOGIN_AD_TIP = "LoginAdTip"; |
| | | public const string PASS_SKILL_REDPOINT = "PassSkillRedpoint"; |
| | | public const string VIP_GIFT_REDPOINT = "VipGiftRedpoint"; |
| | | public const string MULTIPLE_EXP_REDPOINT = "MultipleExpRedpoint"; |
| | | public const string POTENTIAL_NO_NOTIFY = "PotentialNoNotify"; |
| | | public const string FLASHSALE_REDPOINT = "FlashSale_Redpoint"; |
| | | public const string OSTIMEGIFT_REDPOINT = "OSTimeGift_Redpoint"; |
| | | public const string TRIALEXCHANGE_REDPOINT = "TrialExchange_Redpoint"; |
| | | public Dictionary<string, int[]> dayRemindDic = new Dictionary<string, int[]>(); |
| | | |
| | | public bool GetDayRemind(string _remindKey) |
| | |
| | | SetDayRemind(LOGIN_AD_TIP); |
| | | SetDayRemind(PASS_SKILL_REDPOINT); |
| | | SetDayRemind(VIP_GIFT_REDPOINT); |
| | | SetDayRemind(MULTIPLE_EXP_REDPOINT); |
| | | SetDayRemind(POTENTIAL_NO_NOTIFY); |
| | | SetDayRemind(FLASHSALE_REDPOINT); |
| | | SetDayRemind(OSTIMEGIFT_REDPOINT); |
| | | SetDayRemind(TRIALEXCHANGE_REDPOINT); |
| | | } |
| | | |
| | | private void SetDayRemind(string _key) |
| New file |
| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | | public class TrialClassSelectCell : CellView |
| | | { |
| | | [SerializeField] Text m_Class; |
| | | |
| | | public void Display(int _class) |
| | | { |
| | | if (_class == 1) |
| | | { |
| | | m_Class.text = Language.Get("TrialClassClearSelect"); |
| | | } |
| | | else |
| | | { |
| | | m_Class.text = Language.Get("EquipSuitLV", Language.Get(StringUtility.Contact("Num_CHS_", _class))); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 04abed3d281446d47bc5d2edcafc7137 |
| | | timeCreated: 1533196718 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using TableConfig; |
| | | using UnityEngine; |
| | | namespace Snxxz.UI |
| | | { |
| | | public class TrialDungeonModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk |
| | | { |
| | | Dictionary<int, List<TrialExchangeConfig>> trialTokenExchangeDict = new Dictionary<int, List<TrialExchangeConfig>>(); |
| | | Dictionary<int, int> lineToTokenClassDict; |
| | | public List<int> trialTokens = new List<int>(); |
| | | |
| | | DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } |
| | | PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } |
| | | |
| | | public event Action SelectEquipClassEvent; |
| | | |
| | | bool serverInited = false; |
| | | public override void Init() |
| | | { |
| | | ParseConfig(); |
| | | dailyQuestModel.dailyQuestProgressUpdateEvent += DailyQuestProgressUpdateEvent; |
| | | GlobalTimeEvent.Instance.secondEvent += SecondEvent; |
| | | } |
| | | |
| | | public void OnBeforePlayerDataInitialize() |
| | | { |
| | | serverInited = false; |
| | | } |
| | | |
| | | public void OnPlayerLoginOk() |
| | | { |
| | | serverInited = true; |
| | | UpdateRedpoint(); |
| | | } |
| | | |
| | | void ParseConfig() |
| | | { |
| | | var configs = ConfigManager.Instance.GetAllValues<TrialExchangeConfig>(); |
| | | for (int i = 0; i < configs.Count; i++) |
| | | { |
| | | List<TrialExchangeConfig> list; |
| | | var itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(configs[i].tokenId); |
| | | if (!trialTokenExchangeDict.TryGetValue(itemConfig.LV, out list)) |
| | | { |
| | | list = new List<TrialExchangeConfig>(); |
| | | trialTokenExchangeDict.Add(itemConfig.LV, list); |
| | | } |
| | | list.Add(configs[i]); |
| | | if (!trialTokens.Contains(configs[i].tokenId)) |
| | | { |
| | | trialTokens.Add(configs[i].tokenId); |
| | | } |
| | | } |
| | | var funcConfig = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("LineToItemStage"); |
| | | lineToTokenClassDict = ConfigParse.GetDic<int, int>(funcConfig.Numerical1); |
| | | } |
| | | |
| | | public override void UnInit() |
| | | { |
| | | dailyQuestModel.dailyQuestProgressUpdateEvent -= DailyQuestProgressUpdateEvent; |
| | | } |
| | | |
| | | private void DailyQuestProgressUpdateEvent(int _id) |
| | | { |
| | | if (_id == (int)DailyQuestType.Trial) |
| | | { |
| | | UpdateRedpoint(); |
| | | } |
| | | } |
| | | |
| | | int m_SelectEquipClass = 0;//1-全部阶数 |
| | | public int selectEquipClass |
| | | { |
| | | get { return m_SelectEquipClass; } |
| | | set |
| | | { |
| | | if (m_SelectEquipClass != value && SelectEquipClassEvent != null) |
| | | { |
| | | m_SelectEquipClass = value; |
| | | SelectEquipClassEvent(); |
| | | } |
| | | m_SelectEquipClass = value; |
| | | } |
| | | } |
| | | |
| | | public int GetTrialTokenCount(int itemId) |
| | | { |
| | | var count = 0; |
| | | count += packModel.GetSinglePackModel(PackType.rptItem).GetItemCountByID(itemId); |
| | | return count; |
| | | } |
| | | |
| | | public int LineToTokenClass(int line) |
| | | { |
| | | if (lineToTokenClassDict != null && lineToTokenClassDict.ContainsKey(line)) |
| | | { |
| | | return lineToTokenClassDict[line]; |
| | | } |
| | | return lineToTokenClassDict != null ? lineToTokenClassDict.Values.Last() : 0; |
| | | } |
| | | |
| | | public bool TryGetTrialExchanges(int lv, out List<TrialExchangeConfig> list) |
| | | { |
| | | return trialTokenExchangeDict.TryGetValue(lv, out list); |
| | | } |
| | | |
| | | public bool TrialSendExchange(int _id, out int error) |
| | | { |
| | | error = 0; |
| | | if (!FuncOpen.Instance.IsFuncOpen(88)) |
| | | { |
| | | error = 2; |
| | | return false; |
| | | } |
| | | var config = ConfigManager.Instance.GetTemplate<TrialExchangeConfig>(_id); |
| | | if (config == null) |
| | | { |
| | | return false; |
| | | } |
| | | var count = GetTrialTokenCount(config.tokenId); |
| | | if (count < config.tokenCount) |
| | | { |
| | | error = 1; |
| | | return false; |
| | | } |
| | | CA32F_tagCMTrialExchange pak = new CA32F_tagCMTrialExchange(); |
| | | pak.ID = (uint)_id; |
| | | GameNetSystem.Instance.SendInfo(pak); |
| | | return true; |
| | | } |
| | | |
| | | public void ProcessTrialError(int error) |
| | | { |
| | | switch (error) |
| | | { |
| | | case 1: |
| | | SysNotifyMgr.Instance.ShowTip("TrialTokenCountError"); |
| | | break; |
| | | case 2: |
| | | FuncOpen.Instance.ProcessorFuncErrorTip(88); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | #region 红点 |
| | | public void SetDayRemind() |
| | | { |
| | | if (dailyQuestModel.trialExchangeRedpoint.state == RedPointState.Simple) |
| | | { |
| | | DayRemind.Instance.SetDayRemind(DayRemind.TRIALEXCHANGE_REDPOINT, true); |
| | | UpdateRedpoint(); |
| | | } |
| | | } |
| | | |
| | | private void SecondEvent() |
| | | { |
| | | if (serverInited && !DayRemind.Instance.GetDayRemind(DayRemind.TRIALEXCHANGE_REDPOINT)) |
| | | { |
| | | UpdateRedpoint(); |
| | | } |
| | | } |
| | | |
| | | void UpdateRedpoint() |
| | | { |
| | | var state = dailyQuestModel.GetQuestState((int)DailyQuestType.Trial); |
| | | dailyQuestModel.trialExchangeRedpoint.state = state == DailyQuestModel.DailyQuestState.Completed |
| | | && !DayRemind.Instance.GetDayRemind(DayRemind.TRIALEXCHANGE_REDPOINT) ? |
| | | RedPointState.Simple : RedPointState.None; |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 96b0937bcc556844cbb107fea132a1e8 |
| | | timeCreated: 1533104394 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| | |
| | | Button m_Close; |
| | | [SerializeField] |
| | | Text trialChallengeCntTxt; |
| | | [SerializeField] Button m_Exchange; |
| | | |
| | | public event Action<Dungeon> dungeonSelectEvent; |
| | | Dungeon m_CurrentSelectDungeon; |
| | |
| | | { |
| | | //m_Confirm.AddListener(ChallengeDungeon); |
| | | m_Close.AddListener(CloseClick); |
| | | m_Exchange.AddListener(Exchange); |
| | | } |
| | | |
| | | protected override void OnPreOpen() |
| | |
| | | currentSelectDungeon = dungeons.Count > 0 ? dungeons[0] : default(Dungeon); |
| | | } |
| | | |
| | | private void Exchange() |
| | | { |
| | | WindowCenter.Instance.Open<TrialExchangeWin>(); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | using TableConfig; |
| | | using System; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | | public class TrialExchangeCell : CellView |
| | | { |
| | | [SerializeField] ItemCell m_Item; |
| | | [SerializeField] Text m_Description; |
| | | [SerializeField] ItemBehaviour m_Token; |
| | | [SerializeField] Button m_Exchange; |
| | | TrialDungeonModel model { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } } |
| | | |
| | | int trialExchangeId = 0; |
| | | private void Awake() |
| | | { |
| | | m_Exchange.AddListener(Exchange); |
| | | } |
| | | |
| | | private void Exchange() |
| | | { |
| | | if (trialExchangeId != 0) |
| | | { |
| | | int error = 0; |
| | | if (!model.TrialSendExchange(trialExchangeId, out error)) |
| | | { |
| | | if (error == 1) |
| | | { |
| | | var config = ConfigManager.Instance.GetTemplate<TrialExchangeConfig>(trialExchangeId); |
| | | if (config != null) |
| | | { |
| | | ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(config.tokenId); |
| | | } |
| | | } |
| | | model.ProcessTrialError(error); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void Display(int id) |
| | | { |
| | | trialExchangeId = id; |
| | | var config = ConfigManager.Instance.GetTemplate<TrialExchangeConfig>(id); |
| | | if (config == null) |
| | | { |
| | | trialExchangeId = 0; |
| | | return; |
| | | } |
| | | m_Item.cellBtn.RemoveAllListeners(); |
| | | m_Item.gameObject.SetActive(true); |
| | | ItemCellModel cellModel = new ItemCellModel(config.exchangeItemID, true, (ulong)config.exchangeItemCount, config.exchangeItemIsBind); |
| | | m_Item.Init(cellModel); |
| | | m_Item.cellBtn.AddListener(() => |
| | | { |
| | | ItemAttrData itemAttrData = new ItemAttrData(config.exchangeItemID, true, (ulong)config.exchangeItemCount, -1, config.exchangeItemIsBind); |
| | | ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(itemAttrData); |
| | | }); |
| | | m_Description.text = config.description; |
| | | m_Token.SetItem(config.tokenId, config.tokenCount); |
| | | } |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 9ebb65b796d3424439f2dff414553268 |
| | | timeCreated: 1533181655 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Wednesday, August 01, 2018 |
| | | //-------------------------------------------------------- |
| | | |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using TableConfig; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | |
| | | namespace Snxxz.UI { |
| | | |
| | | public class TrialExchangeWin : Window |
| | | { |
| | | [SerializeField] ScrollerController m_Controller; |
| | | [SerializeField] Text m_SelectClass; |
| | | [SerializeField] Button m_SelectClassUp; |
| | | [SerializeField] TrialSelectClassBehaviour m_SelectClassBehaviour; |
| | | [SerializeField] Button m_Close; |
| | | |
| | | TrialDungeonModel model { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } } |
| | | DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } |
| | | |
| | | PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } |
| | | #region Built-in |
| | | protected override void BindController() |
| | | { |
| | | |
| | | } |
| | | |
| | | protected override void AddListeners() |
| | | { |
| | | m_Controller.OnRefreshCell += OnRefreshCell; |
| | | m_Close.onClick.AddListener(CloseClick); |
| | | m_SelectClassUp.onClick.AddListener(SelectClassUp); |
| | | } |
| | | |
| | | protected override void OnPreOpen() |
| | | { |
| | | model.SetDayRemind(); |
| | | model.selectEquipClass = 1; |
| | | m_SelectClassBehaviour.gameObject.SetActive(false); |
| | | m_SelectClassUp.transform.localEulerAngles = Vector3.zero.SetZ(180); |
| | | foreach (var mapID in dungeonModel.DungeonMapDungeons(60010)) |
| | | { |
| | | DungeonConfig _tagDungeonModel = ConfigManager.Instance.GetTemplate<DungeonConfig>(mapID); |
| | | DungeonRecord dungeonRecord; |
| | | if (dungeonModel.TryGetDungeonRecord(60010, out dungeonRecord)) |
| | | { |
| | | if (dungeonRecord.lineGrades != null && dungeonRecord.lineGrades.ContainsKey(_tagDungeonModel.LineID)) |
| | | { |
| | | model.selectEquipClass = model.LineToTokenClass(_tagDungeonModel.LineID); |
| | | } |
| | | } |
| | | } |
| | | model.SelectEquipClassEvent += SelectEquipClassEvent; |
| | | packModel.RefreshItemCountAct += RefreshItemCountAct; |
| | | Display(); |
| | | } |
| | | |
| | | protected override void OnAfterOpen() |
| | | { |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | model.SelectEquipClassEvent -= SelectEquipClassEvent; |
| | | packModel.RefreshItemCountAct -= RefreshItemCountAct; |
| | | } |
| | | |
| | | protected override void OnAfterClose() |
| | | { |
| | | } |
| | | #endregion |
| | | private void OnRefreshCell(ScrollerDataType type, CellView cell) |
| | | { |
| | | TrialExchangeCell trialExchangeCell = cell as TrialExchangeCell; |
| | | trialExchangeCell.Display(cell.index); |
| | | } |
| | | |
| | | private void SelectClassUp() |
| | | { |
| | | bool _up = m_SelectClassBehaviour.gameObject.activeSelf; |
| | | m_SelectClassBehaviour.gameObject.SetActive(!_up); |
| | | if (!_up) |
| | | { |
| | | m_SelectClassBehaviour.Display(); |
| | | } |
| | | m_SelectClassUp.transform.localEulerAngles = Vector3.zero.SetZ(_up ? 180 : 0); |
| | | } |
| | | |
| | | void Display() |
| | | { |
| | | DisplayTrialExchanges(); |
| | | DisplaySelectClass(); |
| | | } |
| | | |
| | | void DisplayTrialExchanges() |
| | | { |
| | | m_Controller.Refresh(); |
| | | if (model.selectEquipClass == 1) |
| | | { |
| | | var configs = ConfigManager.Instance.GetAllValues<TrialExchangeConfig>(); |
| | | for (int i = 0; i < configs.Count; i++) |
| | | { |
| | | m_Controller.AddCell(ScrollerDataType.Header, configs[i].id); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | List<TrialExchangeConfig> list; |
| | | if (model.TryGetTrialExchanges(model.selectEquipClass, out list)) |
| | | { |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | m_Controller.AddCell(ScrollerDataType.Header, list[i].id); |
| | | } |
| | | } |
| | | } |
| | | m_Controller.Restart(); |
| | | } |
| | | |
| | | private void RefreshItemCountAct(PackType packtype, int arg2, int itemId) |
| | | { |
| | | if (packtype == PackType.rptItem && model.trialTokens.Contains(itemId)) |
| | | { |
| | | m_Controller.m_Scorller.RefreshActiveCellViews(); |
| | | } |
| | | } |
| | | |
| | | void DisplaySelectClass() |
| | | { |
| | | m_SelectClass.text = model.selectEquipClass == 1 ? Language.Get("TrialClassSeleclAll") : |
| | | Language.Get("EquipSuitLV", Language.Get(StringUtility.Contact("Num_CHS_", model.selectEquipClass))); |
| | | } |
| | | |
| | | private void SelectEquipClassEvent() |
| | | { |
| | | DisplayTrialExchanges(); |
| | | DisplaySelectClass(); |
| | | bool _up = m_SelectClassBehaviour.gameObject.activeSelf; |
| | | m_SelectClassUp.transform.localEulerAngles = Vector3.zero.SetZ(_up ? 0 : 180); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: b54a5d314f590f24a964f47ff2adcee5 |
| | | timeCreated: 1533115845 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using TableConfig; |
| | | using UnityEngine; |
| | | namespace Snxxz.UI |
| | | { |
| | | public class TrialSelectClassBehaviour : MonoBehaviour |
| | | { |
| | | [SerializeField] ScrollerController m_Controller; |
| | | |
| | | TrialDungeonModel model { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } } |
| | | private void Awake() |
| | | { |
| | | m_Controller.OnRefreshCell += OnRefreshCell; |
| | | } |
| | | |
| | | private void OnRefreshCell(ScrollerDataType type, CellView cell) |
| | | { |
| | | TrialClassSelectCell trialClassSelectCell = cell as TrialClassSelectCell; |
| | | trialClassSelectCell.Display(cell.index); |
| | | } |
| | | |
| | | public void Display() |
| | | { |
| | | if (m_Controller.GetNumberOfCells(m_Controller.m_Scorller) <= 0) |
| | | { |
| | | m_Controller.Refresh(); |
| | | m_Controller.AddCell(ScrollerDataType.Header, 1, SelectClass); |
| | | for (int i = 0; i < model.trialTokens.Count; i++) |
| | | { |
| | | var config = ConfigManager.Instance.GetTemplate<ItemConfig>(model.trialTokens[i]); |
| | | m_Controller.AddCell(ScrollerDataType.Header, config.LV, SelectClass); |
| | | } |
| | | m_Controller.Restart(); |
| | | } |
| | | } |
| | | |
| | | private void SelectClass(CellView cell) |
| | | { |
| | | model.selectEquipClass = cell.index; |
| | | gameObject.SetActive(false); |
| | | } |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 16a96c2e07e1e24458fa86cd651074f5 |
| | | timeCreated: 1533196158 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| | |
| | | public override void UnInit() |
| | | { |
| | | ChatCtrl.OnRefreshPteChat -= FriendChatRedPointCtrl; |
| | | ChatCtrl.Inst.SelectRecentlyEvent -= PrivateSomeone; |
| | | GA_Hero.OnKillPlayer -= RefreshKillOtherPlayer; |
| | | } |
| | | |
| | | public void OnBeforePlayerDataInitialize() |
| | | { |
| | | ChatCtrl.OnRefreshPteChat -= FriendChatRedPointCtrl; |
| | | ChatCtrl.Inst.SelectRecentlyEvent -= PrivateSomeone; |
| | | _groupDict.Clear(); |
| | | _friendQuestDict.Clear(); |
| | | _friendRecommendDict.Clear(); |
| | |
| | | public void OnAfterPlayerDataInitialize() |
| | | { |
| | | ChatCtrl.OnRefreshPteChat += FriendChatRedPointCtrl; |
| | | ChatCtrl.Inst.SelectRecentlyEvent += PrivateSomeone; |
| | | } |
| | | |
| | | |
| | | private void RefreshKillOtherPlayer(uint id, string name) |
| | | { |
| | |
| | | DesignDebug.Log("FriendChatRedPointCtrl"); |
| | | } |
| | | |
| | | private void PrivateSomeone(int playerId) |
| | | { |
| | | RemoveFriendRed(GroupType.RecentContact, playerId); |
| | | } |
| | | |
| | | |
| | | public void RemoveFriendRed(GroupType type,int id) |
| | | { |
| | | if (friendRedDict.ContainsKey(type)) |
| | |
| | | public List<int> demonJarNoRebornRemindMaps = null; |
| | | |
| | | public string[][] ModeDefaultConfig { get; private set; } |
| | | public int[] RealmGroup { get; private set; } |
| | | public float PrefightAtkRange { get; private set; } |
| | | |
| | | public Dictionary<int, string> multipleRealmImgDict { get; private set; } |
| | | public void Init() |
| | | { |
| | | try |
| | |
| | | _pos[0] = (double)_data[_key][0]; |
| | | _pos[1] = (double)_data[_key][1]; |
| | | NpcPosOffset.Add(_npcID, new Vector3((float)_pos[0], 0, (float)_pos[1])); |
| | | } |
| | | |
| | | FuncConfigConfig nxxdImg = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("NXXDPicture"); |
| | | LitJson.JsonData nxxdData = LitJson.JsonMapper.ToObject(nxxdImg.Numerical1); |
| | | multipleRealmImgDict = new Dictionary<int, string>(); |
| | | if (nxxdData.IsArray) |
| | | { |
| | | for (i = 0; i < nxxdData.Count; i++) |
| | | { |
| | | if (nxxdData[i].IsArray) |
| | | { |
| | | multipleRealmImgDict.Add(int.Parse(nxxdData[i][0].ToString()), nxxdData[i][1].ToString()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | bossShuntMaps = new List<int>(GetIntArray("BossShunt")); |
| | |
| | | ModeDefaultConfig[2] = _pet; |
| | | ModeDefaultConfig[3] = _horse; |
| | | } |
| | | |
| | | if (RealmGroup == null) |
| | | { |
| | | func = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("RealmGroup"); |
| | | string[] _group = func.Numerical1.Split('|'); |
| | | RealmGroup = new int[_group.Length]; |
| | | for (int j = 0; j < _group.Length; ++j) |
| | | { |
| | | int.TryParse(_group[j], out RealmGroup[j]); |
| | | } |
| | | } |
| | | |
| | | func = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("PrefightAtkRange"); |
| | | PrefightAtkRange = float.Parse(func.Numerical1); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | { |
| | | xbResultItemBasiclist[index].gameObject.SetActive(true); |
| | | xbResultItemBasiclist[index].transform.DOScale(new Vector3(1, 1, 1), scaleTime); |
| | | XBModel.GetNotifyResult(xbResultItemBasiclist[index].itemConfig.ID); |
| | | XBModel.GetNotifyResult(xbResultItemBasiclist[index].itemConfig.ID, int.Parse(xbResultItemBasiclist[index].countText.text)); |
| | | } |
| | | } |
| | | |
| | |
| | | /// <returns></returns> |
| | | private bool SatisfyNotifyCondition(string key, ArrayList paramArray) |
| | | { |
| | | XBNotifyParms.Add(paramArray); |
| | | XBNotifyParms.Add(new ArrayList(paramArray)); |
| | | if (paramArray != null && paramArray.Count > 0 && |
| | | paramArray[0].Equals(UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName))) |
| | | { |
| | |
| | | return true; |
| | | } |
| | | |
| | | public void GetNotifyResult(int itemId) |
| | | public void GetNotifyResult(int itemId, int itemCount) |
| | | { |
| | | DesignDebug.Log("GetNotifyResult" + XBNotifyParms.Count); |
| | | for(int i = 0; i < XBNotifyParms.Count; i++) |
| | | for (int i = 0; i < XBNotifyParms.Count; i++) |
| | | { |
| | | if(XBNotifyParms[i] != null && XBNotifyParms[i].Count > 1) |
| | | if (XBNotifyParms[i] != null && XBNotifyParms[i].Count > 3) |
| | | { |
| | | int notifyItemId = 0; |
| | | int.TryParse(XBNotifyParms[i][1].ToString(),out notifyItemId); |
| | | if (notifyItemId == itemId) |
| | | int.TryParse(XBNotifyParms[i][1].ToString(), out notifyItemId); |
| | | int notifyItemCnt = 0; |
| | | int.TryParse(XBNotifyParms[i][3].ToString(), out notifyItemCnt); |
| | | if (notifyItemId == itemId && notifyItemCnt == itemCount) |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("HappyXB", XBNotifyParms[i].ToArray()); |
| | | break; |
| | |
| | | for (int i = 0; i < xbItemlist.Count; i++) |
| | | { |
| | | string log = Language.Get("HappyXBGetItemTime", xbItemlist[i].createTimeStr, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName), |
| | | xbItemlist[i].itemId); |
| | | xbItemlist[i].itemId, xbItemlist[i].count); |
| | | getNewItemLoglist.Add(log); |
| | | } |
| | | if (getNewItemLoglist.Count > 0) |
| | |
| | | xbResultItemBasiclist[index].transform.DOScale(new Vector3(1, 1, 1), scaleTime); |
| | | if(xbResultItemBasiclist[index].itemConfig != null) |
| | | { |
| | | XBModel.GetNotifyResult(xbResultItemBasiclist[index].itemConfig.ID); |
| | | XBModel.GetNotifyResult(xbResultItemBasiclist[index].itemConfig.ID, int.Parse(xbResultItemBasiclist[index].countText.text)); |
| | | } |
| | | } |
| | | } |
| | |
| | | [SerializeField] |
| | | Text conditionText; |
| | | [SerializeField] Text needLvText; |
| | | |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | |
| | | [SerializeField] |
| | | Text itemTypeText; |
| | | |
| | |
| | | ItemCellModel cellModel = new ItemCellModel(itemTipsModel.curAttrData.itemId, itemTipsModel.curAttrData.isPreview, (ulong)itemTipsModel.curAttrData.count, itemTipsModel.curAttrData.isBind, |
| | | itemTipsModel.curAttrData.guid, itemTipsModel.curAttrData.packType, false); |
| | | itemCell.Init(cellModel); |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | |
| | | string conditionStr = StringUtility.Contact(Language.Get("KnapS110"), itemTipsModel.curAttrData.itemConfig.UseLV); |
| | | |
| | | conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | if (itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString(); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | |
| | | if (chestsConfig != null && chestsConfig.OpenMoney > 0) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV) |
| | | ulong haveMoney = UIHelper.GetMoneyCnt(1); |
| | | if (haveMoney >= (ulong)chestsConfig.OpenMoney) |
| | | { |
| | | conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | conditionText.text = Language.Get("OpenBoxCostMoney", UIHelper.GetTextColorByItemColor(TextColType.Green, chestsConfig.OpenMoney.ToString())); |
| | | } |
| | | else |
| | | { |
| | | conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | } |
| | | if(chestsConfig != null) |
| | | { |
| | | if (chestsConfig.OpenMoney > 0) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(false); |
| | | ulong haveMoney = UIHelper.GetMoneyCnt(1); |
| | | if(haveMoney >= (ulong)chestsConfig.OpenMoney) |
| | | { |
| | | conditionText.text = Language.Get("OpenBoxCostMoney", UIHelper.GetTextColorByItemColor(TextColType.Green, chestsConfig.OpenMoney.ToString())); |
| | | } |
| | | else |
| | | { |
| | | conditionText.text = Language.Get("OpenBoxCostMoney", UIHelper.GetTextColorByItemColor(TextColType.Red,chestsConfig.OpenMoney.ToString())); |
| | | } |
| | | conditionText.text = Language.Get("OpenBoxCostMoney", UIHelper.GetTextColorByItemColor(TextColType.Red, chestsConfig.OpenMoney.ToString())); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | DesignDebug.LogError("宝箱开启表里没有这个宝箱ID:" + itemTipsModel.curAttrData.itemId); |
| | | CheckUselimit(); |
| | | } |
| | | |
| | | itemDesText.text = itemTipsModel.curAttrData.GetAllInfoDes(); |
| | | operateBtn.SetActive(false); |
| | | |
| | | CreateFuncBtn(); |
| | | |
| | | |
| | | if (itemTipsModel.curAttrData.itemConfig.ExpireTime > 0) |
| | | { |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemTipsModel.curAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | } |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString(); |
| | | |
| | | if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV) |
| | | { |
| | | conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemTipsModel.curAttrData.itemConfig.RealmLimit); |
| | | if (itemTipsModel.curAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = conditionRedColor; |
| | | } |
| | | break; |
| | | case 2: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void RefreshUseCnt(int id) |
| | | { |
| | | if (itemTipsModel.curAttrData == null || id != itemTipsModel.curAttrData.itemId) |
| | |
| | | Text dateText; |
| | | [SerializeField] |
| | | ItemCell itemCell; |
| | | |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | |
| | | #endregion |
| | | |
| | | #region MidUI |
| | |
| | | { |
| | | bottomPart.gameObject.SetActive(false); |
| | | StartCoroutine(SetScrollSize()); |
| | | StartCoroutine(CheckPlayerIsReborn()); |
| | | } |
| | | |
| | | IEnumerator CheckPlayerIsReborn() |
| | | { |
| | | int questTimes = 0; |
| | | while (questTimes < 5) |
| | | { |
| | | DesignDebug.Log("CheckPlayerIsReborn:开始"); |
| | | yield return new WaitForSeconds(1); |
| | | questTimes += 1; |
| | | DesignDebug.Log("CheckPlayerIsReborn:结束"); |
| | | } |
| | | } |
| | | |
| | | IEnumerator SetScrollSize() |
| | |
| | | |
| | | equipScoreDes.text = Language.Get("EquipWin_EquipPointText_1"); |
| | | equipScoreValue.text = itemAttrData.score.ToString(); |
| | | RefreshNeedPointUI(); |
| | | |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | needLvDes.gameObject.SetActive(true); |
| | | needLvValue.gameObject.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | needLvDes.gameObject.SetActive(false); |
| | | needLvValue.gameObject.SetActive(false); |
| | | } |
| | | |
| | | if(itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | |
| | | CheckUselimit(); |
| | | |
| | | if (itemAttrData.itemConfig.ExpireTime > 0) |
| | | { |
| | |
| | | #endregion |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | needLvValue.gameObject.SetActive(false); |
| | | needLvDes.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | for(int i = 0; i < needPointTextlist.Count;i++) |
| | | { |
| | | needPointTextlist[i].gameObject.SetActive(false); |
| | | needPointNumlist[i].gameObject.SetActive(false); |
| | | } |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | needLvValue.gameObject.SetActive(true); |
| | | needLvDes.gameObject.SetActive(true); |
| | | } |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvValue.color = conditionColor; |
| | | needLvDes.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemAttrData.itemConfig.RealmLimit); |
| | | if (itemAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | break; |
| | | case 2: |
| | | RefreshNeedPointUI(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void OnDisable() |
| | | { |
| | | suirAttrCtrl.OnRefreshCell -= RefreshSuitProCell; |
| | |
| | | Button closeBtn; |
| | | [SerializeField] |
| | | Text dateText; |
| | | |
| | | [SerializeField] |
| | | Text conditionText; |
| | | [SerializeField] Text needLvText; |
| | | |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | |
| | | [SerializeField] |
| | | Text itemTypeText; |
| | | |
| | |
| | | itemTipsModel.curAttrData.guid, itemTipsModel.curAttrData.packType, false); |
| | | itemCell.Init(cellModel); |
| | | |
| | | if(itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | } |
| | | |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString(); |
| | | |
| | | if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV) |
| | | { |
| | | conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | |
| | | CheckUselimit(); |
| | | if(itemTipsModel.curAttrData.itemConfig.Effect1 != 215) |
| | | { |
| | | itemDesText.text = itemTipsModel.curAttrData.GetAllInfoDes(); |
| | |
| | | } |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemTipsModel.curAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch(uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | } |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString(); |
| | | |
| | | if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV) |
| | | { |
| | | conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemTipsModel.curAttrData.itemConfig.RealmLimit); |
| | | if(itemTipsModel.curAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if(realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = conditionRedColor; |
| | | } |
| | | break; |
| | | case 2: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void RefreshUseCnt(int id) |
| | | { |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 设置物品使用的限制条件 |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | public class ItemAttrData |
| | |
| | | } |
| | | else |
| | | { |
| | | if(sendItemConfig.EquipPlace != (int)RoleEquipType.retWing) |
| | | { |
| | | CheckPutOnNeed(); |
| | | } |
| | | else |
| | | { |
| | | CheckPutOnRealm(); |
| | | } |
| | | |
| | | CheckEquipUselimit(sendItemConfig); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (sendItemConfig.EquipPlace != (int)RoleEquipType.retWing) |
| | | CheckEquipUselimit(sendItemConfig); |
| | | } |
| | | } |
| | | |
| | | public bool CheckEquipUselimit(ItemConfig config) |
| | | { |
| | | int[] uselimits = config.UseCondiType; |
| | | if (uselimits == null || uselimits.Length < 1) |
| | | { |
| | | CheckPutOnPlace(); |
| | | return true; |
| | | } |
| | | |
| | | bool isCanPut = true; |
| | | for(int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch(uselimits[i]) |
| | | { |
| | | CheckPutOnNeed(); |
| | | } |
| | | else |
| | | { |
| | | CheckPutOnRealm(); |
| | | case 0: |
| | | int playerLv = PlayerDatas.Instance.baseData.LV; |
| | | if (playerLv < config.UseLV) |
| | | { |
| | | isCanPut = false; |
| | | int remainLv = config.UseLV - playerLv; |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("EquipWinLevelLimit", config.UseLV, remainLv)); |
| | | } |
| | | break; |
| | | case 1: |
| | | isCanPut = CheckPutOnRealm(config); |
| | | break; |
| | | case 2: |
| | | isCanPut = CheckPutOnNeed(); |
| | | break; |
| | | } |
| | | } |
| | | if(isCanPut) |
| | | { |
| | | CheckPutOnPlace(); |
| | | } |
| | | return isCanPut; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | private Dictionary<AttrEnum, int> sumNeedlist = new Dictionary<AttrEnum, int>(); |
| | | private float sumOffsetPoint = 0; |
| | | private int sumNeedPoint = 0; |
| | | private void CheckPutOnNeed() |
| | | private bool CheckPutOnNeed() |
| | | { |
| | | int playerJob = PlayerDatas.Instance.baseData.Job; |
| | | if (playerJob != Math.Floor((double)sendItemConfig.JobLimit / 100) && sendItemConfig.JobLimit != 0) |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("GeRen_lhs_31379"); |
| | | return; |
| | | return false; |
| | | } |
| | | |
| | | int jobRank = sendItemConfig.JobLimit % 10; |
| | | int playerLv = PlayerDatas.Instance.baseData.LV; |
| | | if (playerLv < sendItemConfig.UseLV) |
| | | offsetConditionStr.Length = 0; |
| | | sumOffsetlist.Clear(); |
| | | sumNeedlist.Clear(); |
| | | sumOffsetPoint = 0; |
| | | sumNeedPoint = 0; |
| | | needConditionStr.Length = 0; |
| | | upgradConditionStr.Length = 0; |
| | | float offset = 0; |
| | | if (sendItemConfig.LimitSTR != 0) |
| | | { |
| | | int remainLv = sendItemConfig.UseLV - playerLv; |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("EquipWinLevelLimit", sendItemConfig.UseLV,remainLv)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Length = 0; |
| | | sumOffsetlist.Clear(); |
| | | sumNeedlist.Clear(); |
| | | sumOffsetPoint = 0; |
| | | sumNeedPoint = 0; |
| | | needConditionStr.Length = 0; |
| | | upgradConditionStr.Length = 0; |
| | | float offset = 0; |
| | | if (sendItemConfig.LimitSTR != 0) |
| | | offset = sendItemConfig.LimitSTR - UIHelper.GetPropertyMapPlayerData(AttrEnum.POWER); |
| | | if (offset > 0) |
| | | { |
| | | offset = sendItemConfig.LimitSTR - UIHelper.GetPropertyMapPlayerData(AttrEnum.POWER); |
| | | if (offset > 0) |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS136", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS136", offset)); |
| | | } |
| | | |
| | | if(upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS136", sendItemConfig.LimitSTR), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS136", sendItemConfig.LimitSTR), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumNeedPoint += sendItemConfig.LimitSTR; |
| | | sumOffsetlist.Add(AttrEnum.POWER, offset); |
| | | } |
| | | sumNeedlist.Add(AttrEnum.POWER, sendItemConfig.LimitSTR); |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS136", sendItemConfig.LimitSTR)); |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS136", offset)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS136", sendItemConfig.LimitSTR)); |
| | | offsetConditionStr.Append(Language.Get("KnapS136", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS136", sendItemConfig.LimitSTR), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS136", sendItemConfig.LimitSTR), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumNeedPoint += sendItemConfig.LimitSTR; |
| | | sumOffsetlist.Add(AttrEnum.POWER, offset); |
| | | } |
| | | |
| | | if (sendItemConfig.LimitPHY != 0) |
| | | sumNeedlist.Add(AttrEnum.POWER, sendItemConfig.LimitSTR); |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | offset = sendItemConfig.LimitPHY - UIHelper.GetPropertyMapPlayerData(AttrEnum.AGILITY); |
| | | if (offset > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS135", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS135", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS135", sendItemConfig.LimitPHY), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS135", sendItemConfig.LimitPHY), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumNeedPoint += sendItemConfig.LimitPHY; |
| | | sumOffsetlist.Add(AttrEnum.AGILITY, offset); |
| | | } |
| | | sumNeedlist.Add(AttrEnum.AGILITY, sendItemConfig.LimitPHY); |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS135", sendItemConfig.LimitPHY)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS135", sendItemConfig.LimitPHY)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (sendItemConfig.LimitPNE != 0) |
| | | { |
| | | offset = sendItemConfig.LimitPNE - UIHelper.GetPropertyMapPlayerData(AttrEnum.MENTALITY); |
| | | if (offset > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS137", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS137", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS137", sendItemConfig.LimitPNE), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS137", sendItemConfig.LimitPNE), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumOffsetlist.Add(AttrEnum.MENTALITY, offset); |
| | | sumNeedPoint += sendItemConfig.LimitPNE; |
| | | } |
| | | sumNeedlist.Add(AttrEnum.MENTALITY, sendItemConfig.LimitPNE); |
| | | |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS137", sendItemConfig.LimitPNE)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS137", sendItemConfig.LimitPNE)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | |
| | | if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint) |
| | | { |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS132", offsetConditionStr.ToString()), (bool isOk) => { |
| | | |
| | | if (isOk) |
| | | { |
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AddPoint)) |
| | | { |
| | | foreach (var key in sumOffsetlist.Keys) |
| | | { |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshFreePoint; |
| | | rolePointModel.SendAddPoint((int)key, (int)sumOffsetlist[key]); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.AddPoint); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | FuncConfigConfig addPointFunc = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("LVUPAddPoint"); |
| | | int[] rankValue = ConfigParse.GetMultipleStr<int>(addPointFunc.Numerical1); |
| | | if (addPointFunc != null) |
| | | { |
| | | double needUpgradLV = System.Math.Ceiling((sumOffsetPoint - PlayerDatas.Instance.baseData.FreePoint) / rankValue[jobRank - 1]); |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS134",upgradConditionStr.ToString(), needUpgradLV.ToString())); |
| | | } |
| | | } |
| | | |
| | | needConditionStr.Append("\n" + Language.Get("KnapS136", sendItemConfig.LimitSTR)); |
| | | } |
| | | else |
| | | { |
| | | CheckPutOnPlace(); |
| | | needConditionStr.Append(Language.Get("KnapS136", sendItemConfig.LimitSTR)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (sendItemConfig.LimitPHY != 0) |
| | | { |
| | | offset = sendItemConfig.LimitPHY - UIHelper.GetPropertyMapPlayerData(AttrEnum.AGILITY); |
| | | if (offset > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS135", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS135", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS135", sendItemConfig.LimitPHY), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS135", sendItemConfig.LimitPHY), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumNeedPoint += sendItemConfig.LimitPHY; |
| | | sumOffsetlist.Add(AttrEnum.AGILITY, offset); |
| | | } |
| | | sumNeedlist.Add(AttrEnum.AGILITY, sendItemConfig.LimitPHY); |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS135", sendItemConfig.LimitPHY)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS135", sendItemConfig.LimitPHY)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (sendItemConfig.LimitPNE != 0) |
| | | { |
| | | offset = sendItemConfig.LimitPNE - UIHelper.GetPropertyMapPlayerData(AttrEnum.MENTALITY); |
| | | if (offset > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS137", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS137", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS137", sendItemConfig.LimitPNE), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS137", sendItemConfig.LimitPNE), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumOffsetlist.Add(AttrEnum.MENTALITY, offset); |
| | | sumNeedPoint += sendItemConfig.LimitPNE; |
| | | } |
| | | sumNeedlist.Add(AttrEnum.MENTALITY, sendItemConfig.LimitPNE); |
| | | |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS137", sendItemConfig.LimitPNE)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS137", sendItemConfig.LimitPNE)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint) |
| | | { |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS132", offsetConditionStr.ToString()), (bool isOk) => { |
| | | |
| | | if (isOk) |
| | | { |
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AddPoint)) |
| | | { |
| | | foreach (var key in sumOffsetlist.Keys) |
| | | { |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshFreePoint; |
| | | rolePointModel.SendAddPoint((int)key, (int)sumOffsetlist[key]); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.AddPoint); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | FuncConfigConfig addPointFunc = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("LVUPAddPoint"); |
| | | int[] rankValue = ConfigParse.GetMultipleStr<int>(addPointFunc.Numerical1); |
| | | if (addPointFunc != null) |
| | | { |
| | | double needUpgradLV = System.Math.Ceiling((sumOffsetPoint - PlayerDatas.Instance.baseData.FreePoint) / rankValue[jobRank - 1]); |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS134", upgradConditionStr.ToString(), needUpgradLV.ToString())); |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | private StringBuilder curRealmImgStr = new StringBuilder(); |
| | | private StringBuilder needRealmImgStr = new StringBuilder(); |
| | | private void CheckPutOnRealm() |
| | | private bool CheckPutOnRealm(ItemConfig config) |
| | | { |
| | | curRealmImgStr.Length = 0; |
| | | needRealmImgStr.Length = 0; |
| | | var _realmLv = 1; |
| | | GeneralConfig.Instance.wingEquipLimits.TryGetValue(sendItemConfig.ID, out _realmLv); |
| | | var _realmLv = config.RealmLimit; |
| | | var needRealmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(_realmLv); |
| | | var curRealmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel); |
| | | |
| | |
| | | { |
| | | curRealmImgStr.Append(Language.Get("Market_Text_33")); |
| | | } |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS142",needRealmImgStr.ToString(),curRealmImgStr.ToString())); |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS142",needRealmImgStr.ToString(),curRealmImgStr.ToString())); |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | CheckPutOnPlace(); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | private void RefreshFreePoint(PlayerDataRefresh refreshType) |
| | |
| | | |
| | | if(playerPack.CheckIsDrugById(useItemModel.itemInfo.ItemID)) |
| | | { |
| | | if (PlayerDatas.Instance.baseData.LV < useItemModel.chinItemModel.UseLV) |
| | | { |
| | | MessageWin.Inst.ShowFixedTip(Language.Get("MakeUseItem101", useItemModel.chinItemModel.UseLV)); |
| | | |
| | | } |
| | | else |
| | | if(CheckItemUselimit(useItemModel.chinItemModel)) |
| | | { |
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.MakeDrug); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | public void CheckUseCondition(ItemModel itemModel) |
| | | public bool CheckItemUselimit(ItemConfig config) |
| | | { |
| | | if (PlayerDatas.Instance.baseData.LV < itemModel.chinItemModel.UseLV) |
| | | int[] uselimits = config.UseCondiType; |
| | | if (uselimits == null) return true; |
| | | |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | MessageWin.Inst.ShowFixedTip(Language.Get("MakeUseItem101", itemModel.chinItemModel.UseLV)); |
| | | return; |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | int playerLv = PlayerDatas.Instance.baseData.LV; |
| | | if (playerLv < config.UseLV) |
| | | { |
| | | MessageWin.Inst.ShowFixedTip(Language.Get("MakeUseItem101", useItemModel.chinItemModel.UseLV)); |
| | | return false; |
| | | } |
| | | break; |
| | | case 1: |
| | | return CheckPutOnRealm(config); |
| | | } |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | public void CheckUseCondition(ItemModel itemModel) |
| | | { |
| | | if(!CheckItemUselimit(itemModel.chinItemModel)) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if(itemModel.chinItemModel.Type == 59) |
| | | { |
| | | playerPack.SetWashAttrPointModel(itemModel.itemInfo.ItemGUID); |
| | |
| | | Text dateText; |
| | | [SerializeField] |
| | | ItemCell itemCell; |
| | | |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | #endregion |
| | | |
| | | #region MidUI |
| | |
| | | itemCell.Init(cellModel); |
| | | equipScoreDes.text = Language.Get("EquipWin_EquipPointText_1"); |
| | | equipScoreValue.text = itemAttrData.score.ToString(); |
| | | RefreshNeedPointUI(); |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | |
| | | if (itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | needLvDes.gameObject.SetActive(true); |
| | | needLvValue.gameObject.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | needLvDes.gameObject.SetActive(false); |
| | | needLvValue.gameObject.SetActive(false); |
| | | } |
| | | |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | |
| | | CheckUselimit(); |
| | | if (itemAttrData.itemConfig.ExpireTime > 0) |
| | | { |
| | | List<int> itemEffectTime = itemAttrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetCreateTime); |
| | |
| | | KnapsackTimeCDMgr.Instance.RefreshItemOverdueTimeAct -= RefreshRemainTime; |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | needLvValue.gameObject.SetActive(false); |
| | | needLvDes.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | for (int i = 0; i < needPointTextlist.Count; i++) |
| | | { |
| | | needPointTextlist[i].gameObject.SetActive(false); |
| | | needPointNumlist[i].gameObject.SetActive(false); |
| | | } |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | needLvValue.gameObject.SetActive(true); |
| | | needLvDes.gameObject.SetActive(true); |
| | | } |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvValue.color = conditionColor; |
| | | needLvDes.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemAttrData.itemConfig.RealmLimit); |
| | | if (itemAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | break; |
| | | case 2: |
| | | RefreshNeedPointUI(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void RefreshRemainTime(string guid) |
| | | { |
| | | if (guid != itemAttrData.guid) |
| | |
| | | [SerializeField] |
| | | Text conditionText; |
| | | [SerializeField] |
| | | Text conditionValueText; |
| | | Image conditionValueText; |
| | | [SerializeField] |
| | | Text dateText; |
| | | [SerializeField] |
| | |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | conditionValueText.gameObject.SetActive(true); |
| | | var _realmLv = 1; |
| | | GeneralConfig.Instance.wingEquipLimits.TryGetValue(itemAttrData.itemConfig.ID, out _realmLv); |
| | | var _realmLv = itemAttrData.itemConfig.RealmLimit; |
| | | var _realmCfg = ConfigManager.Instance.GetTemplate<RealmConfig>(_realmLv); |
| | | if (PlayerDatas.Instance.baseData.realmLevel < _realmLv) |
| | | { |
| | | conditionText.text = UIHelper.GetTextColorByItemColor(TextColType.Red, Language.Get("RealmLimit1")); |
| | | if (_realmLv != 0) |
| | | { |
| | | conditionValueText.text = _realmCfg.Name; |
| | | conditionValueText.SetSprite(_realmCfg.Img); |
| | | } |
| | | else |
| | | { |
| | | conditionText.gameObject.SetActive(false); |
| | | conditionValueText.gameObject.SetActive(false); |
| | | } |
| | | conditionValueText.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | else |
| | | { |
| | | if(_realmLv != 0) |
| | | { |
| | | conditionText.text = StringUtility.Contact("<color=#FFF4CDFF>", Language.Get("RealmLimit1"), "</color>"); |
| | | conditionValueText.text = StringUtility.Contact("<color=#FFF4CDFF>",_realmCfg.Name, "</color>"); |
| | | conditionValueText.SetSprite(_realmCfg.Img); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | itemName = StringUtility.Contact("[", itemName, "]"); |
| | | } |
| | | if (_dict != null && _dict.ContainsKey("count")) |
| | | { |
| | | var count = 0; |
| | | int.TryParse(_dict["count"], out count); |
| | | if (count > 0) |
| | | { |
| | | itemName = StringUtility.Contact(itemName, "x", count); |
| | | } |
| | | } |
| | | return GetTextColorByItemColor(itemName, _itemColor, _dict); |
| | | } |
| | | else |
| | |
| | | displayDic.Add(split_value, array[1].ToLower()); |
| | | } |
| | | break; |
| | | case "count": |
| | | { |
| | | displayDic.Add(split_value, array[1].ToLower()); |
| | | } |
| | | break; |
| | | default: |
| | | { |
| | | displayDic.Add(split_value, array[1]); |
| | |
| | | } |
| | | else |
| | | { |
| | | int _MinNunber = 0; |
| | | int _MaxNumber = 0; |
| | | foreach (var key in petmodel._DicPetBack.Keys) |
| | | { |
| | | PetClassCostConfig _tagPetClass = PetClassCostConfig.GetPetIdAndRank(key, petmodel._DicPetBack[key].PetClass); |
| | | _MinNunber += _tagPetClass.AtkAdd; |
| | | _MaxNumber += _tagPetClass.AtkAdd; |
| | | } |
| | | allAttackText.text = /*_MinNunber.ToString() + "-" +*/ ((int)(_MaxNumber + ridingModel.GetAllPetAddLife())).ToString(); |
| | | allAttackText.text =((int)(_MaxNumber + ridingModel.GetAllPetAddAttack())).ToString(); |
| | | int sumFight = 0; |
| | | int InitFightPower = 0; |
| | | foreach (var petId in petmodel._DicPetBack.Keys) |
| | |
| | | m_Controller.Refresh(); |
| | | if (petHorseStones != null) |
| | | { |
| | | petHorseStones.Sort(Compare); |
| | | for (int i = 0; i < petHorseStones.Count; i++) |
| | | { |
| | | m_Controller.AddCell(ScrollerDataType.Header, i); |
| | |
| | | } |
| | | } |
| | | |
| | | int Compare(RoleParticularModel.PetHorseStone x, RoleParticularModel.PetHorseStone y) |
| | | { |
| | | return -x.item.CompareTo(y.item); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | BlastFurnaceModel blastFurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } } |
| | | |
| | | RoleModel roleModel { get { return ModelCenter.Instance.GetModel<RoleModel>(); } } |
| | | |
| | | #region 配置 |
| | | public Dictionary<int, int> wingLv2GenerDict = new Dictionary<int, int>(); |
| | | public Dictionary<int, List<RoleStrongerConfig>> roleStrongerDic = new Dictionary<int, List<RoleStrongerConfig>>(); |
| | |
| | | _id == methodData.fairyHeartRedpoint.id || |
| | | _id == realmModel.realmRedpoint.id || |
| | | _id == gemModel.gemTagRedPoint.id || |
| | | _id == blastFurnaceModel.blastRedpoint.id || |
| | | _id == roleModel.MakeDrugRedpoint.id || |
| | | IsTreasureRedpoint(_id)) |
| | | { |
| | | CheckPromoteDetailEffect(); |
| | |
| | | case PromoteDetailType.FairyHeart: |
| | | return ModelCenter.Instance.GetModel<PlayerMethodData>().fairyHeartRedpoint.state == RedPointState.Simple; |
| | | case PromoteDetailType.BlastFurnace: |
| | | return blastFurnaceModel.blastRedpoint.state == RedPointState.Simple; |
| | | return roleModel.MakeDrugRedpoint.state == RedPointState.Simple; |
| | | case PromoteDetailType.max: |
| | | break; |
| | | } |
| | |
| | | using TableConfig; |
| | | using System; |
| | | using System.Text; |
| | | using System.Linq; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | |
| | | public Dictionary<int, float> runeAttrAdditionDic = new Dictionary<int, float>(); |
| | | public Dictionary<int, float> runeExpDic = new Dictionary<int, float>(); |
| | | public Dictionary<int, float> runeEliteAdditonDic = new Dictionary<int, float>(); |
| | | Dictionary<int, int> runeQualityMaxLevel; |
| | | public int[] runeUnlockArray { get; private set; } |
| | | public float runeExpAddition { get; private set; } |
| | | public string runeExpFormula { get; private set; } |
| | |
| | | cfg = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("RunePackageNum"); |
| | | runePackMaxNum = int.Parse(cfg.Numerical1); |
| | | |
| | | for (int i = 1; i < RuneMaxLevel; i++) |
| | | var config = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("RuneMaxLV"); |
| | | runeQualityMaxLevel = ConfigParse.GetDic<int, int>(config.Numerical1); |
| | | |
| | | var maxlevel = runeQualityMaxLevel != null ? runeQualityMaxLevel.Values.Last() : 0; |
| | | |
| | | for (int i = 1; i < maxlevel; i++) |
| | | { |
| | | Equation.Instance.Clear(); |
| | | Equation.Instance.AddKeyValue(replaceValStr, i + 1); |
| | |
| | | |
| | | private static StringBuilder _textBuilder = new StringBuilder(); |
| | | static readonly string replaceValStr = "level"; |
| | | |
| | | public int GetRuneMaxLevel(int _itemColor) |
| | | { |
| | | if (runeQualityMaxLevel != null && runeQualityMaxLevel.ContainsKey(_itemColor)) |
| | | { |
| | | return runeQualityMaxLevel[_itemColor]; |
| | | } |
| | | if (runeQualityMaxLevel != null) |
| | | { |
| | | return runeQualityMaxLevel.Values.Last(); |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | public int GetRuneMaxLevelByItem(int _itemId) |
| | | { |
| | | var config = ConfigManager.Instance.GetTemplate<ItemConfig>(_itemId); |
| | | return config == null ? 0 : GetRuneMaxLevel(config.ItemColor); |
| | | } |
| | | |
| | | public string GetRuneAttrStr(int id, int level) |
| | | { |
| | | _textBuilder.Length = 0; |
| | |
| | | public int GetRuneNeedExp(int id, int level) |
| | | { |
| | | float _levelUpExp = 0; |
| | | if (level < RuneMaxLevel) |
| | | ItemConfig _tagChinModel = ConfigManager.Instance.GetTemplate<ItemConfig>(id); |
| | | if (level < GetRuneMaxLevel(_tagChinModel.ItemColor)) |
| | | { |
| | | float _result = 0; |
| | | if (runeExpResultDict.ContainsKey(level + 1)) |
| | |
| | | runeExpResultDict.Add(level + 1, _result); |
| | | } |
| | | RuneConfig cfg = ConfigManager.Instance.GetTemplate<RuneConfig>(id); |
| | | ItemConfig _tagChinModel = ConfigManager.Instance.GetTemplate<ItemConfig>(id); |
| | | if (cfg.AttrType.Length > 1) |
| | | { |
| | | _levelUpExp = _result * runeExpDic[_tagChinModel.ItemColor] * runeExpAddition; |
| | |
| | | public int GetRuneLevelByExp(int id, float _exp) |
| | | { |
| | | float _totalExp = 0; |
| | | for (int i = 1; i < RuneMaxLevel; i++) |
| | | var maxlevel = runeQualityMaxLevel != null ? runeQualityMaxLevel.Values.Last() : 0; |
| | | for (int i = 1; i < maxlevel; i++) |
| | | { |
| | | _totalExp += GetRuneNeedExp(id, i); |
| | | if (_totalExp > _exp) |
| | |
| | | return i; |
| | | } |
| | | } |
| | | return RuneMaxLevel; |
| | | return maxlevel; |
| | | } |
| | | #endregion |
| | | public const int RUNE_REDPOINT_INTERVAL = 100; |
| | |
| | | { |
| | | var _data = GetHoleRune(i); |
| | | if (_data != null && RuneSplinters >= GetRuneNeedExp(_data.id, _data.lv) |
| | | && _data.lv < RuneMaxLevel) |
| | | && _data.lv < GetRuneMaxLevelByItem(_data.id)) |
| | | { |
| | | runelevelUpSorts.Add(i); |
| | | } |
| | |
| | | if (runeData != null) |
| | | { |
| | | if (RuneSplinters > GetRuneNeedExp(runeData.id, runeData.lv) |
| | | && runeData.lv < RuneMaxLevel) |
| | | && runeData.lv < GetRuneMaxLevelByItem(runeData.id)) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | } |
| | | return Cnt; |
| | | } |
| | | private int rune_max_level = 0; |
| | | public int RuneMaxLevel { |
| | | get { |
| | | if (rune_max_level == 0) |
| | | { |
| | | rune_max_level = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("RuneMaxLV").Numerical1); |
| | | } |
| | | return rune_max_level; |
| | | } |
| | | } |
| | | |
| | | public void ClearRuneData() |
| | | { |
| | | runePackData.Clear(); |
| | |
| | | runeLevelUpAttr1.text = StringUtility.Contact(_propertyCfg.Name, " ", "+", UIHelper.ReplacePercentage(_propertyValue, _propertyCfg.ISPercentage), |
| | | _propertyCfg.ISPercentage == 1 ? "%" : string.Empty); |
| | | |
| | | bool _isRuneMaxLv = data.lv >= model.RuneMaxLevel; |
| | | bool _isRuneMaxLv = data.lv >= model.GetRuneMaxLevelByItem(data.id); |
| | | runeLevelUpAttrNum1.gameObject.SetActive(!_isRuneMaxLv); |
| | | if (!_isRuneMaxLv) |
| | | { |
| | |
| | | } |
| | | var _runeCfg = ConfigManager.Instance.GetTemplate<RuneConfig>(data.id); |
| | | var _itemCfg = ConfigManager.Instance.GetTemplate<ItemConfig>(data.id); |
| | | if (data.lv >= model.RuneMaxLevel) |
| | | if (data.lv >= model.GetRuneMaxLevelByItem(data.id)) |
| | | { |
| | | return; |
| | | } |
| | |
| | | { |
| | | var audio = audios[audioIndex]; |
| | | SoundPlayer.Instance.PlayAudio(_audioSource, audio); |
| | | |
| | | stateFootAudioLastPlayTimes[stateInt] = DateTime.Now; |
| | | audioIndex++; |
| | | } |
| | | |
| | | if (audioIndex > audios.Length) |
| | | if (audioIndex >= audios.Length) |
| | | { |
| | | audioIndex = 0; |
| | | } |
| | |
| | | using Snxxz.UI; |
| | | using System.Collections.Generic; |
| | | using System; |
| | | using TableConfig; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | |
| | | Text conditionText; |
| | | [SerializeField] |
| | | Text needLvText; |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | [SerializeField] |
| | | Text itemTypeText; |
| | | |
| | |
| | | ItemCellModel cellModel = new ItemCellModel(itemTipsModel.curAttrData.itemId, itemTipsModel.curAttrData.isPreview, (ulong)itemTipsModel.curAttrData.count,itemTipsModel.curAttrData.isBind |
| | | ,itemTipsModel.curAttrData.guid, itemTipsModel.curAttrData.packType,false); |
| | | itemCell.Init(cellModel); |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString(); |
| | | |
| | | if (itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | |
| | | ChestsConfig chestsConfig = ConfigManager.Instance.GetTemplate<ChestsConfig>(itemTipsModel.curAttrData.itemId); |
| | | if (chestsConfig != null && chestsConfig.OpenMoney > 0) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | ulong haveMoney = UIHelper.GetMoneyCnt(1); |
| | | if (haveMoney >= (ulong)chestsConfig.OpenMoney) |
| | | { |
| | | conditionText.text = Language.Get("OpenBoxCostMoney", UIHelper.GetTextColorByItemColor(TextColType.Green, chestsConfig.OpenMoney.ToString())); |
| | | } |
| | | else |
| | | { |
| | | conditionText.text = Language.Get("OpenBoxCostMoney", UIHelper.GetTextColorByItemColor(TextColType.Red, chestsConfig.OpenMoney.ToString())); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | CheckUselimit(); |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV) |
| | | { |
| | | conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | |
| | | |
| | | itemDesText.text = itemTipsModel.curAttrData.itemConfig.Description; |
| | | |
| | | if (itemTipsModel.curAttrData.itemConfig.ExpireTime > 0) |
| | |
| | | } |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemTipsModel.curAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | } |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString(); |
| | | |
| | | if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV) |
| | | { |
| | | conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemTipsModel.curAttrData.itemConfig.RealmLimit); |
| | | if (itemTipsModel.curAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = conditionRedColor; |
| | | } |
| | | break; |
| | | case 2: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void SetDateLimitUI(double time) |
| | | { |
| | | dateText.gameObject.SetActive(true); |
| | |
| | | Text dateText; |
| | | [SerializeField] |
| | | ItemCell itemCell; |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | #endregion |
| | | |
| | | #region MidUI |
| | |
| | | itemCell.Init(cellModel); |
| | | equipScoreDes.text = Language.Get("EquipWin_EquipPointText_1"); |
| | | equipScoreValue.text = itemAttrData.score.ToString(); |
| | | RefreshNeedPointUI(); |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | needLvDes.gameObject.SetActive(true); |
| | | needLvValue.gameObject.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | needLvDes.gameObject.SetActive(false); |
| | | needLvValue.gameObject.SetActive(false); |
| | | } |
| | | |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | |
| | | CheckUselimit(); |
| | | if (itemAttrData.itemConfig.ExpireTime > 0) |
| | | { |
| | | SetDateLimitUI(itemAttrData.itemConfig.ExpireTime); |
| | |
| | | numKeyboard.onValueChange.RemoveAllListeners(); |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | needLvValue.gameObject.SetActive(false); |
| | | needLvDes.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | for (int i = 0; i < needPointTextlist.Count; i++) |
| | | { |
| | | needPointTextlist[i].gameObject.SetActive(false); |
| | | needPointNumlist[i].gameObject.SetActive(false); |
| | | } |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | needLvValue.gameObject.SetActive(true); |
| | | needLvDes.gameObject.SetActive(true); |
| | | } |
| | | needLvDes.text = Language.Get("KnapS110"); |
| | | if (itemAttrData.isHavePutLimit) |
| | | { |
| | | needLvValue.text = itemAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemAttrData.itemConfig.UseLV) |
| | | { |
| | | needLvValue.color = conditionColor; |
| | | needLvDes.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | needLvValue.color = UIHelper.GetUIColor(TextColType.Red); |
| | | needLvDes.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | needLvValue.text = 1.ToString(); |
| | | needLvDes.color = conditionColor; |
| | | needLvValue.color = conditionColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemAttrData.itemConfig.RealmLimit); |
| | | if (itemAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | break; |
| | | case 2: |
| | | RefreshNeedPointUI(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void SetDateLimitUI(double time) |
| | | { |
| | | dateText.gameObject.SetActive(true); |
| | |
| | | using Snxxz.UI; |
| | | using System.Collections.Generic; |
| | | using System; |
| | | using TableConfig; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | |
| | | Text conditionText; |
| | | |
| | | [SerializeField] Text needLvText; |
| | | [SerializeField] |
| | | Text realmTitleText; |
| | | [SerializeField] Image realmImg; |
| | | |
| | | [SerializeField] |
| | | Text itemTypeText; |
| | |
| | | ,itemTipsModel.curAttrData.guid, itemTipsModel.curAttrData.packType,false); |
| | | itemCell.Init(cellModel); |
| | | |
| | | if (itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | } |
| | | |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString(); |
| | | if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV) |
| | | { |
| | | conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | CheckUselimit(); |
| | | |
| | | if (itemTipsModel.curAttrData.itemConfig.Effect1 != 215) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | private void CheckUselimit() |
| | | { |
| | | int[] uselimits = itemTipsModel.curAttrData.itemConfig.UseCondiType; |
| | | if (uselimits == null) return; |
| | | |
| | | conditionText.gameObject.SetActive(false); |
| | | needLvText.gameObject.SetActive(false); |
| | | realmTitleText.gameObject.SetActive(false); |
| | | realmImg.gameObject.SetActive(false); |
| | | |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch (uselimits[i]) |
| | | { |
| | | case 0: |
| | | if (itemTipsModel.curAttrData.itemConfig.UseLV > 1) |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | needLvText.gameObject.SetActive(true); |
| | | } |
| | | conditionText.text = Language.Get("KnapS110"); |
| | | needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString(); |
| | | |
| | | if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV) |
| | | { |
| | | conditionText.color = conditionColor; |
| | | needLvText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | conditionText.color = conditionRedColor; |
| | | needLvText.color = conditionRedColor; |
| | | } |
| | | |
| | | break; |
| | | case 1: |
| | | realmTitleText.gameObject.SetActive(true); |
| | | realmImg.gameObject.SetActive(true); |
| | | realmTitleText.text = Language.Get("RealmLimit1"); |
| | | RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemTipsModel.curAttrData.itemConfig.RealmLimit); |
| | | if (itemTipsModel.curAttrData.itemConfig.RealmLimit <= 0) |
| | | { |
| | | realmImg.SetSprite("NoRealm"); |
| | | } |
| | | else |
| | | { |
| | | if (realmConfig != null) |
| | | { |
| | | realmImg.SetSprite(realmConfig.Img); |
| | | } |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit) |
| | | { |
| | | realmTitleText.color = conditionColor; |
| | | } |
| | | else |
| | | { |
| | | realmTitleText.color = conditionRedColor; |
| | | } |
| | | break; |
| | | case 2: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void SetDateLimitUI(double time) |
| | | { |
| | | dateText.gameObject.SetActive(true); |
| | |
| | | [SerializeField] |
| | | Text conditionText; |
| | | [SerializeField] |
| | | Text conditionValueText; |
| | | Image conditionValueText; |
| | | [SerializeField] |
| | | Text dateText; |
| | | [SerializeField] |
| | |
| | | { |
| | | conditionText.gameObject.SetActive(true); |
| | | conditionValueText.gameObject.SetActive(true); |
| | | var _realmLv = 1; |
| | | GeneralConfig.Instance.wingEquipLimits.TryGetValue(itemAttrData.itemConfig.ID, out _realmLv); |
| | | var _realmLv = itemAttrData.itemConfig.RealmLimit; |
| | | var _realmCfg = ConfigManager.Instance.GetTemplate<RealmConfig>(_realmLv); |
| | | if (PlayerDatas.Instance.baseData.realmLevel < _realmLv) |
| | | { |
| | | conditionText.text = UIHelper.GetTextColorByItemColor(TextColType.Red, Language.Get("RealmLimit1")); |
| | | if (_realmLv != 0) |
| | | { |
| | | conditionValueText.text = _realmCfg.Name; |
| | | conditionValueText.SetSprite(_realmCfg.Img); |
| | | } |
| | | else |
| | | { |
| | | conditionText.gameObject.SetActive(false); |
| | | conditionValueText.gameObject.SetActive(false); |
| | | } |
| | | conditionValueText.color = UIHelper.GetUIColor(TextColType.Red); |
| | | } |
| | | else |
| | | { |
| | | if(_realmLv != 0) |
| | | { |
| | | conditionText.text = StringUtility.Contact("<color=#FFF4CDFF>", Language.Get("RealmLimit1"), "</color>"); |
| | | conditionValueText.text = StringUtility.Contact("<color=#FFF4CDFF>", _realmCfg == null ? string.Empty : _realmCfg.Name, "</color>"); |
| | | conditionValueText.SetSprite(_realmCfg.Img); |
| | | } |
| | | else |
| | | { |
| | |
| | | StoreConfig tagStore = ConfigManager.Instance.GetTemplate<StoreConfig>((int)result.ItemIndex); |
| | | if (tagStore != null) |
| | | { |
| | | ItemConfig chinModel = ConfigManager.Instance.GetTemplate<ItemConfig>(ReplaceItemIdByJob(tagStore.ID, tagStore.ItemID)); |
| | | if (!normalBuyCoinsTypes.Contains(tagStore.MoneyType)) |
| | | { |
| | | if (tagStore.RemindSuccess == 0) |
| | | { |
| | | return; |
| | | } |
| | | BuySuccessModel.Instance.SetBuySuccessModel(tagStore.ItemID, (int)result.ItemCnt, tagStore.IsBind); |
| | | BuySuccessModel.Instance.SetBuySuccessModel(chinModel.ID, (int)result.ItemCnt, tagStore.IsBind); |
| | | if (!WindowCenter.Instance.CheckOpen<BuySuccessWin>()) |
| | | { |
| | | WindowCenter.Instance.Open<BuySuccessWin>(); |
| | |
| | | else |
| | | { |
| | | float costMoney = tagStore.MoneyNumber; |
| | | ItemConfig itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(tagStore.ItemID); |
| | | SysNotifyMgr.Instance.ShowTip("BuyItemHinit",costMoney,tagStore.MoneyType,itemConfig.ItemName); |
| | | SysNotifyMgr.Instance.ShowTip("BuyItemHinit",costMoney,tagStore.MoneyType, chinModel.ItemName); |
| | | } |
| | | |
| | | if (RefreshBuyResultEvent != null) |
| | | { |
| | | RefreshBuyResultEvent(tagStore.ItemID); |
| | | RefreshBuyResultEvent(chinModel.ID); |
| | | } |
| | | } |
| | | } |
| | |
| | | return false; |
| | | |
| | | bool isAdapt = true; |
| | | DesignDebug.Log("groupType:" + groupType + "NowSuitCnt:" + nowSuitCnt + "willSuitCnt:" + willSuitCnt); |
| | | if (nowSuitCnt == attrConfig.count1 || nowSuitCnt == attrConfig.count2 || nowSuitCnt == attrConfig.count3) |
| | | if (willSuitCnt != attrConfig.count1 && willSuitCnt != attrConfig.count2 && willSuitCnt != attrConfig.count3) |
| | | { |
| | | if (willSuitCnt != attrConfig.count1 && willSuitCnt != attrConfig.count2 && willSuitCnt != attrConfig.count3) |
| | | { |
| | | isAdapt = false; |
| | | } |
| | | isAdapt = false; |
| | | } |
| | | //DesignDebug.Log("groupType:" + groupType + "NowSuitCnt:" + nowSuitCnt + "willSuitCnt:" + willSuitCnt); |
| | | //if (nowSuitCnt == attrConfig.count1 || nowSuitCnt == attrConfig.count2 || nowSuitCnt == attrConfig.count3) |
| | | //{ |
| | | // if (willSuitCnt != attrConfig.count1 && willSuitCnt != attrConfig.count2 && willSuitCnt != attrConfig.count3) |
| | | // { |
| | | // isAdapt = false; |
| | | // } |
| | | //} |
| | | return isAdapt; |
| | | } |
| | | |
| | |
| | | |
| | | Dictionary<int, Dictionary<int, int>> needMatCntDict = new Dictionary<int, Dictionary<int, int>>(); //群组 id 数量 |
| | | Dictionary<int, int> minActiveSuitCntDic = new Dictionary<int, int>(); |
| | | Dictionary<int, List<int>> activeEquipPlaceDict = new Dictionary<int, List<int>>(); |
| | | Dictionary<int, List<int>> upgradEquipPlaceDict = new Dictionary<int, List<int>>(); |
| | | for (int i = 0; i < partlist.Count; i++) |
| | | { |
| | | int groupType = GetGroupType(partlist[i]); |
| | |
| | | if (!needMatCntDict.ContainsKey(groupType)) |
| | | { |
| | | Dictionary<int, int> matCntDict = new Dictionary<int, int>(); |
| | | needMatCntDict.Add(groupType,matCntDict); |
| | | minActiveSuitCntDic.Add(groupType,1); |
| | | needMatCntDict.Add(groupType, matCntDict); |
| | | //minActiveSuitCntDic.Add(groupType, 1); |
| | | List<int> equipPlacelist = new List<int>(); |
| | | activeEquipPlaceDict.Add(groupType, equipPlacelist); |
| | | upgradEquipPlaceDict.Add(groupType, equipPlacelist); |
| | | } |
| | | |
| | | if (minActiveSuitCntDic[groupType] <= attrConfig.count1) |
| | | int[] matIds = matConfig.CostItemID; |
| | | int[] matCnts = matConfig.CostItemCnt; |
| | | for (int j = 0; j < matIds.Length; j++) |
| | | { |
| | | int[] matIds = matConfig.CostItemID; |
| | | int[] matCnts = matConfig.CostItemCnt; |
| | | for (int j = 0; j < matIds.Length; j++) |
| | | if (!needMatCntDict[groupType].ContainsKey(matIds[j])) |
| | | { |
| | | if (!needMatCntDict[groupType].ContainsKey(matIds[j])) |
| | | { |
| | | needMatCntDict[groupType].Add(matIds[j], matCnts[j]); |
| | | } |
| | | else |
| | | { |
| | | needMatCntDict[groupType][matIds[j]] += matCnts[j]; |
| | | } |
| | | needMatCntDict[groupType].Add(matIds[j], matCnts[j]); |
| | | } |
| | | activeEquipPlaceDict[groupType].Add(partlist[i]); |
| | | minActiveSuitCntDic[groupType] += 1; |
| | | else |
| | | { |
| | | needMatCntDict[groupType][matIds[j]] += matCnts[j]; |
| | | } |
| | | } |
| | | else |
| | | |
| | | bool isReach = true; |
| | | foreach(var id in needMatCntDict[groupType].Keys) |
| | | { |
| | | break; |
| | | int haveCnt = playerPack.GetItemCountByID(PackType.rptItem, id); |
| | | if(haveCnt < needMatCntDict[groupType][id]) |
| | | { |
| | | isReach = false; |
| | | break; |
| | | } |
| | | } |
| | | if(isReach) |
| | | { |
| | | upgradEquipPlaceDict[groupType].Add(partlist[i]); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | foreach (var type in needMatCntDict.Keys) |
| | | foreach(var type in upgradEquipPlaceDict.Keys) |
| | | { |
| | | bool isReach = true; |
| | | foreach (var id in needMatCntDict[type].Keys) |
| | | if(upgradEquipPlaceDict[type].Count > 0) |
| | | { |
| | | int haveCnt = playerPack.GetItemCountByID(PackType.rptItem, id); |
| | | if (haveCnt < needMatCntDict[type][id]) |
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptEquip, upgradEquipPlaceDict[type][0]); |
| | | EquipSuitAttrConfig attrConfig = EquipSuitAttrConfig.GetSuitAttrConfig(type |
| | | , (int)suitType, 1, GetEquipJob(itemModel.itemId)); |
| | | |
| | | if (upgradEquipPlaceDict[type].Count >= attrConfig.count1) |
| | | { |
| | | isReach = false; |
| | | break; |
| | | equipPlace = upgradEquipPlaceDict[type][0]; |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | if (isReach) |
| | | { |
| | | equipPlace = activeEquipPlaceDict[type][0]; |
| | | return true; |
| | | } |
| | | |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | #endregion |
| | |
| | | public void SetQualityLevel(GameQuality _quality, bool _disabeCamera = true) |
| | | { |
| | | LocalSave.SetInt(QUALITY_LEVEL_KEY, Mathf.Clamp((int)_quality, 0, 2)); |
| | | QualitySettings.SetQualityLevel((int)_quality); |
| | | QualitySettings.SetQualityLevel((int)GameQuality.High); |
| | | |
| | | switch (_quality) |
| | | { |
| | |
| | | [SerializeField] TextEx m_Level; |
| | | [SerializeField] Transform m_Matching; |
| | | |
| | | TeamModel m_Model; |
| | | TeamModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TeamModel>()); } } |
| | | TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } } |
| | | |
| | | Teammate teammate = null; |
| | | public void Display(Teammate _mate) |
| | |
| | | [SerializeField] Button m_AddFriend; |
| | | [SerializeField] Button m_SetCaptainer; |
| | | [SerializeField] Button m_AddFairy; |
| | | [SerializeField] Button m_Chat; |
| | | |
| | | int playerId = 0; |
| | | public event Action<bool> activeOrDeActiveEvent; |
| | |
| | | this.gameObject.SetActive(false); |
| | | } |
| | | |
| | | private void Chat() |
| | | { |
| | | Teammate mate; |
| | | if (model.myTeam.TryGetMemberByPlayerId(playerId, out mate)) |
| | | { |
| | | if (mate.online) |
| | | { |
| | | if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Friend)) |
| | | { |
| | | FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.Friend); |
| | | } |
| | | else |
| | | { |
| | | var playerId = (uint)mate.id; |
| | | var playerName = mate.mateName; |
| | | var job = (byte)mate.job; |
| | | var playerLv = (ushort)mate.level; |
| | | var realmLv = (ushort)mate.realm; |
| | | var onLine = mate.online; |
| | | |
| | | friendsModel.SetPlayerShortInfo(playerId, playerName, job, playerLv, realmLv, (byte)(onLine ? 1 : 0), true); |
| | | |
| | | WindowCenter.Instance.Close<TeamFrameWin>(); |
| | | WindowCenter.Instance.Open<MainInterfaceWin>(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("Friend_OffLine"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void Awake() |
| | | { |
| | | m_ViewBaseInfo.AddListener(ViewBaseInfo); |
| | | m_AddFriend.AddListener(AddFriend); |
| | | m_SetCaptainer.AddListener(SetCaptainer); |
| | | m_AddFairy.AddListener(FairyInvite); |
| | | m_Chat.AddListener(Chat); |
| | | } |
| | | |
| | | private void OnEnable() |
| | |
| | | WindowCenter.Instance.Open<EquipReinforceWin>(false, 1); |
| | | break; |
| | | case RolePromoteModel.PromoteDetailType.BlastFurnace: |
| | | WindowCenter.Instance.Open<BlastFurnaceWin>(); |
| | | WindowCenter.Instance.Open<BlastFurnaceWin>(false, 1); |
| | | break; |
| | | } |
| | | CloseClick(); |
| | |
| | | { |
| | | HideAllTreasure(); |
| | | CloseRenderCamera(); |
| | | var movecomponent = m_CameraControl.GetComponent<SmoothMove>(); |
| | | if (movecomponent != null) |
| | | { |
| | | DestroyImmediate(movecomponent); |
| | | } |
| | | m_CameraControl.localPosition = m_StartPosition; |
| | | |
| | | IsCloser = false; |
| | |
| | | |
| | | private void OnCloserComplete() |
| | | { |
| | | if (!IsOpen) |
| | | { |
| | | return; |
| | | } |
| | | CloserComplete = true; |
| | | OpenRenderCamera(); |
| | | m_Treasures[currentCategory][presentSelectIndex].SetLayer(LayerUtility.DefaultLayer); |
| | |
| | | |
| | | private void CameraBackComplete() |
| | | { |
| | | if (!IsOpen) |
| | | { |
| | | return; |
| | | } |
| | | IsCloser = false; |
| | | if (OnCameraBackComplete != null) |
| | | { |
| | |
| | | if (PlayerDatas.Instance.baseData.LV >= 30) |
| | | { |
| | | RedPointSate(); |
| | | } |
| | | } |
| | | } |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting; |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting; |
| | |
| | | |
| | | private void Updatefighting(PlayerDataRefresh _tCDBPlayerRefresh) |
| | | { |
| | | if (_tCDBPlayerRefresh == PlayerDataRefresh.LV && InvestGold>0) |
| | | if (_tCDBPlayerRefresh == PlayerDataRefresh.LV && InvestGold > 0) |
| | | { |
| | | InvestmentRedPoint(); |
| | | } |
| | |
| | | if (IsRedpoint) |
| | | { |
| | | RedPointSate(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | } |
| | | int type1 = -1; |
| | | if (JumpInedx == 0 && InvestmentGrade != 0) |
| | | { |
| | | foreach (var key in FairyJadeInvestmentDic.Keys) |
| | | { |
| | | type1 += 1; |
| | | if (key > PlayerLV) |
| | | { |
| | | JumpInedx = type1; |
| | | return; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | private void RedPointSate()//月卡投资创角前三天红点 |
| | | { |
| | |
| | | DicBuyPackage.Add((int)Info.BuyCountList[i].GiftbagID, (int)Info.BuyCountList[i].BuyCount); |
| | | } |
| | | } |
| | | DesignDebug.LogError(DicBuyPackage); |
| | | if (UpdateLimitedTimePackageItem != null) |
| | | { |
| | | UpdateLimitedTimePackageItem(); |
| | |
| | | WindowCenter.Instance.Open<GotoChargeWin>(true); |
| | | } |
| | | SDKUtility.Instance.FreePlatformPay(Title, RMBNum, OrderInfo); |
| | | DesignDebug.LogErrorFormat("礼包标题{0},所需金额{1},商品编号{2}", Title, RMBNum, OrderInfo); |
| | | // DesignDebug.LogErrorFormat("礼包标题{0},所需金额{1},商品编号{2}", Title, RMBNum, OrderInfo); |
| | | } |
| | | |
| | | public bool IsExpired() |
| | | { |
| | | bool IsBool = false; |
| | | IsBool = OperationTimeHepler.Instance.InOperationTime(Operation.GiftPackage); |
| | | IsBool = OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage); |
| | | return IsBool; |
| | | } |
| | | } |
| | |
| | | |
| | | protected override void OnAfterOpen() |
| | | { |
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; |
| | | limitedTimePackageItemModel.UpdateLimitedTimePackageItem -= UpdateLimitedTimePackageItem; |
| | | |
| | | } |
| | | |
| | | private void UpdateLimitedTimePackageItem() |
| | |
| | | m_Buy_Btn.RemoveAllListeners(); |
| | | m_Buy_Btn.AddListener(()=> |
| | | { |
| | | m_Buy_Btn.interactable = false; |
| | | time = 0; |
| | | |
| | | if (limitedTimePackageItemModel.IsExpired()) |
| | | { |
| | | m_Buy_Btn.interactable = false; |
| | | time = 0; |
| | | limitedTimePackageItemModel.OpenFreePlat(str, giftpackage.gifts[0].rmb, giftpackage.gifts[0].OrderInfo); |
| | | } |
| | | else |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("LimitGift9"); |
| | | return; |
| | | } |
| | | |
| | | }); |
| | |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; |
| | | limitedTimePackageItemModel.UpdateLimitedTimePackageItem -= UpdateLimitedTimePackageItem; |
| | | } |
| | | |
| | | protected override void OnAfterClose() |
| | |
| | | return; |
| | | } |
| | | } |
| | | if (JumpIndex == 0) |
| | | { |
| | | for (int j = 0; j < configlist.Count; j++) |
| | | { |
| | | InvestConfig config = configlist[j]; |
| | | RewardRecordState recordState = GetRecordByIndex((int)InvestType.Vip, config.needDay); |
| | | if (recordState == RewardRecordState.NoShow) |
| | | { |
| | | JumpIndex = j; |
| | | return; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | private void RedPointSate()//Vip投资红点前三天 |
| | |
| | | public class MultipleExpModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize |
| | | { |
| | | private bool showTip = false; |
| | | private bool todayRemind = false; |
| | | public override void Init() |
| | | { |
| | | OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; |
| | |
| | | if (!(StageManager.Instance.CurrentStage is DungeonStage)) |
| | | { |
| | | showTip = true; |
| | | todayRemind = false; |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (multipleExpRedpoint.state == RedPointState.Simple) |
| | | { |
| | | DayRemind.Instance.SetDayRemind(DayRemind.MULTIPLE_EXP_REDPOINT, true); |
| | | todayRemind = true; |
| | | UpdateRedpoint(); |
| | | } |
| | | } |
| | |
| | | private void UpdateRedpoint() |
| | | { |
| | | multipleExpRedpoint.state = RedPointState.None; |
| | | if (DayRemind.Instance.GetDayRemind(DayRemind.MULTIPLE_EXP_REDPOINT) |
| | | || !Open()) |
| | | if (todayRemind || !Open()) |
| | | { |
| | | multipleExpRedpoint.state = RedPointState.None; |
| | | return; |
| | |
| | | using System; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | using System.Collections.Generic; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | |
| | | { |
| | | [SerializeField] Text remainTimeText; |
| | | [SerializeField] Button gotoBtn; |
| | | |
| | | [SerializeField] Image multipleRealmImg; |
| | | [SerializeField] Text activeRuleText; |
| | | OperationBase operation; |
| | | protected override void BindController() |
| | | { |
| | | |
| | |
| | | private void InitUI() |
| | | { |
| | | RefreshSecond(); |
| | | operation = null; |
| | | OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipRealmPoint, out operation); |
| | | if(operation != null) |
| | | { |
| | | int multipleRealm = (operation as OperationMultipleRealmPoint).multiplePractice; |
| | | if (GeneralConfig.Instance.multipleRealmImgDict.ContainsKey(multipleRealm)) |
| | | { |
| | | multipleRealmImg.SetSprite(GeneralConfig.Instance.multipleRealmImgDict[multipleRealm]); |
| | | } |
| | | activeRuleText.text = Language.Get("MultipleXXDRemind", Language.Get(StringUtility.Contact("Num_CHS_",multipleRealm))); |
| | | } |
| | | |
| | | } |
| | | |
| | | private void ClickGotoBtn() |
| | |
| | | m_NpracticeBtn.gameObject.SetActive(isOpen); |
| | | if (isOpen) |
| | | { |
| | | m_MultipleRealmPointTitle.text = Language.Get("MultipleRealmPoint", (operation as OperationMultipleRealmPoint).multiplePractice); |
| | | m_MultipleRealmPointTitle.text = Language.Get("MultipleRealmPoint", Language.Get(StringUtility.Contact("Num_CHS_", (operation as OperationMultipleRealmPoint).multiplePractice))); |
| | | } |
| | | } |
| | | |
| | |
| | | RegisterModel<LimitedTimePackageItemClassModel>(); |
| | | RegisterModel<FlashSaleModel>(); |
| | | RegisterModel<FairylandCeremonyModel>(); |
| | | RegisterModel<TrialDungeonModel>(); |
| | | inited = true; |
| | | } |
| | | |
| | |
| | | |
| | | [SerializeField] |
| | | Camera m_Camera; |
| | | public new Camera camera { |
| | | get { |
| | | public new Camera camera |
| | | { |
| | | get |
| | | { |
| | | return m_Camera; |
| | | } |
| | | set { |
| | | set |
| | | { |
| | | m_Camera = value; |
| | | } |
| | | } |