diff --git a/Assets/EditorAttributes/Samples/ExampleAnimator.controller b/Assets/EditorAttributes/Samples/ExampleAnimator.controller
index fcd51ccc2e..4d82241192 100644
--- a/Assets/EditorAttributes/Samples/ExampleAnimator.controller
+++ b/Assets/EditorAttributes/Samples/ExampleAnimator.controller
@@ -1,5 +1,57 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!1102 &-6682150482281830067
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: "\u6253\u5750_\u901A\u7528"
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions: []
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 93519909dda6cca42a0c28127afbbb52, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &-4679316952246346250
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: "\u6253\u5750\u5FAA\u73AF_\u901A\u7528"
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions: []
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: bf857f5576da777429ed5a6fd606294a, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
--- !u!1107 &-4297166198488271538
AnimatorStateMachine:
serializedVersion: 6
@@ -8,7 +60,13 @@ AnimatorStateMachine:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
- m_ChildStates: []
+ m_ChildStates:
+ - serializedVersion: 1
+ m_State: {fileID: -6682150482281830067}
+ m_Position: {x: 330, y: 78, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -4679316952246346250}
+ m_Position: {x: 348, y: 166, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@@ -18,7 +76,7 @@ AnimatorStateMachine:
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
- m_DefaultState: {fileID: 0}
+ m_DefaultState: {fileID: -6682150482281830067}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@@ -33,25 +91,25 @@ AnimatorController:
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
- m_Controller: {fileID: 0}
+ m_Controller: {fileID: 9100000}
- m_Name: IntParam
m_Type: 3
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
- m_Controller: {fileID: 0}
+ m_Controller: {fileID: 9100000}
- m_Name: BoolParam
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
- m_Controller: {fileID: 0}
+ m_Controller: {fileID: 9100000}
- m_Name: TriggerParam
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
- m_Controller: {fileID: 0}
+ m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
diff --git a/Assets/PerfectWorld/Asssets/Panel/bg che tao.png.meta b/Assets/PerfectWorld/Asssets/Panel/bg che tao.png.meta
index ae27c44059..cfdc40f45d 100644
--- a/Assets/PerfectWorld/Asssets/Panel/bg che tao.png.meta
+++ b/Assets/PerfectWorld/Asssets/Panel/bg che tao.png.meta
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -93,6 +93,45 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
diff --git a/Assets/PerfectWorld/Asssets/Panel/khung tui do mini.png.meta b/Assets/PerfectWorld/Asssets/Panel/khung tui do mini.png.meta
index badb9b80d1..b663a612c7 100644
--- a/Assets/PerfectWorld/Asssets/Panel/khung tui do mini.png.meta
+++ b/Assets/PerfectWorld/Asssets/Panel/khung tui do mini.png.meta
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -93,6 +93,45 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
diff --git a/Assets/PerfectWorld/Resources/UI/Inventory/khung nd tuido.png.meta b/Assets/PerfectWorld/Resources/UI/Inventory/khung nd tuido.png.meta
index 25c9482fe2..e64e11dfb6 100644
--- a/Assets/PerfectWorld/Resources/UI/Inventory/khung nd tuido.png.meta
+++ b/Assets/PerfectWorld/Resources/UI/Inventory/khung nd tuido.png.meta
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -106,6 +106,32 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
diff --git a/Assets/PerfectWorld/Resources/UI/NPC/Uninstall/khung nd duclo.png.meta b/Assets/PerfectWorld/Resources/UI/NPC/Uninstall/khung nd duclo.png.meta
index 0f43414fb9..a5164a3b20 100644
--- a/Assets/PerfectWorld/Resources/UI/NPC/Uninstall/khung nd duclo.png.meta
+++ b/Assets/PerfectWorld/Resources/UI/NPC/Uninstall/khung nd duclo.png.meta
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -106,6 +106,32 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
diff --git a/Assets/PerfectWorld/Resources/UI/NPCShop/khungnd1.png.meta b/Assets/PerfectWorld/Resources/UI/NPCShop/khungnd1.png.meta
index 9a4967f671..79a6bbb4f5 100644
--- a/Assets/PerfectWorld/Resources/UI/NPCShop/khungnd1.png.meta
+++ b/Assets/PerfectWorld/Resources/UI/NPCShop/khungnd1.png.meta
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -106,6 +106,32 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
diff --git a/Assets/PerfectWorld/Resources/UI/Notification/khung thongbao.png.meta b/Assets/PerfectWorld/Resources/UI/Notification/khung thongbao.png.meta
index d6405ebce2..0fd9969290 100644
--- a/Assets/PerfectWorld/Resources/UI/Notification/khung thongbao.png.meta
+++ b/Assets/PerfectWorld/Resources/UI/Notification/khung thongbao.png.meta
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -106,6 +106,32 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
diff --git a/Assets/PerfectWorld/Resources/UI/Skill/khungnd1.png.meta b/Assets/PerfectWorld/Resources/UI/Skill/khungnd1.png.meta
index d9ba7f3351..ce17558531 100644
--- a/Assets/PerfectWorld/Resources/UI/Skill/khungnd1.png.meta
+++ b/Assets/PerfectWorld/Resources/UI/Skill/khungnd1.png.meta
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -106,6 +106,32 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
diff --git a/Assets/PerfectWorld/Resources/UI/Team/khung caidat.png.meta b/Assets/PerfectWorld/Resources/UI/Team/khung caidat.png.meta
index 5ab5602f00..40eb42136e 100644
--- a/Assets/PerfectWorld/Resources/UI/Team/khung caidat.png.meta
+++ b/Assets/PerfectWorld/Resources/UI/Team/khung caidat.png.meta
@@ -69,7 +69,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -106,6 +106,32 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
diff --git a/Assets/PerfectWorld/Scripts/Managers/CECHPWorkSit.cs b/Assets/PerfectWorld/Scripts/Managers/CECHPWorkSit.cs
new file mode 100644
index 0000000000..84821fec71
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/CECHPWorkSit.cs
@@ -0,0 +1,64 @@
+/*
+ * FILE: CECHPWorkSit.cs
+ *
+ * DESCRIPTION: Host player sit work
+ *
+ * CONVERTED FROM: EC_HPWorkSit.cpp/EC_HPWorkSit.h
+ */
+
+using BrewMonster;
+using CSNetwork.GPDataType;
+
+namespace BrewMonster.Scripts
+{
+ public class CECHPWorkSit : CECHPWork
+ {
+ protected bool m_bBeSitting;
+
+ public CECHPWorkSit(CECHPWorkMan pWorkMan) : base(Host_work_ID.WORK_SIT, pWorkMan)
+ {
+ m_dwMask = Work_mask.MASK_SIT;
+ m_dwTransMask = Work_mask.MASK_STAND;
+ Reset();
+ }
+
+ public void SetBeSittingFlag(bool bTrue)
+ {
+ m_bBeSitting = bTrue;
+ }
+
+ public override void Reset()
+ {
+ base.Reset();
+ m_bBeSitting = false;
+ }
+
+ public override bool CopyData(CECHPWork pWork)
+ {
+ if (!base.CopyData(pWork))
+ return false;
+
+ CECHPWorkSit pSrc = (CECHPWorkSit)pWork;
+ m_bBeSitting = pSrc.m_bBeSitting;
+ return true;
+ }
+
+ protected override void OnFirstTick()
+ {
+ m_pHost.m_iMoveMode = (int)Move_Mode.MOVE_STAND;
+ if (m_bBeSitting)
+ m_pHost.PlayAction((int)PLAYER_ACTION_TYPE.ACT_SITDOWN_LOOP);
+ else
+ {
+ m_pHost.PlayAction((int)PLAYER_ACTION_TYPE.ACT_SITDOWN);
+ m_pHost.PlayAction((int)PLAYER_ACTION_TYPE.ACT_SITDOWN_LOOP, true, 200, true);
+ }
+ }
+
+ public override bool Tick(float dwDeltaTime)
+ {
+ base.Tick(dwDeltaTime);
+ return true;
+ }
+ }
+}
diff --git a/Assets/PerfectWorld/Scripts/Managers/CECHPWorkSit.cs.meta b/Assets/PerfectWorld/Scripts/Managers/CECHPWorkSit.cs.meta
new file mode 100644
index 0000000000..fe6a91a001
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/CECHPWorkSit.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: d9a9c005284728d428a534fcf337a5b1
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs
index 4c734423b1..a92b763d96 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs
@@ -649,7 +649,7 @@ namespace BrewMonster.Scripts
//case CECHPWork.Host_work_ID.WORK_FOLLOW: pWork = new CECHPWorkFollow(this); break;
case CECHPWork.Host_work_ID.WORK_FLYOFF: pWork = new CECHPWorkFly(this); break;
case CECHPWork.Host_work_ID.WORK_FREEFALL: pWork = new CECHPWorkFall(this); break;
- //case CECHPWork.Host_work_ID.WORK_SIT: pWork = new CECHPWorkSit(this); break;
+ case CECHPWork.Host_work_ID.WORK_SIT: pWork = new CECHPWorkSit(this); break;
case CECHPWork.Host_work_ID.WORK_PICKUP: pWork = new EC_HPWorkPick(this); break;
case CECHPWork.Host_work_ID.WORK_CONCENTRATE: pWork = new CECHPWorkConcentrate(this); break;
//case CECHPWork.Host_work_ID.WORK_REVIVE: pWork = new CECHPWorkRevive(this); break;
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMove.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMove.cs
index 7672d2d72a..000fb86a8b 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMove.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMove.cs
@@ -875,11 +875,7 @@ namespace BrewMonster.Scripts
vCurPos = m_pHost.m_MoveCtrl.GroundMove(m_vCurDir, fSpeed, fDeltaTime, m_pHost.m_fVertSpeed);
if (!m_vCurDir.IsZero())
- {
- //m_pHost.StartModelMove(m_vCurDir, GPDataTypeHelper.g_vAxisY, 100);
- //m_pHost.ChangeModelTargetDirAndUp(m_vCurDir, GPDataTypeHelper.g_vAxisY);
- UpdateFacingFromDelta(vCurPos);
- }
+ OrientHostHorizontal(m_vCurDir);
if (m_pHost.m_MoveCtrl.MoveBlocked() >= 3)
{
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_ManMatter.cs b/Assets/PerfectWorld/Scripts/Managers/EC_ManMatter.cs
index 73d1204849..88fe69e3cc 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_ManMatter.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_ManMatter.cs
@@ -343,6 +343,15 @@ namespace PerfectWorld.Scripts.Managers
}
return best;
}
+
+ /// Port of CECMatterMan::FindMatterNearHost — nearest pickupable ground matter.
+ public CECMatter FindMatterNearHost(float fRadius, bool bPickOnly = true)
+ {
+ CECHostPlayer host = CECGameRun.Instance?.GetHostPlayer();
+ if (host == null)
+ return null;
+ return GetNearestPickupableMatter(host.GetPos(), fRadius);
+ }
public CECMatter CreateMatter(info_matter info)
{
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs
index d679e9ccc8..c01e9b4148 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs
@@ -67,6 +67,7 @@ namespace PerfectWorld.Scripts.Managers
case EC_MsgDef.MSG_PM_PLAYERDOEMOTE:
case EC_MsgDef.MSG_PM_PLAYERGATHER:
case EC_MsgDef.MSG_PM_PLAYERFLY:
+ case EC_MsgDef.MSG_PM_PLAYERSITDOWN:
case EC_MsgDef.MSG_PM_PLAYERMOUNT:
case EC_MsgDef.MSG_PM_PLAYERCHGSHAPE:
case EC_MsgDef.MSG_PM_PLAYERSKILLRESULT:
@@ -754,6 +755,12 @@ namespace PerfectWorld.Scripts.Managers
cid = (GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1)).object_id;
break;
+ case EC_MsgDef.MSG_PM_PLAYERSITDOWN:
+ if (Convert.ToInt32(Msg.dwParam2) == CommandID.OBJECT_SIT_DOWN)
+ cid = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1).id;
+ else
+ cid = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1).id;
+ break;
case EC_MsgDef.MSG_PM_PLAYERMOUNT:
cid = (GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1)).id;
break;
diff --git a/Assets/PerfectWorld/Scripts/Move/AutoPFImp/AutoMove/CMoveAgent.cs b/Assets/PerfectWorld/Scripts/Move/AutoPFImp/AutoMove/CMoveAgent.cs
index 5199de3cb9..20fa085849 100644
--- a/Assets/PerfectWorld/Scripts/Move/AutoPFImp/AutoMove/CMoveAgent.cs
+++ b/Assets/PerfectWorld/Scripts/Move/AutoPFImp/AutoMove/CMoveAgent.cs
@@ -3,76 +3,59 @@ using System.Collections.Generic;
using UnityEngine;
// Filename : CMoveAgent.cs
-// Creator : ported/simplified from C++ (AutoPFImp/AutoMoveImp/MoveAgent.*)
+// Creator : ported from C++ (AutoPFImp/AutoMoveImp/MoveAgent.*)
// Date : 2026/01/09
namespace AutoMove
{
///
- /// Minimal MoveAgent: loads movemap and provides A* path on layer0 rmap.
- /// 最小 MoveAgent:加载 movemap,并在第0层 rmap 上执行 A* 路径搜索。
+ /// MoveAgent: A* on layer0 rmap + COptimizePath (matches C++ CMoveAgent flow).
///
public class CMoveAgent
{
- // Debug switch (enable temporarily while validating routes).
- // 调试开关(验证寻路时可临时开启)。
- // NOTE: must not be const, otherwise Unity compiler warns about unreachable code.
- // 注意:不要用 const,否则 Unity 编译会报“不可达代码”警告。
private static bool DEBUG_AUTOPF = false;
+
public abstract class BrushTest
{
- // from.y/to.y store DH in original engine.
- // 原版中 from.y/to.y 存储 DH(相对地形高度差)。
public abstract bool Collide(Vector3 from, Vector3 to);
}
private readonly CMoveMap m_pMoveMap = new CMoveMap();
- private Vector3 m_vOriginOverride;
+ private COptimizePath m_pPathOptimizer;
private Vector2Int m_ptStart;
private Vector2Int m_ptGoal;
private int m_iLayerStart;
private int m_iLayerGoal;
- private readonly List m_path3D = new List(1024);
-
public bool Load(string basePathNoExt, Func resolver, Vector3? originOverride)
{
- // basePathNoExt corresponds to "maps\\