Merge branch 'master' into HazyRegion_1
| | |
| | | ObjID = _sTarget.ObjID,
|
| | | clientInstID = GAMgr.Instance.GetCIDBySID(_cTarget.ServerInstID),
|
| | | ObjType = _sTarget.ObjType,
|
| | | HurtHP = _sTarget.HurtHP,
|
| | | HurtHP = (uint)(_cTarget.ActorInfo.RealHp - (_sTarget.CurHP + _sTarget.CurHPEx * GActorInfo.FullHp)),
|
| | | CurHP = _sTarget.CurHP,
|
| | | AttackType = _sTarget.AttackType
|
| | | };
|
| | |
| | | ObjID = _sTarget.ObjID,
|
| | | clientInstID = GAMgr.Instance.GetCIDBySID(_cTarget.ServerInstID),
|
| | | ObjType = _sTarget.ObjType,
|
| | | HurtHP = _sTarget.HurtHP,
|
| | | HurtHP = (uint)(_cTarget.ActorInfo.RealHp - (_sTarget.CurHP + _sTarget.CurHPEx * GActorInfo.FullHp)),
|
| | | CurHP = _sTarget.CurHP,
|
| | | AttackType = _sTarget.AttackType
|
| | | };
|
| | |
| | | |
| | | protected override sealed void UpdateTimeDialogueBubble() |
| | | { |
| | | if (!MP_Stun) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | // 瞎BB逻辑 |
| | | if (Time.realtimeSinceStartup - m_LastTalkTime > 5) |
| | | { |
| | |
| | | |
| | | protected override void UpdateTimeDialogueBubble() |
| | | { |
| | | if (!MP_Name) |
| | | { |
| | | return; |
| | | } |
| | | // 瞎BB逻辑 |
| | | if (Time.realtimeSinceStartup - m_LastTalkTime > 5) |
| | | { |
| | |
| | | |
| | | protected override sealed void UpdateTimeDialogueBubble() |
| | | { |
| | | if (!MP_Stun) |
| | | { |
| | | return; |
| | | } |
| | | // 瞎BB逻辑 |
| | | if (Time.realtimeSinceStartup - m_LastTalkTime > 5) |
| | | { |
| | |
| | |
|
| | | protected override void UpdateTimeDialogueBubble()
|
| | | {
|
| | | if (!MP_Name)
|
| | | {
|
| | | return;
|
| | | }
|
| | | // 瞎BB逻辑
|
| | | if (Time.realtimeSinceStartup - m_LastTalkTime > 5)
|
| | | {
|
| | |
| | |
|
| | | protected override void UpdateTimeDialogueBubble()
|
| | | {
|
| | | if (!MP_Name)
|
| | | {
|
| | | return;
|
| | | }
|
| | | // 瞎BB逻辑
|
| | | if (Time.realtimeSinceStartup - m_LastTalkTime > 5)
|
| | | {
|
| | |
| | | m_LastTalkTime = Time.realtimeSinceStartup;
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | public sealed override bool CanAtked()
|
| | | {
|
| | | return false;
|
| | |
| | | yield return null;
|
| | | }
|
| | | }
|
| | |
|
| | | _hero.MoveToPosition(_destPostion, 1);
|
| | | yield break;
|
| | | }
|
| | |
| | | {
|
| | | float _fightConfigDist = _findLocation ? _npcLocation.scope : 4;
|
| | |
|
| | | if (_chkDistSqrt < Mathf.Pow(_fightConfigDist, 2) || _npc != null)// 这里的2M是暂定值
|
| | | if (_chkDistSqrt < Mathf.Pow(_fightConfigDist, 2) || (_npc != null && PathFinder.WalkAble(_hero.Pos, _npc.Pos)))// 这里的2M是暂定值
|
| | | {
|
| | | _hero.Behaviour.StartHandupAI();
|
| | | Clear();
|
| | |
| | | m_ContainerUnGrasp.gameObject.SetActive(!grasp);
|
| | | if (grasp)
|
| | | {
|
| | | m_Func.gameObject.SetActive(state != 2);
|
| | | switch (state)
|
| | | {
|
| | | case 0:
|
| | | m_FuncLabel.text = Language.Get("AlchemyStoveStart");
|
| | | break;
|
| | | case 1:
|
| | | m_FuncLabel.text = Language.Get("AlchemyStoveStop");
|
| | | //m_FuncLabel.text = Language.Get("AlchemyStoveStop");
|
| | | break;
|
| | | case 2:
|
| | | m_FuncLabel.text = Language.Get("AlchemyStoveGet");
|
| | |
| | | var config = AlchemyConfig.Get(model.selectAlchemy);
|
| | | var startTime = TimeUtility.GetTime(tick);
|
| | | var seconds = config.NeedTime - (float)(TimeUtility.ServerNow - startTime).TotalSeconds;
|
| | | m_TimeSlider.value = Mathf.Clamp01(1 - seconds / config.NeedTime);
|
| | | m_TimeSlider.value = Mathf.Clamp01(seconds / config.NeedTime);
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | public void ReceivePackage(HB502_tagGCPlayerAuctionItemInfo package)//拍卖行玩家拍卖中的物品信息
|
| | | {
|
| | | bool isPushAuctionItem = false;
|
| | |
|
| | | for (int i = 0; i < package.AuctionItemCount; i++)
|
| | | {
|
| | | var data = package.AuctionItemList[i];
|
| | |
| | | {
|
| | | item = new AuctionItem(guid);
|
| | | PushAuctionItem(item);
|
| | |
|
| | | isPushAuctionItem = true;
|
| | | }
|
| | |
|
| | | item.itemGuid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | |
| | | {
|
| | | myAuctionRefresh();
|
| | | }
|
| | |
|
| | | if (isPushAuctionItem && isServerPrepare)
|
| | | {
|
| | | if (!NewBieCenter.Instance.inGuiding && !WindowCenter.Instance.IsOpen<LoadingWin>()
|
| | | && StageLoad.Instance.stageType == Stage.E_StageType.Dungeon)
|
| | | {
|
| | | WindowJumpMgr.Instance.ClearJumpData();
|
| | | WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.BaseAndCustom);
|
| | | WindowCenter.Instance.Open<AuctionHouseWin>(false, 2);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public void ReceivePackage(HB503_tagGCPlayerAuctionRecordInfo package)//拍卖行玩家拍卖记录
|
| | |
| | | { |
| | | base.AddListeners(); |
| | | SetFunctionListener(1, ShowRidingPetContention); |
| | | SetFunctionListener(2, ShowDogzDungeon); |
| | | SetFunctionListener(3, AllianceBoss); |
| | | }
|
| | | |
| | |
| | | CloseSubWindows(); |
| | | } |
| | | #endregion |
| | | |
| | | private void ShowDogzDungeon() |
| | | { |
| | | CloseSubWindows(); |
| | | WindowCenter.Instance.Open<DogzDungeonWin>(); |
| | | functionOrder = 2; |
| | | } |
| | | |
| | | private void ShowRidingPetContention()
|
| | | {
|
| | |
| | | get { return m_WearyValue; }
|
| | | set {
|
| | | m_WearyValue = value;
|
| | | var count = GeneralDefine.bossWearyValues[0] + extraBossWearyValue - m_WearyValue;
|
| | | worldBossRedPoint.count = count;
|
| | | worldBossRedPoint.state = count > 0 ? RedPointState.Quantity : RedPointState.None;
|
| | | UpdateRedpoint();
|
| | | if (bossWearyValueChangeEvent != null)
|
| | | {
|
| | | bossWearyValueChangeEvent();
|
| | |
| | | public override void Init()
|
| | | {
|
| | | ParseConfig();
|
| | | FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionChange;
|
| | | }
|
| | |
|
| | | public override void UnInit()
|
| | | {
|
| | | FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionChange;
|
| | | }
|
| | |
|
| | | public bool TryGetBossData(int _bossId, out WorldBossData _data)
|
| | |
| | | return false;
|
| | | }
|
| | |
|
| | | private void OnFunctionChange(int id)
|
| | | {
|
| | | if (id == 21)
|
| | | {
|
| | | UpdateRedpoint();
|
| | | }
|
| | | }
|
| | |
|
| | | private void UpdateRedpoint()
|
| | | {
|
| | | if (FuncOpen.Instance.IsFuncOpen(21))
|
| | | {
|
| | | var count = GeneralDefine.bossWearyValues[0] + extraBossWearyValue - m_WearyValue;
|
| | | worldBossRedPoint.count = count;
|
| | | worldBossRedPoint.state = count > 0 ? RedPointState.Quantity : RedPointState.None;
|
| | | }
|
| | | else
|
| | | {
|
| | | worldBossRedPoint.state = RedPointState.None;
|
| | | }
|
| | | }
|
| | |
|
| | | private void ParseConfig()
|
| | | {
|
| | | var worldBossConfigs = WorldBossConfig.GetValues();
|
| | |
| | |
|
| | | public class DropItem : HUDBehaviour
|
| | | {
|
| | | |
| | |
|
| | | public static event Action<Vector3> onDropItemDisappear;
|
| | |
|
| | | public static DropItem Drop(int _id, Vector3 _position, Camera _camera)
|
| | | {
|
| | | var dropItemType = ItemToDropType(_id);
|
| | |
|
| | | var _valiPos = _position;
|
| | | GActor.TryGetValidPos(_position, ref _valiPos);
|
| | | var dropItem = DropItemPool.RequireDropItem(dropItemType);
|
| | | dropItem.transform.SetParentEx(HUDCenter.hudRoot.dropItemCanvas.transform, Vector3.zero, Quaternion.identity, Vector3.one);
|
| | | dropItem.DropAt(_id, _position, _camera);
|
| | | dropItem.DropAt(_id, _valiPos, _camera);
|
| | | return dropItem;
|
| | | }
|
| | |
|
| | | public static DropItem DropFake(int _id, Vector3 _position, Camera _camera, float time = 2f)
|
| | | {
|
| | | var dropItemType = ItemToDropType(_id);
|
| | |
|
| | | var dropItem = DropItemPool.RequireDropItem(dropItemType);
|
| | | dropItem.transform.SetParentEx(HUDCenter.hudRoot.dropItemCanvas.transform, Vector3.zero, Quaternion.identity, Vector3.one);
|
| | | dropItem.DropAt(_id, _position, time, _camera);
|
| | |
| | | [SerializeField] RectTransform m_ContainerRight;
|
| | | [SerializeField] Text m_DialogueLeft;
|
| | | [SerializeField] Text m_DialogueRight;
|
| | | [SerializeField] UIEffect m_Effect;
|
| | |
|
| | | [SerializeField] RectTransform m_ContainerArrow;
|
| | | [SerializeField] Image m_Arrow;
|
| | |
| | | clickTargetName = string.Empty;
|
| | | m_ClickTarget = null;
|
| | | m_ClickHintRoot.gameObject.SetActive(false);
|
| | | StopEffect();
|
| | | FindClickTarget();
|
| | | protectTimer = 0f;
|
| | | }
|
| | |
| | | if (screenPoint.x < 1f && screenPoint.x > 0f && screenPoint.y < 1f && screenPoint.y > 0f)
|
| | | {
|
| | | m_ClickHintRoot.gameObject.SetActive(true);
|
| | | PlayEffect();
|
| | | m_ClickHintRoot.position = m_ClickTarget.position;
|
| | | }
|
| | | else
|
| | | {
|
| | | StopEffect();
|
| | | m_ClickHintRoot.gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | StopEffect();
|
| | | m_ClickHintRoot.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void PlayEffect()
|
| | | {
|
| | | var guideConfig = GuideConfig.Get(guide);
|
| | | var effectId = 0;
|
| | | if (guideConfig != null)
|
| | | {
|
| | | var stepConfig = ScriptableObjectLoader.LoadSoFunctionalGuideStep(guideConfig.Steps[0]);
|
| | | if (stepConfig != null)
|
| | | {
|
| | | effectId = stepConfig.effect2;
|
| | | }
|
| | | }
|
| | |
|
| | | if (effectId != 0)
|
| | | {
|
| | | if (!m_Effect.IsPlaying)
|
| | | {
|
| | | m_Effect.Play();
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (m_Effect.IsPlaying)
|
| | | {
|
| | | m_Effect.Stop();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void StopEffect()
|
| | | {
|
| | | if (m_Effect.IsPlaying)
|
| | | {
|
| | | m_Effect.Stop();
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | public class FunctionalGuideBehaviourPool
|
| | |
| | |
|
| | | var selectExpertSkill = 0;
|
| | | model.TryGetExpertSkill(ExpertSkillSelectWin.selectSkillId, out selectExpertSkill);
|
| | | m_Use.gameObject.SetActive(selectExpertSkill == skillId);
|
| | | m_Use.gameObject.SetActive(false);
|
| | |
|
| | | TreasurePotential expert;
|
| | | model.TryGetPotential(skillId, out expert);
|
| | |
| | | PetThumpHit = 47, //宠物重击
|
| | | EnemyThumpHit = 48, //敌人重击
|
| | |
|
| | | PlayerYinji = 49, //玩家印记
|
| | | PetYinj = 50, //宠物印记 |
| | | EnemyYinjt = 51, //敌人印记
|
| | |
|
| | | PlayerBurning = 52, //玩家灼烧
|
| | | PetBurning = 53, //宠物灼烧 |
| | | EnemyBurning = 54, //敌人灼烧
|
| | |
|
| | | BuffAddDefense = 101,//+防御buff
|
| | | BuffAddAttack = 102,//+攻击buff
|
| | | BuffAddAttackSpeed = 103,//+攻速buff
|
| | |
| | | /** 普通伤害 */
|
| | | Normal = 1,
|
| | | /** 恢复 */
|
| | | Recovery,
|
| | | Recovery=2,
|
| | | /** 反弹伤害 */
|
| | | BounceHurt,
|
| | | BounceHurt=3,
|
| | | /** 留血 */
|
| | | Bleed,
|
| | | Bleed=4,
|
| | | /** 抵御 */
|
| | | Parry,
|
| | | Parry=5,
|
| | | /** 连击 */
|
| | | DoubleHit,
|
| | | DoubleHit=6,
|
| | | /** 暴击 */
|
| | | SuperHit,
|
| | | SuperHit=7,
|
| | | /** 会心一击 */
|
| | | LuckyHit,
|
| | | LuckyHit=8,
|
| | | /** 闪避 */
|
| | | Miss,
|
| | | Miss=9,
|
| | | /** 免疫 */
|
| | | Immune,
|
| | | Immune=10,
|
| | | /** 压制 */
|
| | | Suppress,
|
| | | Suppress=11,
|
| | | /**斩杀**/
|
| | | ZhanSha,
|
| | | ZhanSha=12,
|
| | | /** 诛仙一击 */
|
| | | ZhuXianAtk,
|
| | | ZhuXianAtk=13,
|
| | | /** 终极斩杀 */
|
| | | FinalKill,
|
| | | FinalKill=14,
|
| | | /*致命一击*/
|
| | | DeadlyHit,
|
| | | ThumpHit,// 重击
|
| | | DeadlyHit=15,
|
| | | ThumpHit=16,// 重击
|
| | | Yinji = 16,// 印记
|
| | | Burning = 17,// 灼烧
|
| | | }
|
| | |
|
| | | [XLua.LuaCallCSharp]
|