From d01b24369869ddde953776f82a8900e49b016d64 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 25 八月 2018 11:57:39 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
Fight/Actor/AI/HeroAI_KillUntilDie.cs | 4
Fight/Actor/Skill/SoBodyControl.cs | 10 +
Utility/RuntimeLogUtility.cs | 2
Fight/Actor/Skill/AttackHandler.cs | 4
System/FindPrecious/PersonalBossModel.cs | 30 ++
Fight/Actor/HeroBehaviour.cs | 23 ++
System/SystemSetting/SystemSetting.cs | 26 +-
Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs | 23 ++
Fight/Actor/State/SMB/SMB_Base.cs | 53 ++++-
System/FindPrecious/BossHomeWin.cs | 4
Fight/PreFightMission.cs | 4
System/NewBieGuidance/NewBieCenter.cs | 5
System/Team/TeamPrepareWin.cs | 6
Utility/MathUtility.cs | 15 +
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0428_tagPlayerRideHorse.cs | 6
System/WindowJump/WindowJumpMgr.cs | 6
Fight/GameActor/GA_Hero.cs | 20 -
System/MainInterfacePanel/MainInterfaceWin.cs | 6
Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs | 2
System/FindPrecious/BossIntroduceBehaviour.cs | 2
Fight/Actor/AI/HeroAI_Auto.cs | 10
Fight/GameActor/GActorFight.cs | 44 ++++
Fight/GameActor/GActorPlayerBase.cs | 101 ++++++++++
System/DailyQuest/DailyQuestWin.cs | 82 +++-----
24 files changed, 359 insertions(+), 129 deletions(-)
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0428_tagPlayerRideHorse.cs b/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0428_tagPlayerRideHorse.cs
index 5e973e0..76ebf20 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0428_tagPlayerRideHorse.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0428_tagPlayerRideHorse.cs
@@ -2,7 +2,7 @@
using TableConfig;
using Snxxz.UI;
-//04 28 玩家上马#tagPlayerRideHorse
+//04 28 锟斤拷锟斤拷锟斤拷锟�#tagPlayerRideHorse
@@ -32,7 +32,9 @@
return;
}
- if (_hero == null || _hero.MovingState == E_MovingState.Ride)
+ if (_hero == null
+ || _hero.MovingState == E_MovingState.Ride
+ || _hero.IsPolyMorph)
{
return;
}
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs b/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
index 55c81cd..0414717 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
@@ -191,14 +191,21 @@
if (_attacker is GA_Player)
{
+ var _hero = _cTarget as GA_Hero;
+
if (PlayerDatas.Instance.extersion.bossState == 1)
{
- GA_Hero _hero = PlayerDatas.Instance.hero;
if (_hero.SelectTarget == null
|| _hero.SelectTarget is GActorNpcFight)
{
_hero.SelectTarget = _hero.LockTarget = _attacker;
}
+ }
+
+ if (_hero != null && _hero.MovingState == E_MovingState.Ride)
+ {
+ DTC0428_tagPlayerRideHorse.Send_tagPlayerRideHorse(false);
+ _hero.SwitchHorse(0);
}
}
}
@@ -282,7 +289,7 @@
if (AttackHandler.CheckPull(_attacker, _cTarget, 0))
{
- _cTarget.StartBeatBack(0, MathUtility.ForwardXZ(_cTarget.Pos, _attacker.Pos));
+ _cTarget.StartBeatBack(_attacker.ServerInstID, 0, MathUtility.ForwardXZ(_cTarget.Pos, _attacker.Pos));
}
}
@@ -557,6 +564,16 @@
{
GAMgr.Instance.OnPlayerSyncCountChange();
}
+
+ if (_attacker is GA_Player)
+ {
+ var _hero = _cTarget as GA_Hero;
+ if (_hero != null && _hero.MovingState == E_MovingState.Ride)
+ {
+ DTC0428_tagPlayerRideHorse.Send_tagPlayerRideHorse(false);
+ _hero.SwitchHorse(0);
+ }
+ }
}
else if (_attacker.ServerInstID == PlayerDatas.Instance.PlayerId)
{
@@ -622,7 +639,7 @@
if (AttackHandler.CheckPull(_attacker, _cTarget, 0))
{
- _cTarget.StartBeatBack(0, MathUtility.ForwardXZ(_cTarget.Pos, _attacker.Pos));
+ _cTarget.StartBeatBack(_attacker.ServerInstID, 0, MathUtility.ForwardXZ(_cTarget.Pos, _attacker.Pos));
}
if (_sTarget.HurtHP != 0)
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs b/Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs
index 7de5f47..a814003 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs
@@ -217,7 +217,7 @@
if (AttackHandler.CheckPull(_attacker, _cTarget, 0))
{
- _cTarget.StartBeatBack(0, MathUtility.ForwardXZ(_cTarget.Pos, _attacker.Pos));
+ _cTarget.StartBeatBack(_attacker.ServerInstID, 0, MathUtility.ForwardXZ(_cTarget.Pos, _attacker.Pos));
}
if (_sTarget.HurtHP != 0)
diff --git a/Fight/Actor/AI/HeroAI_Auto.cs b/Fight/Actor/AI/HeroAI_Auto.cs
index 908f9c8..a2b8f69 100644
--- a/Fight/Actor/AI/HeroAI_Auto.cs
+++ b/Fight/Actor/AI/HeroAI_Auto.cs
@@ -109,7 +109,7 @@
UserInputHandler.OnCirclePanelTouched += OnActiveInterrupt;
UserInputHandler.OnClickedFloor += OnClickFloor;
GA_Hero.OnLockTargetChanged += OnLockTargetChanged;
- GA_Hero.OnUserClickSkill += OnUserClickSkill;
+ HeroBehaviour.OnUserClickSkill += OnUserClickSkill;
OnEnter();
}
@@ -123,6 +123,11 @@
}
GA_Hero _hero = PlayerDatas.Instance.hero;
+
+ if (_hero.IsPolyMorph)
+ {
+ return;
+ }
if (_hero.SelectTarget == _hero)
{
@@ -216,7 +221,6 @@
break;
case 1:// 鏆傚仠鐘舵��
-
if (m_NeedMoveToPos)
{
if (StatusMgr.Instance.CanMove(PlayerDatas.Instance.PlayerId))
@@ -380,7 +384,7 @@
}
UserInputHandler.OnCirclePanelTouched -= OnActiveInterrupt;
UserInputHandler.OnClickedFloor -= OnClickFloor;
- GA_Hero.OnUserClickSkill -= OnUserClickSkill;
+ HeroBehaviour.OnUserClickSkill -= OnUserClickSkill;
OnExit();
}
diff --git a/Fight/Actor/AI/HeroAI_KillUntilDie.cs b/Fight/Actor/AI/HeroAI_KillUntilDie.cs
index 0ab7acb..189ac01 100644
--- a/Fight/Actor/AI/HeroAI_KillUntilDie.cs
+++ b/Fight/Actor/AI/HeroAI_KillUntilDie.cs
@@ -57,7 +57,7 @@
UserInputHandler.OnCirclePanelTouched += OnActiveInterrupt;
UserInputHandler.OnClickedFloor += OnClickFloor;
- GA_Hero.OnUserClickSkill += OnUserClickSkill;
+ HeroBehaviour.OnUserClickSkill += OnUserClickSkill;
GA_Hero.OnLockTargetChanged += OnLockTargetChanged;
HeroBehaviour.OnStartHandupAI += OnStartHandupAI;
MapTransferUtility.s_OnHeroStartMoveToNPC += OnStartMoveToNpc;
@@ -258,7 +258,7 @@
{
UserInputHandler.OnCirclePanelTouched -= OnActiveInterrupt;
UserInputHandler.OnClickedFloor -= OnClickFloor;
- GA_Hero.OnUserClickSkill -= OnUserClickSkill;
+ HeroBehaviour.OnUserClickSkill -= OnUserClickSkill;
GA_Hero.OnLockTargetChanged -= OnLockTargetChanged;
HeroBehaviour.OnStartHandupAI -= OnStartHandupAI;
MapTransferUtility.s_OnHeroStartMoveToNPC -= OnStartMoveToNpc;
diff --git a/Fight/Actor/HeroBehaviour.cs b/Fight/Actor/HeroBehaviour.cs
index a402850..b5340f3 100644
--- a/Fight/Actor/HeroBehaviour.cs
+++ b/Fight/Actor/HeroBehaviour.cs
@@ -17,6 +17,11 @@
public static event UnityAction<int> onCastSkill;
+ /// <summary>
+ /// 褰撶敤鎴风偣鍑讳簡鎶�鑳芥寜閽�, 骞跺垏鎶�鑳藉彲浠ラ噴鏀剧殑鏃跺�欒皟鐢�
+ /// </summary>
+ public static event UnityAction<int> OnUserClickSkill;
+
public enum E_BehaviourState
{
None,
@@ -75,6 +80,11 @@
|| MapArea.IsInMapArea(m_Hero.CurMapArea, MapArea.E_Type.RebornSafe))
{
SysNotifyMgr.Instance.ShowTip("NoFighting");
+ return;
+ }
+
+ if (m_Hero.IsPolyMorph)
+ {
return;
}
@@ -173,6 +183,11 @@
_data.targetServerInstID = m_Hero.SelectTarget.ServerInstID;
_data.defaultSkillID = m_WillUsedSkillID;
m_Hero.aiHandler.currentType = E_HeroAIType.KillUntilDie;
+ }
+
+ if(OnUserClickSkill != null)
+ {
+ OnUserClickSkill(m_WillUsedSkillID);
}
}
@@ -724,6 +739,14 @@
// 浜虹墿, 闈炲皬鎬笉璁$畻浼ゅ,涓嶇敓鎴愬鎴风鏁版嵁
if (_target.ActorType == GameObjType.gotPlayer)
{
+ GA_Player _player = _target as GA_Player;
+ if (_player != null)
+ {
+ if (_player.MovingState == E_MovingState.Ride)
+ {
+ _player.SwitchHorse(0);
+ }
+ }
continue;
}
diff --git a/Fight/Actor/Skill/AttackHandler.cs b/Fight/Actor/Skill/AttackHandler.cs
index 059b4e3..ff8237b 100644
--- a/Fight/Actor/Skill/AttackHandler.cs
+++ b/Fight/Actor/Skill/AttackHandler.cs
@@ -122,7 +122,7 @@
if (CheckPull(attacker, target, soConfig.bodyControlId))
{
- target.StartBeatBack(soConfig.bodyControlId, MathUtility.ForwardXZ(target.Pos, attacker.Pos));
+ target.StartBeatBack(attacker.ServerInstID, soConfig.bodyControlId, MathUtility.ForwardXZ(target.Pos, attacker.Pos));
}
}
@@ -1080,7 +1080,7 @@
// 鏀诲嚮鑰呮槸鐜╁
if (attacker.ActorType == GameObjType.gotPlayer)
{
- return false;
+ return _bodyControl.useForPlayer && target.CanPushedBack();
}
else if (attacker.ActorType == GameObjType.gotNPC)
{
diff --git a/Fight/Actor/Skill/SoBodyControl.cs b/Fight/Actor/Skill/SoBodyControl.cs
index f269087..eb8ba01 100644
--- a/Fight/Actor/Skill/SoBodyControl.cs
+++ b/Fight/Actor/Skill/SoBodyControl.cs
@@ -7,4 +7,14 @@
[Tooltip("琛ㄧ幇鐨勬椂闂�")]
public float duration;// 绉诲姩鏃堕棿
+
+ [Tooltip("鏄惁瀵圭帺瀹剁被鍨嬬敓鏁�")]
+ public bool useForPlayer = false;
+
+ [Tooltip("鏄帹杩樻槸鎷�, 鎵撻挬鏄帹,涓嶆墦閽╂槸鎷�")]
+ public bool pushOrPull = true;
+
+ [Tooltip(@"闄愬埗浣嶇疆, 浠ラ噴鏀捐�呬负涓績鐨勫亸绉�
+ 鍙互涓鸿礋鍊�")]
+ public float limitDistance = 100;
}
\ No newline at end of file
diff --git a/Fight/Actor/State/SMB/SMB_Base.cs b/Fight/Actor/State/SMB/SMB_Base.cs
index de44069..3290439 100644
--- a/Fight/Actor/State/SMB/SMB_Base.cs
+++ b/Fight/Actor/State/SMB/SMB_Base.cs
@@ -91,6 +91,7 @@
protected void AddToNpcPosList(GActorFight attacker, GActorFight target, int bodyControlId, Vector3 direction, List<NPCPos> npcPosList)
{
+ // Debug.LogFormat("{0} attack {1} ==================== 0", attacker.GetType().ToString(), target.GetType().ToString());
if (PreFightMission.Instance.IsFinished() == false)
{
return;
@@ -103,10 +104,20 @@
SoBodyControl _bodyControl = ScriptableObjectLoader.LoadSoBodyControl(bodyControlId);
+ if (!_bodyControl.pushOrPull)
+ {
+ direction = -direction;
+ }
+
float _distance = _bodyControl.curve.keys[_bodyControl.curve.length - 1].time;
Vector3 _checkPos = target.Pos;
Vector3 _pullPosition = _checkPos + direction * _distance;
+
+ if (!_bodyControl.pushOrPull)
+ {
+ _pullPosition = attacker.Pos + MathUtility.ForwardXZ(target.Pos, attacker.Pos) * 0.5f;
+ }
_checkPos.y = 0;
_pullPosition.y = 0;
@@ -117,24 +128,36 @@
_pullPosition = _hit.position;
}
+ // 鍙涓昏瀵艰嚧鐨勬帹閫昏緫. 濡傛灉鏄叾浠栦汉鐨勯��涓嶈
+ if (target is GActorNpcFight)
+ {
+ if (attacker is GA_Player)
+ {
+ return;
+ }
+ }
+
if (GActor.TryGetValidPos(_pullPosition, ref _checkPos))
{
if (target.ActorType == GameObjType.gotPlayer)
{
- GActorPlayerBase _player = target as GActorPlayerBase;
- //Debug.Log("--------------------------- 8");
- if (_player.MovingState != E_MovingState.Ride)
+ if (target is GA_Hero)
{
- //Debug.Log("--------------------------- 9");
- CB402_tagCMNPCBeatBack _beatBack = new CB402_tagCMNPCBeatBack();
- _beatBack.ObjType = (byte)GameObjType.gotPlayer;
- _beatBack.Count = 1;
- _beatBack.NPCPosList = new CB402_tagCMNPCBeatBack.tagCMNPCPos[1];
- _beatBack.NPCPosList[0] = new CB402_tagCMNPCBeatBack.tagCMNPCPos();
- _beatBack.NPCPosList[0].ObjID = (uint)target.ServerInstID;
- _beatBack.NPCPosList[0].PosX = (ushort)(_checkPos.x * 2f + GA_Hero.MapOffset.x);
- _beatBack.NPCPosList[0].PosY = (ushort)(_checkPos.z * 2f + GA_Hero.MapOffset.x);
- GameNetSystem.Instance.SendInfo(_beatBack);
+ GActorPlayerBase _player = target as GActorPlayerBase;
+ //Debug.Log("--------------------------- 8");
+ if (_player.MovingState != E_MovingState.Ride)
+ {
+ // Debug.LogFormat("{0} attack {1} ==================== 9", attacker.GetType().ToString(), target.GetType().ToString());
+ CB402_tagCMNPCBeatBack _beatBack = new CB402_tagCMNPCBeatBack();
+ _beatBack.ObjType = (byte)GameObjType.gotPlayer;
+ _beatBack.Count = 1;
+ _beatBack.NPCPosList = new CB402_tagCMNPCBeatBack.tagCMNPCPos[1];
+ _beatBack.NPCPosList[0] = new CB402_tagCMNPCBeatBack.tagCMNPCPos();
+ _beatBack.NPCPosList[0].ObjID = (uint)target.ServerInstID;
+ _beatBack.NPCPosList[0].PosX = (ushort)(_checkPos.x * 2f + GA_Hero.MapOffset.x);
+ _beatBack.NPCPosList[0].PosY = (ushort)(_checkPos.z * 2f + GA_Hero.MapOffset.z);
+ GameNetSystem.Instance.SendInfo(_beatBack);
+ }
}
//else
//{
@@ -146,8 +169,8 @@
NPCPos _npcPos = new NPCPos
{
objId = (int)target.ServerInstID,
- posX = (int)(_checkPos.x * 2f),
- posY = (int)(_checkPos.z * 2f)
+ posX = (int)(_checkPos.x * 2f + GA_Hero.MapOffset.x),
+ posY = (int)(_checkPos.z * 2f + GA_Hero.MapOffset.z)
};
npcPosList.Add(_npcPos);
}
diff --git a/Fight/GameActor/GA_Hero.cs b/Fight/GameActor/GA_Hero.cs
index 4eac3bb..6cf8751 100644
--- a/Fight/GameActor/GA_Hero.cs
+++ b/Fight/GameActor/GA_Hero.cs
@@ -24,10 +24,6 @@
/// 褰撳垏鎹㈤攣瀹氱洰鏍囩殑鏃跺��, 涓虹┖鐨勬椂鍊檌d=0
/// </summary>
public static event UnityAction<uint> OnLockTargetChanged;
- /// <summary>
- /// 褰撶敤鎴风偣鍑讳簡鎶�鑳芥寜閽�, 骞跺垏鎶�鑳藉彲浠ラ噴鏀剧殑鏃跺�欒皟鐢�
- /// </summary>
- public static event UnityAction<int> OnUserClickSkill;
public static event UnityAction<uint, string> OnKillPlayer;
private GameObject m_Light;
@@ -506,7 +502,8 @@
&& !IsDaZuo()
&& State != E_ActorState.Roll
&& !s_MapSwitching
- && !heavenBattleModel.IsBattlePrepare;
+ && !heavenBattleModel.IsBattlePrepare
+ && !m_Beating;
}
public bool CanCastSkill()
@@ -519,7 +516,8 @@
&& State != E_ActorState.Roll
&& State != E_ActorState.Mocked
&& !s_MapSwitching
- && !heavenBattleModel.IsBattlePrepare;
+ && !heavenBattleModel.IsBattlePrepare
+ && !m_Beating;
}
public void StopAll()
@@ -719,11 +717,6 @@
}
Behaviour.StartKillUntilDieAI();
-
- if (OnUserClickSkill != null)
- {
- OnUserClickSkill(0);
- }
}
public void CastSkill(int skillID)
@@ -788,11 +781,6 @@
}
Behaviour.StartKillUntilDieAI(skillID);
-
- if (OnUserClickSkill != null)
- {
- OnUserClickSkill(skillID);
- }
}
#endregion
diff --git a/Fight/GameActor/GActorFight.cs b/Fight/GameActor/GActorFight.cs
index 40b9d2b..6dd057d 100644
--- a/Fight/GameActor/GActorFight.cs
+++ b/Fight/GameActor/GActorFight.cs
@@ -181,14 +181,26 @@
private float m_BeatStartTime;
protected bool m_Beating;
private Vector3 m_BeatDirection;
+ private bool m_PushOrPull;
+ private uint m_AttackerSID;
+ private float m_LimitDistance;
- public void StartBeatBack(int configID, Vector3 direction)
+ public void StartBeatBack(uint attacker, int configID, Vector3 direction)
{
SoBodyControl _config = ScriptableObjectLoader.LoadSoBodyControl(configID);
if (_config == null || _config.curve == null)
{
return;
+ }
+
+ m_AttackerSID = attacker;
+ m_LimitDistance = _config.limitDistance;
+ m_PushOrPull = _config.pushOrPull;
+
+ if (!m_PushOrPull)
+ {
+ direction = -direction;
}
m_BeatDirection = direction;
@@ -237,6 +249,36 @@
Vector3 _pos = m_StartBeatPos + _h + _v;
Vector3 _end = _pos;
+ GActor _attacker = GAMgr.Instance.GetBySID(m_AttackerSID);
+
+ float _dis = MathUtility.DistanceSqrtXZ(_attacker.Pos, _end);
+
+ if (m_PushOrPull)
+ {
+ if (MathUtility.DistanceSqrtXZ(_attacker.Pos, _end) > m_LimitDistance * m_LimitDistance)
+ {
+ _end = _attacker.Pos + m_BeatDirection * m_LimitDistance;
+ }
+ }
+ else
+ {
+ Vector3 _limPos = _attacker.Pos;
+ _limPos.y = 0;
+ _limPos = _limPos - m_BeatDirection * m_LimitDistance;
+ Vector3 _dir2 = (_end - _limPos).normalized;
+
+ bool _isOp = MathUtility.OppositeDir(-m_BeatDirection, _dir2);
+ bool _isLimDis = MathUtility.DistanceSqrtXZ(_attacker.Pos, _end) < m_LimitDistance * m_LimitDistance;
+
+ if (_isOp
+ || _isLimDis)
+ {
+ _end = _attacker.Pos - m_BeatDirection * m_LimitDistance;
+ needSyncGroundHeight = true;
+ m_Beating = false;
+ }
+ }
+
Vector3 _position = m_StartBeatPos;
_position.y = 0;
_end.y = 0;
diff --git a/Fight/GameActor/GActorPlayerBase.cs b/Fight/GameActor/GActorPlayerBase.cs
index 2aa1f66..d02a752 100644
--- a/Fight/GameActor/GActorPlayerBase.cs
+++ b/Fight/GameActor/GActorPlayerBase.cs
@@ -39,6 +39,7 @@
protected HeadUpName m_HeadUpName = null;
private int m_HorseActionType = 0;
+ public int nextComAtkIndex = -1;
public JobSetupConfig JobSetup { get; protected set; }
@@ -62,8 +63,6 @@
}
}
- public int nextComAtkIndex = -1;
-
public void SwitchHeadNameBindNode(bool castingSkill)
{
// 瑙掕壊琚殣钘忕姸鎬佷笅涓嶆墽琛屽ご椤跺悕绉板垏鎹㈤�昏緫
@@ -82,6 +81,87 @@
{
m_HeadUpName.target = MP_Name;
}
+ }
+ }
+
+ public bool IsPolyMorph { get; private set; }
+ private GameObject m_SheepModel;
+ private bool m_SheepIsDefaultNpc;
+ public virtual void Polymorph(bool doOrNo)
+ {
+ IsPolyMorph = doOrNo;
+
+ if (IsPolyMorph)
+ {
+ ChangeBinderToRoot();
+
+ // 姝e湪楠戜箻鐘舵�佷笅
+ if (MovingState == E_MovingState.Ride)
+ {
+ m_HorseModel.transform.position = Constants.Special_Hide_Position;
+ SwitchHorse(0);
+ DTC0428_tagPlayerRideHorse.Send_tagPlayerRideHorse(false);
+ }
+ else
+ {
+ m_ClothesModel.transform.position = Constants.Special_Hide_Position;
+ }
+
+ m_SheepIsDefaultNpc = false;
+ var _p = InstanceResourcesLoader.LoadNpc(10101001);
+ if (_p == null)
+ {
+ _p = InstanceResourcesLoader.LoadDefaultFightNPC();
+ m_SheepIsDefaultNpc = true;
+ }
+
+ m_SheepModel = GameObjectPoolManager.Instance.RequestGameObject(_p);
+ m_SheepModel.transform.SetParent(m_Root);
+
+ var _a = m_SheepModel.GetComponent<Animator>();
+ if (_a)
+ {
+ _a.enabled = true;
+ _a.SetInteger(GAStaticDefine.Param_ActorInstID, (int)ClientInstID);
+ m_ClothesAnimator.enabled = false;
+ m_ClothesAnimator = _a;
+ }
+
+ if (ShowOrHide)
+ {
+ m_SheepModel.transform.localPosition = Vector3.zero;
+ }
+ else
+ {
+ m_SheepModel.transform.localPosition = Constants.Special_Hide_Position;
+ }
+
+ m_SheepModel.transform.localRotation = Quaternion.identity;
+ }
+ else
+ {
+ if (m_SheepModel)
+ {
+ if (m_SheepIsDefaultNpc)
+ {
+ GameObjectPoolManager.Instance.ReleaseDefaultFightNPC(m_SheepModel);
+ }
+ else
+ {
+ var _prefab = InstanceResourcesLoader.LoadNpc(10101001);
+ GameObjectPoolManager.Instance.ReleaseGameObject(_prefab, m_SheepModel);
+ }
+ }
+
+ m_SheepModel = null;
+ m_ClothesModel.transform.localPosition = Vector3.zero;
+
+ ChangeBinderToClothes();
+
+ m_ClothesAnimator = m_ClothesModel.GetComponent<Animator>();
+ m_ClothesAnimator.enabled = true;
+ m_ClothesAnimator.SetInteger(GAStaticDefine.Param_ActorInstID, (int)ClientInstID);
+ m_ClothesAnimator.SetInteger(GAStaticDefine.Param_MoveState, (int)E_MovingState.Normal);
}
}
@@ -974,8 +1054,11 @@
}
if (ShowOrHide)
{
- m_ClothesModel.transform.localPosition = Vector3.zero;
- m_ClothesModel.transform.localRotation = Quaternion.identity;
+ if (!IsPolyMorph)
+ {
+ m_ClothesModel.transform.localPosition = Vector3.zero;
+ m_ClothesModel.transform.localRotation = Quaternion.identity;
+ }
}
else
{
@@ -987,12 +1070,18 @@
if (m_WingModel)
{
MovingState = E_MovingState.Fly;
- m_ClothesAnimator.SetInteger(GAStaticDefine.Param_MoveState, (int)E_MovingState.Fly);
+ if (!IsPolyMorph)
+ {
+ m_ClothesAnimator.SetInteger(GAStaticDefine.Param_MoveState, (int)E_MovingState.Fly);
+ }
}
else
{
MovingState = E_MovingState.Normal;
- m_ClothesAnimator.SetInteger(GAStaticDefine.Param_MoveState, (int)E_MovingState.Normal);
+ if (!IsPolyMorph)
+ {
+ m_ClothesAnimator.SetInteger(GAStaticDefine.Param_MoveState, (int)E_MovingState.Normal);
+ }
}
SwitchHeadNameBindNode(false);
diff --git a/Fight/PreFightMission.cs b/Fight/PreFightMission.cs
index b81a26a..d618391 100644
--- a/Fight/PreFightMission.cs
+++ b/Fight/PreFightMission.cs
@@ -902,7 +902,7 @@
_model2.clickClosed = false;
m_AfterAttackType = E_AfterAttackType.RefreshRock;
- GA_Hero.OnUserClickSkill += OnCastSkill;
+ HeroBehaviour.OnUserClickSkill += OnCastSkill;
_model2.onClose = null;
@@ -1135,7 +1135,7 @@
private void OnCastSkill(int skillID)
{
- GA_Hero.OnUserClickSkill -= OnCastSkill;
+ HeroBehaviour.OnUserClickSkill -= OnCastSkill;
if (m_AfterAttackType == E_AfterAttackType.RefreshRock)
{
diff --git a/System/DailyQuest/DailyQuestWin.cs b/System/DailyQuest/DailyQuestWin.cs
index b122700..31cba6c 100644
--- a/System/DailyQuest/DailyQuestWin.cs
+++ b/System/DailyQuest/DailyQuestWin.cs
@@ -525,54 +525,42 @@
}
else
{
- var unlockShowTreasure = 0;
- if (treasureModel.TryGetUnlockShowTreasure(out unlockShowTreasure))
- {
- treasureModel.treasureGotoId = gotoTreasureId;
- var config = Config.Instance.Get<TreasureConfig>(unlockShowTreasure);
- treasureModel.currentCategory = (TreasureCategory)config.Category;
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.TreasureFunc1);
- }
- else
- {
- var config = Config.Instance.Get<TreasureConfig>(gotoTreasureId);
- treasureModel.selectedTreasure = gotoTreasureId;
- treasureModel.currentCategory = (TreasureCategory)config.Category;
+ var config = Config.Instance.Get<TreasureConfig>(gotoTreasureId);
+ treasureModel.selectedTreasure = gotoTreasureId;
+ treasureModel.currentCategory = (TreasureCategory)config.Category;
- switch (gotoTreasureId)
- {
- case 101:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.DhszTs);
- break;
- case 102:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.HyqTs);
- break;
- case 103:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.GyzTs);
- break;
- case 104:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.LqhTs);
- break;
- case 105:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.PlyTs);
- break;
- case 106:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.XhqTs);
- break;
- case 107:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.DhzTs);
- break;
- case 108:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.ZjhlTs);
- break;
- case 109:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.YldTs);
- break;
- case 110:
- WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StfTs);
- break;
- }
-
+ switch (gotoTreasureId)
+ {
+ case 101:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.DhszTs);
+ break;
+ case 102:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.HyqTs);
+ break;
+ case 103:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.GyzTs);
+ break;
+ case 104:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.LqhTs);
+ break;
+ case 105:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.PlyTs);
+ break;
+ case 106:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.XhqTs);
+ break;
+ case 107:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.DhzTs);
+ break;
+ case 108:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.ZjhlTs);
+ break;
+ case 109:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.YldTs);
+ break;
+ case 110:
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StfTs);
+ break;
}
}
}
diff --git a/System/FindPrecious/BossHomeWin.cs b/System/FindPrecious/BossHomeWin.cs
index a727889..b759d47 100644
--- a/System/FindPrecious/BossHomeWin.cs
+++ b/System/FindPrecious/BossHomeWin.cs
@@ -103,7 +103,7 @@
m_BossIntroduce.gameObject.SetActive(false);
m_ContainerMonster.gameObject.SetActive(true);
m_BossIntroduce.Dispose();
- UI3DModelExhibition.Instance.BeginShowNPC(model.selectedBoss, Vector3.zero, m_MonsterPortrait);
+ UI3DModelExhibition.Instance.BeginShowNPC(model.selectedBoss, npcConfig.UIModeLOffset, npcConfig.UIModelRotation, m_MonsterPortrait);
m_MonsterLevel.text = Language.Get("Z1024", npcConfig.NPCLV);
break;
case 2:
@@ -192,8 +192,8 @@
m_BossIntroduce.gameObject.SetActive(false);
m_ContainerMonster.gameObject.SetActive(true);
m_BossIntroduce.Dispose();
- UI3DModelExhibition.Instance.BeginShowNPC(_bossId, Vector3.zero, m_MonsterPortrait);
var npcConfig = Config.Instance.Get<NPCConfig>(_bossId);
+ UI3DModelExhibition.Instance.BeginShowNPC(_bossId, npcConfig.UIModeLOffset, npcConfig.UIModelRotation, m_MonsterPortrait);
m_MonsterLevel.text = Language.Get("Z1024", npcConfig.NPCLV);
break;
case 2:
diff --git a/System/FindPrecious/BossIntroduceBehaviour.cs b/System/FindPrecious/BossIntroduceBehaviour.cs
index 4e5ecf4..a2b67a4 100644
--- a/System/FindPrecious/BossIntroduceBehaviour.cs
+++ b/System/FindPrecious/BossIntroduceBehaviour.cs
@@ -88,7 +88,7 @@
var config = Config.Instance.Get<NPCConfig>(bossId);
m_BossName.text = config.charName;
m_BossLevel.text = Language.Get("Z1024", config.NPCLV);
- UI3DModelExhibition.Instance.BeginShowNPC(bossId, Vector3.zero, m_BossPortrait);
+ UI3DModelExhibition.Instance.BeginShowNPC(bossId, config.UIModeLOffset, config.UIModelRotation, m_BossPortrait);
m_BossAbility.Display(bossId);
}
diff --git a/System/FindPrecious/PersonalBossModel.cs b/System/FindPrecious/PersonalBossModel.cs
index 4abb36a..3011288 100644
--- a/System/FindPrecious/PersonalBossModel.cs
+++ b/System/FindPrecious/PersonalBossModel.cs
@@ -43,13 +43,17 @@
public override void Init()
{
ParseConfig();
- UpdateRedpoint();
- playerPack.RefreshItemCountAct += RefreshItemCnt;
+ playerPack.RefreshItemCountAct += RefreshItemCount;
+ PlayerDatas.Instance.PlayerDataRefreshEvent += OnPlayerDataChange;
+ dungeonModel.dungeonRecordChangeEvent += OnDungeonRecordChange;
+
}
public override void UnInit()
{
- playerPack.RefreshItemCountAct -= RefreshItemCnt;
+ playerPack.RefreshItemCountAct -= RefreshItemCount;
+ PlayerDatas.Instance.PlayerDataRefreshEvent -= OnPlayerDataChange;
+ dungeonModel.dungeonRecordChangeEvent -= OnDungeonRecordChange;
}
public void RequestSetDungeonAction()
@@ -90,7 +94,16 @@
return sortedBossIds[0];
}
- private void RefreshItemCnt(PackType type, int index, int id)
+
+ private void OnPlayerDataChange(PlayerDataRefresh _type, int _value)
+ {
+ if (_type == PlayerDataRefresh.VIPLv)
+ {
+ UpdateRedpoint();
+ }
+ }
+
+ private void RefreshItemCount(PackType type, int index, int id)
{
if (type == PackType.rptItem && id == dungeonTicket)
{
@@ -98,6 +111,15 @@
}
}
+ private void OnDungeonRecordChange(int _id)
+ {
+ if (_id == PERSONALBOSS_MAPID)
+ {
+ UpdateRedpoint();
+ }
+ }
+
+
public void UpdateRedpoint()
{
if (!FuncOpen.Instance.IsFuncOpen(76))
diff --git a/System/MainInterfacePanel/MainInterfaceWin.cs b/System/MainInterfacePanel/MainInterfaceWin.cs
index 75bb072..e92c5e9 100644
--- a/System/MainInterfacePanel/MainInterfaceWin.cs
+++ b/System/MainInterfacePanel/MainInterfaceWin.cs
@@ -457,7 +457,7 @@
}
}
- if (_areaType == MapArea.E_Type.Neutral && _enter)
+ if ((_areaType == MapArea.E_Type.Neutral || _areaType == MapArea.E_Type.Boss) && _enter)
{
WindowCenter.Instance.Open<NeutralMarkWin>();
int mapID = PlayerDatas.Instance.baseData.MapID;
@@ -479,7 +479,7 @@
}
}
- if ((_areaType == MapArea.E_Type.Boss && _enter) || (_areaType == MapArea.E_Type.Dazuo && _enter))
+ if (_areaType == MapArea.E_Type.Boss && _enter)
{
if (Vector3.Distance(m_TaskAndTeamPanel.localPosition, TaskListTipAnchor1.localPosition) < 2 && ListBossMapId.Contains(PlayerDatas.Instance.baseData.MapID))
{
@@ -507,7 +507,7 @@
var inDungeon = IsDungeon();
var isNeutralMap = GeneralConfig.Instance.neutralMaps.Contains(PlayerDatas.Instance.baseData.MapID);
- if ((_areaType == MapArea.E_Type.Boss && !_enter) || (_areaType == MapArea.E_Type.Dazuo && !_enter))
+ if (_areaType == MapArea.E_Type.Boss && !_enter)
{
if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon && !isNeutralMap)
{
diff --git a/System/NewBieGuidance/NewBieCenter.cs b/System/NewBieGuidance/NewBieCenter.cs
index 08ab7fe..8d80910 100644
--- a/System/NewBieGuidance/NewBieCenter.cs
+++ b/System/NewBieGuidance/NewBieCenter.cs
@@ -193,7 +193,10 @@
currentGuide = 0;
WindowCenter.Instance.CloseImmediately<NewBieWin>();
- completeGuidesBuf.Add(guideRecord);
+ if (!completeGuidesBuf.Contains(guideRecord))
+ {
+ completeGuidesBuf.Add(guideRecord);
+ }
var send = new CA222_tagCMSetGuideOK();
send.GuideIndex = (byte)_id;
diff --git a/System/SystemSetting/SystemSetting.cs b/System/SystemSetting/SystemSetting.cs
index 6aed415..bf704ad 100644
--- a/System/SystemSetting/SystemSetting.cs
+++ b/System/SystemSetting/SystemSetting.cs
@@ -66,7 +66,7 @@
public GameFrame GetGameFrame()
{
- return (GameFrame)LocalSave.GetInt(GAMEFRAME_KEY, (int)GameFrame.HalfFrame);
+ return (GameFrame)LocalSave.GetInt(GAMEFRAME_KEY, (int)GameFrame.FullFrame);
}
public void SetSystemSettingSwitch(SystemSwitch type, bool _value)
@@ -191,18 +191,18 @@
{
var defaultQuality = GameQuality.High;
- if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 3.5f * 1024)
- {
- defaultQuality = GameQuality.High;
- }
- else if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 2.5f * 1024)
- {
- defaultQuality = GameQuality.Medium; ;
- }
- else if (DeviceUtility.cpu > 1 && DeviceUtility.memory > 1.5f * 1024)
- {
- defaultQuality = GameQuality.Low;
- }
+// if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 3.5f * 1024)
+// {
+// defaultQuality = GameQuality.High;
+// }
+// else if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 2.5f * 1024)
+// {
+// defaultQuality = GameQuality.Medium; ;
+// }
+// else if (DeviceUtility.cpu > 1 && DeviceUtility.memory > 1.5f * 1024)
+// {
+// defaultQuality = GameQuality.Low;
+// }
return (GameQuality)LocalSave.GetInt(QUALITY_LEVEL_KEY, (int)defaultQuality);
}
diff --git a/System/Team/TeamPrepareWin.cs b/System/Team/TeamPrepareWin.cs
index 9423379..08b9972 100644
--- a/System/Team/TeamPrepareWin.cs
+++ b/System/Team/TeamPrepareWin.cs
@@ -34,6 +34,7 @@
bool rejectManual = false;
TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
+
#region Built-in
protected override void BindController()
{
@@ -48,6 +49,11 @@
protected override void OnPreOpen()
{
+ if (NewBieCenter.Instance.inGuiding)
+ {
+ NewBieCenter.Instance.FinishNewBieGuide(NewBieCenter.Instance.currentGuide);
+ }
+
rejectManual = false;
if (!model.myTeam.iamCaptainer)
{
diff --git a/System/WindowJump/WindowJumpMgr.cs b/System/WindowJump/WindowJumpMgr.cs
index addcb90..d407ca0 100644
--- a/System/WindowJump/WindowJumpMgr.cs
+++ b/System/WindowJump/WindowJumpMgr.cs
@@ -216,10 +216,8 @@
var soulId = 0;
if (int.TryParse(_tagWinSearchModel.SelectActive, out soulId))
{
- var treasureModel = ModelCenter.Instance.GetModel<TreasureModel>();
- Treasure treasure;
- treasureModel.TryGetTreasure(soulId, out treasure);
- if (treasure == null || treasure.state != TreasureState.Collected)
+ var soulModel = ModelCenter.Instance.GetModel<TreasureSoulModel>();
+ if (!soulModel.IsOpenTreasureSoul(soulId))
{
return;
}
diff --git a/Utility/MathUtility.cs b/Utility/MathUtility.cs
index 3a162b0..ec01aa7 100644
--- a/Utility/MathUtility.cs
+++ b/Utility/MathUtility.cs
@@ -154,6 +154,21 @@
return (target - self).normalized;
}
+ public static bool IsSameDir(Vector3 vec1, Vector3 vec2)
+ {
+ vec1.y = 0;
+ vec2.y = 0;
+
+ return Vector3.Dot(vec1, vec2) > 0;
+ }
+
+ public static bool OppositeDir(Vector3 vec1, Vector3 vec2)
+ {
+ vec1.y = 0;
+ vec2.y = 0;
+
+ return Vector3.Dot(vec1, vec2) < 0;
+ }
public static int Power(int a, int e)
{
int value = 1;
diff --git a/Utility/RuntimeLogUtility.cs b/Utility/RuntimeLogUtility.cs
index d38aabc..eaa22df 100644
--- a/Utility/RuntimeLogUtility.cs
+++ b/Utility/RuntimeLogUtility.cs
@@ -223,7 +223,7 @@
if (GUILayout.Button("閰烽叿閰�"))
{
-
+ PlayerDatas.Instance.hero.Polymorph(!PlayerDatas.Instance.hero.IsPolyMorph);
}
if (GUILayout.Button("鐩存帴閲嶈繛"))
--
Gitblit v1.8.0