From e01c923e16460d685b5842b9ddfb621bb00c9168 Mon Sep 17 00:00:00 2001 From: VDH Date: Tue, 11 Nov 2025 14:13:14 +0700 Subject: [PATCH] ref --- .../PerfectWorld/Prefab/GameController.prefab | 42 +++++++++---------- .../Scripts/Managers/EC_HPWorkTrace.cs | 24 +++++------ Assets/Scripts/CECHostPlayer.cs | 11 ++--- 3 files changed, 39 insertions(+), 38 deletions(-) diff --git a/Assets/PerfectWorld/Prefab/GameController.prefab b/Assets/PerfectWorld/Prefab/GameController.prefab index ad27560446..ab17eb1e7a 100644 --- a/Assets/PerfectWorld/Prefab/GameController.prefab +++ b/Assets/PerfectWorld/Prefab/GameController.prefab @@ -9,8 +9,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2780428059708698453} - - component: {fileID: 4062305846887961480} - component: {fileID: 1890210201668811196} + - component: {fileID: 6919949516443544071} m_Layer: 0 m_Name: GameController m_TagString: Untagged @@ -33,26 +33,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4062305846887961480 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6950113420985123515} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 839d10a1a7b2c4a44a99e77558b12d02, type: 3} - m_Name: - m_EditorClassIdentifier: - characterPrefab: {fileID: 6513559496054861882, guid: 1f80fef119a826b4a826baf52a8f92d7, type: 3} - monsterPrefab: {fileID: 2542060226037108388, guid: 244942d3fb9382846b82581ce24fbf4e, type: 3} - npcServerPrefab: {fileID: -5899287755522118344, guid: 9bd42cdc18b3d624db35707155fc50de, type: 3} - cinemachineCamera: {fileID: 0} - _testVfxPrefab: {fileID: 0} - freeLookCam: {fileID: 0} - rotateSpeedX: 300 - rotateSpeedY: 2 --- !u!114 &1890210201668811196 MonoBehaviour: m_ObjectHideFlags: 0 @@ -69,3 +49,23 @@ MonoBehaviour: uiPrefabs: [] npsUI: {fileID: 0} currentTargetNPCID: 0 +--- !u!114 &6919949516443544071 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6950113420985123515} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5de219a5b9756ae4ebf01e2919b92cde, type: 3} + m_Name: + m_EditorClassIdentifier: + characterPrefab: {fileID: 6513559496054861882, guid: 1f80fef119a826b4a826baf52a8f92d7, type: 3} + monsterPrefab: {fileID: 2542060226037108388, guid: 244942d3fb9382846b82581ce24fbf4e, type: 3} + npcServerPrefab: {fileID: -5899287755522118344, guid: 9bd42cdc18b3d624db35707155fc50de, type: 3} + cinemachineCamera: {fileID: 0} + _testVfxPrefab: {fileID: 0} + freeLookCam: {fileID: 0} + rotateSpeedX: 300 + rotateSpeedY: 2 diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs index 4e8742f7b7..06a7fa0a08 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs @@ -239,17 +239,17 @@ public class CECTracedNPC : CECTracedObject //a_LogOutput(1, "[NormalATK]- CECTracedNPC- OnTouched- TRACE_ATTACK"); } } - //else if (m_iReason == CECHPWorkTrace.Trace_reason.TRACE_SPELL) - //{ - // //a_LogOutput(1, "[NormalATK]- CECTracedNPC- OnTouched- TRACE_SPELL"); - // if (!m_pHost.CannotAttack()) - // { - // if (m_pHost.CastSkill(m_iObjectId, m_bForceAttack)) - // bActionDone = true; - // } - // else - // m_pHost.m_pPrepSkill = null; - //} + else if (m_iReason == CECHPWorkTrace.Trace_reason.TRACE_SPELL) + { + //a_LogOutput(1, "[NormalATK]- CECTracedNPC- OnTouched- TRACE_SPELL"); + if (!m_pHost.CannotAttack()) + { + if (m_pHost.CastSkill(m_iObjectId, m_bForceAttack)) + bActionDone = true; + } + else + m_pHost.m_pPrepSkill = null; + } } return bActionDone; } @@ -723,7 +723,7 @@ public class CECHPWorkTrace : CECHPWork public void SetForceAttack(bool bTrue) { m_bForceAttack = bTrue; } public bool GetForceAttack() { return m_bForceAttack; } // Set / Get prepared skill - public void SetPrepSkill(CECSkill pSkill) { /*m_pPrepSkill = pSkill;*/ } + public void SetPrepSkill(CECSkill pSkill) { m_pPrepSkill = pSkill; } public CECSkill GetPrepSkill() { /*return m_pPrepSkill;*/ return null; } // Get target ID public int GetTarget() { return m_pTraceObject.GetObjectID(); } diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index e1e4325b08..42dcb8226b 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -69,7 +69,7 @@ public partial class CECHostPlayer : CECPlayer private List m_aGoblinSkills = new List(); private bool m_bEnterGame; - private CECSkill m_pPrepSkill; + public CECSkill m_pPrepSkill; private float playerSpeed = 5.0f; private float jumpHeight = 1.5f; private float gravityValue = -9.81f; @@ -1860,9 +1860,9 @@ public partial class CECHostPlayer : CECPlayer else if (m_pWorkMan.CanStartWork(Host_work_ID.WORK_TRACEOBJECT)) { CECHPWorkTrace pWork2 = (CECHPWorkTrace)m_pWorkMan.CreateWork(Host_work_ID.WORK_TRACEOBJECT); - /* pWork2->SetTraceTarget(pWork2->CreatTraceTarget(idCastTarget, CECHPWorkTrace::TRACE_SPELL, bForceAttack), bUseAutoPF); - pWork2->SetPrepSkill(pSkill); - m_pWorkMan->StartWork_p1(pWork2);*/ + pWork2.SetTraceTarget(pWork2.CreatTraceTarget(idCastTarget, Trace_reason.TRACE_SPELL, bForceAttack), bUseAutoPF); + pWork2.SetPrepSkill(pSkill); + m_pWorkMan.StartWork_p1(pWork2); bTraceOK = true; } @@ -1873,13 +1873,14 @@ public partial class CECHostPlayer : CECPlayer return true; } - private void CastSkill(int idTarget, bool bForceAttack, CECObject pTarget = null) + public bool CastSkill(int idTarget, bool bForceAttack, CECObject pTarget = null) { byte byPVPMask = glb_BuildPVPMask(bForceAttack); BMLogger.LogError("HoangDev: HostPlayer CastSkill SkillID=" + m_pPrepSkill.GetSkillID() + " TargetID=" + idTarget + " bForceAttack=" + bForceAttack + " byPVPMask=" + byPVPMask); UnityGameSession.c2s_CmdCastSkill(m_pPrepSkill.GetSkillID(), byPVPMask, 1, idTarget); + return true; } public byte glb_BuildPVPMask(bool bForceAttack) {