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/GameActor/GActorPlayerBase.cs | 101 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 95 insertions(+), 6 deletions(-)
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);
--
Gitblit v1.8.0