新增脚本

This commit is contained in:
2025-12-26 20:35:52 +08:00
parent 875960d3fd
commit 45129be7dc
60 changed files with 3384 additions and 70247 deletions

View File

@@ -18508,6 +18508,36 @@ MonoBehaviour:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/FFishingLine_0.prefab
Address: Plyaer/FFishingLine_0
Type: GameObject
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/FFishingLine_1.prefab
Address: Plyaer/FFishingLine_1
Type: GameObject
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/Anim/AnimationClip/CameraCrouch.anim
Address: Plyaer/CameraCrouch
Type: AnimationClip

View File

@@ -0,0 +1,50 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7971633b9741349f3add282a07b0d69b, type: 3}
m_Name: ObiEditorSettings
m_EditorClassIdentifier: Obi::Obi.ObiEditorSettings
m_ParticleBrush: {r: 0.9529412, g: 0.3019608, b: 0.16862746, a: 1}
m_BrushWireframe: {r: 0, g: 0, b: 0, a: 0.5019608}
m_Particle: {r: 0.9411765, g: 0.9411765, b: 0.9411765, a: 1}
m_SelectedParticle: {r: 0.9529412, g: 0.3019608, b: 0.16862746, a: 1}
m_ActiveParticle: {r: 0.9529412, g: 0.9529412, b: 0.16862746, a: 1}
m_PropertyGradient:
serializedVersion: 2
key0: {r: 0.35, g: 0.35, b: 0.35, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
m_ParticlePicking: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4aa83851d49e0ce46abb2748b8d9cd8b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: af7dee2c8ea88e040aa65c7f77e6f5b8
timeCreated: 1716587616
licenseType: Free
PrefabImporter:
externalObjects: {}
addedObjectFileIDs: []
isPrefabVariant: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,818 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1216861808783687
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4985740428915802}
- component: {fileID: 33554273277025186}
- component: {fileID: 23212596513331555}
- component: {fileID: 54558778862022491}
- component: {fileID: 114569746108461377}
- component: {fileID: 145265253818817148}
m_Layer: 10
m_Name: LineConnector_1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4985740428915802
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216861808783687}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.31902}
m_LocalScale: {x: 0.0017894633, y: 0.0017894633, z: 0.0017894611}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4472327255735813}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
--- !u!33 &33554273277025186
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216861808783687}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &23212596513331555
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216861808783687}
m_Enabled: 0
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3f3f67942f8bf7b4f85962904e41459f, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54558778862022491
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216861808783687}
serializedVersion: 5
m_Mass: 0.1
m_LinearDamping: 1
m_AngularDamping: 1
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114569746108461377
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216861808783687}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62359d80fdc0e4315ab6331b78ec5b90, type: 3}
m_Name:
m_EditorClassIdentifier:
kinematicForParticles: 0
--- !u!145 &145265253818817148
SpringJoint:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216861808783687}
serializedVersion: 4
m_ConnectedBody: {fileID: 54064796885498670}
m_ConnectedArticulationBody: {fileID: 0}
m_Anchor: {x: 0, y: 0, z: 0}
m_AutoConfigureConnectedAnchor: 0
m_ConnectedAnchor: {x: 0, y: 0, z: 0}
m_Spring: 2500
m_Damper: 0.2
m_MinDistance: 0
m_MaxDistance: 0.1
m_Tolerance: 0.025
m_BreakForce: Infinity
m_BreakTorque: Infinity
m_EnableCollision: 0
m_EnablePreprocessing: 1
m_MassScale: 1
m_ConnectedMassScale: 1
--- !u!1 &1436639157089788
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4472327255735813}
- component: {fileID: 114775767009045337}
- component: {fileID: 114216858968572135}
m_Layer: 0
m_Name: FFishingLine_1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4472327255735813
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1436639157089788}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4086094945373968}
- {fileID: 4309936686519475}
- {fileID: 4985740428915802}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &114775767009045337
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1436639157089788}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9d174fab52f0c4b8399f25d5c3ea524c, type: 3}
m_Name:
m_EditorClassIdentifier:
simulateWhenInvisible: 1
m_Backend: 1
substeps: 4
maxStepsPerFrame: 1
synchronization: 0
parameters:
mode: 0
interpolation: 0
gravity: {x: 0, y: -9.81, z: 0}
ambientWind: {x: 0, y: 0, z: 0}
foamGravityScale: 1
damping: 0.8
maxAnisotropy: 3
sleepThreshold: 0.0001
maxVelocity: 50
maxAngularVelocity: 20
collisionMargin: 0.02
maxDepenetration: 10
colliderCCD: 1
particleCCD: 0
shockPropagation: 0
surfaceCollisionIterations: 8
surfaceCollisionTolerance: 0.005
diffusionMask: {x: 1, y: 1, z: 1, w: 1}
m_MaxSurfaceChunks: 32768
maxQueryResults: 8192
maxFoamParticles: 8192
maxParticleNeighbors: 128
maxParticleContacts: 6
useLimits: 0
killOffLimitsParticles: 0
boundaryLimits:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 5, y: 5, z: 5}
gravity: {x: 0, y: -9, z: 0}
gravitySpace: 1
ambientWind: {x: 0, y: 0, z: 0}
windSpace: 1
foamSubsteps: 1
foamMinNeighbors: 3
foamCollisions: 0
maxFoamVelocityStretch: 0.3
foamRadiusScale: 1
foamFade: {x: 0.05, y: 0.8}
foamAccelAgingRange: {x: 0.5, y: 0.8}
foamAccelAging: 4
foamVolumeDensity: 0.1
foamAmbientDensity: 0.02
foamScatterColor: {r: 0.8, g: 0.75, b: 0.7, a: 1}
foamAmbientColor: {r: 0.4, g: 0.5, b: 0.6, a: 1}
worldLinearInertiaScale: 0
worldAngularInertiaScale: 0
synchronousSpatialQueries: 0
distanceConstraintParameters:
evaluationOrder: 0
iterations: 5
SORFactor: 1
enabled: 1
bendingConstraintParameters:
evaluationOrder: 1
iterations: 3
SORFactor: 1
enabled: 1
particleCollisionConstraintParameters:
evaluationOrder: 0
iterations: 3
SORFactor: 1
enabled: 1
particleFrictionConstraintParameters:
evaluationOrder: 1
iterations: 3
SORFactor: 1
enabled: 0
collisionConstraintParameters:
evaluationOrder: 0
iterations: 3
SORFactor: 1
enabled: 1
frictionConstraintParameters:
evaluationOrder: 1
iterations: 3
SORFactor: 1
enabled: 1
skinConstraintParameters:
evaluationOrder: 0
iterations: 3
SORFactor: 1
enabled: 0
volumeConstraintParameters:
evaluationOrder: 1
iterations: 3
SORFactor: 1
enabled: 1
shapeMatchingConstraintParameters:
evaluationOrder: 1
iterations: 3
SORFactor: 1
enabled: 0
tetherConstraintParameters:
evaluationOrder: 1
iterations: 3
SORFactor: 1
enabled: 0
pinConstraintParameters:
evaluationOrder: 1
iterations: 3
SORFactor: 1
enabled: 1
pinholeConstraintParameters:
evaluationOrder: 1
iterations: 1
SORFactor: 1
enabled: 1
stitchConstraintParameters:
evaluationOrder: 1
iterations: 2
SORFactor: 1
enabled: 0
densityConstraintParameters:
evaluationOrder: 1
iterations: 3
SORFactor: 1
enabled: 0
stretchShearConstraintParameters:
evaluationOrder: 0
iterations: 3
SORFactor: 1
enabled: 0
bendTwistConstraintParameters:
evaluationOrder: 0
iterations: 3
SORFactor: 1
enabled: 1
chainConstraintParameters:
evaluationOrder: 0
iterations: 1
SORFactor: 1
enabled: 0
--- !u!114 &114216858968572135
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1436639157089788}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 331fde19f47e431092cf5bd57c7bcfe4, type: 3}
m_Name:
m_EditorClassIdentifier:
lineType: 1
obiRopeSegment_1: {fileID: 114690977222484832}
obiRopeSegment_2: {fileID: 0}
obiRopeSegment_3: {fileID: 0}
LineConnector_0: {fileID: 9062216202701781222}
LineConnector_1: {fileID: 145265253818817148}
LineConnector_2: {fileID: 0}
LineConnector_3: {fileID: 0}
ObiLineOut: 0
EndLineRigidbody_0: {fileID: 0}
EndLineRigidbody_1: {fileID: 0}
EndLineRigidbody_2: {fileID: 0}
EndLineRigidbody_3: {fileID: 0}
Rod: {fileID: 0}
--- !u!1 &1704301629453161
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4309936686519475}
- component: {fileID: 33659162282674080}
- component: {fileID: 23032032856956722}
- component: {fileID: 54064796885498670}
- component: {fileID: 114159388627441457}
- component: {fileID: 9062216202701781222}
m_Layer: 10
m_Name: LineConnector_0
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4309936686519475
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1704301629453161}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.015783645, y: 0.015783645, z: 0.015783627}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4472327255735813}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
--- !u!33 &33659162282674080
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1704301629453161}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &23032032856956722
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1704301629453161}
m_Enabled: 0
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3f3f67942f8bf7b4f85962904e41459f, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54064796885498670
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1704301629453161}
serializedVersion: 5
m_Mass: 0.1
m_LinearDamping: 0
m_AngularDamping: 0
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 3
--- !u!114 &114159388627441457
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1704301629453161}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62359d80fdc0e4315ab6331b78ec5b90, type: 3}
m_Name:
m_EditorClassIdentifier:
kinematicForParticles: 1
--- !u!114 &9062216202701781222
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1704301629453161}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ec22ad0246c24123a6511e60e753ee38, type: 3}
m_Name:
m_EditorClassIdentifier:
target: {fileID: 0}
--- !u!1 &1724694220950691
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4086094945373968}
- component: {fileID: 33871496429933664}
- component: {fileID: 23391532667850103}
- component: {fileID: 114690977222484832}
- component: {fileID: 114412873172476631}
- component: {fileID: 114426966214432178}
- component: {fileID: 114638550339643019}
- component: {fileID: 114036577426863142}
- component: {fileID: 114935713575815627}
m_Layer: 0
m_Name: Obi RopeSegment_1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4086094945373968
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4472327255735813}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
--- !u!33 &33871496429933664
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
m_Mesh: {fileID: 0}
--- !u!23 &23391532667850103
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 4294967295
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: be37d9883c3013242a3dd276fcd9100e, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &114690977222484832
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 61104f33a3f344db9b7e0d0cda41a9fb, type: 3}
m_Name:
m_EditorClassIdentifier:
solverIndices:
serializedContents: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f0000007000000071000000
m_AlignBytes: 16
groupID: 1
m_CollisionMaterial: {fileID: 0}
m_SurfaceCollisions: 0
m_MassScale: 1
m_SelfCollisions: 0
restLength_: 0.31933346
elements:
- particle1: 0
particle2: 1
restLength: 0.025281452
constraintForce: 0
tearResistance: 1
- particle1: 1
particle2: 2
restLength: 0.023859516
constraintForce: 0
tearResistance: 1
- particle1: 2
particle2: 3
restLength: 0.025210889
constraintForce: 0
tearResistance: 1
- particle1: 3
particle2: 4
restLength: 0.02424051
constraintForce: 0
tearResistance: 1
- particle1: 4
particle2: 5
restLength: 0.024628486
constraintForce: 0
tearResistance: 1
- particle1: 5
particle2: 6
restLength: 0.024751194
constraintForce: 0
tearResistance: 1
- particle1: 6
particle2: 7
restLength: 0.024425108
constraintForce: 0
tearResistance: 1
- particle1: 7
particle2: 8
restLength: 0.024396013
constraintForce: 0
tearResistance: 1
- particle1: 8
particle2: 9
restLength: 0.024576226
constraintForce: 0
tearResistance: 1
- particle1: 9
particle2: 10
restLength: 0.024684237
constraintForce: 0
tearResistance: 1
- particle1: 10
particle2: 11
restLength: 0.024272759
constraintForce: 0
tearResistance: 1
- particle1: 11
particle2: 12
restLength: 0.024583023
constraintForce: 0
tearResistance: 1
- particle1: 12
particle2: 13
restLength: 0.024424033
constraintForce: 0
tearResistance: 1
_aerodynamicsEnabled: 1
_drag: 0.05
_lift: 0.02
m_RopeBlueprint: {fileID: 11400000, guid: 2ade1c037e0bf214783dcb44ae3b7be7, type: 2}
tearingEnabled: 0
tearResistanceMultiplier: 10
tearRate: 1
_distanceConstraintsEnabled: 1
_stretchingScale: 1
_stretchCompliance: 0
_maxCompression: 0.5
_bendConstraintsEnabled: 1
_bendCompliance: 3
_maxBending: 0.5
_plasticYield: 0
_plasticCreep: 0
--- !u!114 &114412873172476631
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 958c969cfb16745f192d4d7bd28b7178, type: 3}
m_Name:
m_EditorClassIdentifier:
decimation: 0
smoothing: 2
twist: 0
indexInSystem: 0
--- !u!114 &114426966214432178
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4d03c9194b7ab4aaba4dfa5afec22c69, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Actor: {fileID: 114690977222484832}
m_Target: {fileID: 4309936686519475}
m_ParticleGroup: {fileID: -5395693579433732326, guid: 2ade1c037e0bf214783dcb44ae3b7be7, type: 2}
m_AttachmentType: 0
m_ConstrainOrientation: 0
m_Projection: 0
m_Compliance: 0
breakThreshold: Infinity
--- !u!114 &114638550339643019
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4d03c9194b7ab4aaba4dfa5afec22c69, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Actor: {fileID: 114690977222484832}
m_Target: {fileID: 4985740428915802}
m_ParticleGroup: {fileID: -2515171973132415257, guid: 2ade1c037e0bf214783dcb44ae3b7be7, type: 2}
m_AttachmentType: 0
m_ConstrainOrientation: 0
m_Projection: 0
m_Compliance: 0
breakThreshold: Infinity
--- !u!114 &114036577426863142
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c8b45ebbf86be4df6b0e6cd933812af2, type: 3}
m_Name:
m_EditorClassIdentifier:
material: {fileID: 0}
renderParameters:
layer: 0
lightProbeUsage: 1
reflectionProbeUsage: 1
shadowCastingMode: 1
receiveShadows: 1
motionVectors: 0
renderingLayerMask: 4294967295
<particleColor>k__BackingField: {r: 1, g: 1, b: 1, a: 1}
<radiusScale>k__BackingField: 1
--- !u!114 &114935713575815627
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724694220950691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c4747da60837c44f9ba4b4a86879bcc8, type: 3}
m_Name:
m_EditorClassIdentifier:
material: {fileID: 0}
renderParameters:
layer: 0
lightProbeUsage: 1
reflectionProbeUsage: 1
shadowCastingMode: 1
receiveShadows: 1
motionVectors: 0
renderingLayerMask: 4294967295
uvAnchor: 0
uvScale: {x: 1, y: 1}
normalizeV: 1
section: {fileID: 11400000, guid: a0bc36a59515f413e90e10895929c938, type: 2}
thicknessScale: 0.02

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 71e49604c0ec7f34eb7b2bbd9c5a830d
timeCreated: 1716587616
licenseType: Free
PrefabImporter:
externalObjects: {}
addedObjectFileIDs: []
isPrefabVariant: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,5 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &661944087655102286
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5757538020472164704}
m_Layer: 0
m_Name: Rod_Parent_L
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5757538020472164704
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 661944087655102286}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.0695, y: 0.0171, z: -0.0072}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 598725328980423127}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6137734904334631007
GameObject:
m_ObjectHideFlags: 0
@@ -42,7 +73,7 @@ GameObject:
m_Component:
- component: {fileID: 2827152078700489346}
m_Layer: 0
m_Name: Rod_Parent
m_Name: Rod_Parent_R
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -57,7 +88,7 @@ Transform:
m_GameObject: {fileID: 6590233066953704931}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: 0.0814, y: -0.0252, z: 0.004}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -1446,6 +1477,9 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 284185ec1f1e5c6409bed7bc27c6c215, type: 3}
insertIndex: -1
addedObject: {fileID: 3916305003103701473}
- targetCorrespondingSourceObject: {fileID: 803932062607491501, guid: 284185ec1f1e5c6409bed7bc27c6c215, type: 3}
insertIndex: -1
addedObject: {fileID: 5757538020472164704}
- targetCorrespondingSourceObject: {fileID: -7774490119401427302, guid: 284185ec1f1e5c6409bed7bc27c6c215, type: 3}
insertIndex: -1
addedObject: {fileID: 2827152078700489346}
@@ -2759,6 +2793,7 @@ MonoBehaviour:
m_EditorClassIdentifier: Assembly-CSharp::NBF.PlayerAsset
NeckTransform: {fileID: 6949574408561493093}
LookIk: {fileID: 0}
RodRoot: {fileID: 2827152078700489346}
--- !u!114 &6338707748352164799
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@@ -35,6 +35,9 @@ namespace NBF
public LookAtIK LookIk;
public Transform RodRoot;
private void Awake()
{
LookIk = GetComponent<LookAtIK>();

View File

@@ -1,4 +1,5 @@
using System;
using RootMotion.FinalIK;
using UnityEngine;
namespace NBF
@@ -50,12 +51,22 @@ namespace NBF
/// </summary>
public Transform lineConnector;
private void Start()
public CCDIK CCDIK;
private void Awake()
{
CCDIK = GetComponent<CCDIK>();
CCDIK.enabled = false;
if (!lineConnector && joints.Length > 0)
{
lineConnector = joints[^1];
}
}
private void Start()
{
}
}
}

View File

@@ -1,5 +1,7 @@
using NBC;
using NBC.Asset;
using NBF.Utils;
using UnityEngine;
namespace NBF
{
@@ -17,7 +19,44 @@ namespace NBF
public static string GetModelPath(this ItemConfig config)
{
return "gfx/" + config.Model;
return $"Assets/ResRaw/gfx/{config.Model}.prefab";
}
public static GameObject GetModelPrefab(this ItemConfig config)
{
return Assets.Load<GameObject>(config.GetModelPath());
}
public static GameObject Instantiate(this ItemConfig config, Transform parent, Vector3 position,
Quaternion rotation)
{
return Object.Instantiate(config.GetModelPrefab(), position, rotation, parent);
}
public static T InstantiateAndComponent<T>(this ItemConfig config, Transform parent, Vector3 position,
Quaternion rotation) where T : MonoBehaviour
{
var obj = config.Instantiate(parent, position, rotation);
var com = obj.GetComponent<T>();
if (com == null)
{
com = obj.AddComponent<T>();
}
return com;
}
public static T InstantiateAndComponent<T>(this ItemConfig config) where T : MonoBehaviour
{
var obj = Object.Instantiate(config.GetModelPrefab());
var com = obj.GetComponent<T>();
if (com == null)
{
com = obj.AddComponent<T>();
}
return com;
}
}
}

View File

@@ -60,6 +60,8 @@ namespace NBF
_bindConfigs.Add(rodTele.SubType, rodTele);
_bindConfigs.Add(rodBolo.SubType, rodBolo);
_bindConfigs.Add(rodSpine.SubType, rodSpine);
}
#endregion

View File

@@ -9,7 +9,8 @@ namespace NBF.Utils
{
public static string GetFullModelPath(this ItemConfig config)
{
return Path.Combine("gfx", config.Model);
//Assets/ResRaw/gfx/hooks/alliance/c_hook_20789_20794/c_hook_20789.prefab
return $"Assets/ResRaw/gfx/{config.Model}.prefab"; //Path.Combine("Assets/ResRaw/gfx", config.Model);
}
public static ItemType GetItemType(this uint id)

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: dcae353a013f4bd8bd4818abbcbe6959
timeCreated: 1766743259

View File

@@ -0,0 +1,55 @@
using UnityEngine;
namespace NBF
{
public class ReelAnimator : MonoBehaviour
{
public FReel Reel;
private Animator _animator;
#region
private static readonly int ReelingHash = Animator.StringToHash("Reeling");
private static readonly int LineOutHash = Animator.StringToHash("LineOut");
private static readonly int UnlockHash = Animator.StringToHash("Unlock");
private static readonly int LineOutUnlockHash = Animator.StringToHash("LineOutUnlock");
public float Reeling
{
get => _animator.GetFloat(ReelingHash);
set => _animator.SetFloat(ReelingHash, value);
}
public float Reeling2
{
get => _animator.GetFloat(ReelingHash);
set => _animator.SetFloat(ReelingHash, value);
}
public float LineOut
{
get => _animator.GetFloat(LineOutHash);
set => _animator.SetFloat(LineOutHash, value);
}
public bool Unlock
{
get => _animator.GetBool(UnlockHash);
set => _animator.SetBool(UnlockHash, value);
}
public bool LineOutUnlock
{
get => _animator.GetBool(LineOutUnlockHash);
set => _animator.SetBool(LineOutUnlockHash, value);
}
#endregion
private void Awake()
{
_animator = GetComponent<Animator>();
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: dad5b24d68464595b58a0d8fea28a10b
timeCreated: 1766743262

View File

@@ -31,8 +31,6 @@ namespace NBF
mapId = 99;
}
// var root = Game.Main;
var response = (G2C_EnterMapResponse)await Net.Call(new C2G_EnterMapRequest()
{
MapId = mapId,

View File

@@ -0,0 +1,33 @@
using System;
using UnityEngine;
namespace NBF
{
public class FixedLine : MonoBehaviour
{
public Transform target;
private Rigidbody _rigidbody;
private void Awake()
{
_rigidbody = GetComponent<Rigidbody>();
}
private void LateUpdate()
{
// FixLine();
}
private void FixedUpdate()
{
FixLine();
}
private void FixLine()
{
if (!target) return;
_rigidbody.MovePosition(target.position);
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ec22ad0246c24123a6511e60e753ee38
timeCreated: 1766586205

View File

@@ -1,9 +0,0 @@
using UnityEngine;
namespace NBF
{
public class FLure : MonoBehaviour
{
}
}

View File

@@ -1,8 +0,0 @@
using UnityEngine;
namespace NBF
{
public class FReel : MonoBehaviour
{
}
}

View File

@@ -1,8 +0,0 @@
using UnityEngine;
namespace NBF
{
public class FRod : MonoBehaviour
{
}
}

View File

@@ -1,223 +0,0 @@
using System.Collections;
using Fantasy;
using UnityEngine;
namespace NBF
{
/// <summary>
/// 钓组
/// </summary>
public class FTackle : MonoBehaviour
{
private ItemInfo _itemInfo;
public static FTackle Create(ItemInfo itemInfo)
{
var root = SceneSettings.Instance.GearNode;
var obj = new GameObject($"Rod_{itemInfo.ConfigId}").AddComponent<FTackle>();
obj.transform.SetParent(root.transform);
obj.transform.localPosition = Vector3.zero;
obj.transform.localRotation = Quaternion.identity;
obj.transform.localScale = Vector3.one;
return obj;
}
public IEnumerator Show(ItemInfo itemInfo)
{
_itemInfo = itemInfo;
yield return 1;
// var parent = GearParent;
// parent.position = Player.transform.position;
//
// var data = Player.Data.currentGear;
// var rodConfig = data.rod.Config;
// var cloneObj = rodConfig.Instantiate(parent, Vector3.zero, Player.MainArm.RodContainer.rotation);
// if (cloneObj == null)
// {
// yield break;
// }
//
// Rod = cloneObj.GetComponent<FRod>();
// if (Rod == null)
// {
// Rod = cloneObj.AddComponent<FRod>();
// }
//
//
// if (Rod)
// {
// Rod.transform.localPosition = Vector3.zero;
// Rod.transform.rotation = Player.MainArm.RodContainer.rotation;
//
// if (rodConfig.ring > 0)
// {
// var ringConfig = GameRings.Get(rodConfig.ring);
// var ringObject = ringConfig.Instantiate(Rod.transform);
// ringObject.SetActive(false);
// Rod.SetRing(ringObject.GetComponent<RodRingAsset>());
// }
// }
// else
// {
// yield break;
// }
//
// if (data.line != null)
// {
// var linePrefab = data.line.Config.Instantiate(parent);
// Line = linePrefab.GetComponent<FLine>();
// }
//
// if (data.reel != null)
// {
// var reelPrefab = data.reel.Config.Create(parent);
// Reel = reelPrefab.GetComponent<FReel>();
// }
//
// if (data.bobber != null)
// {
// var bobberPrefab = data.bobber.Config.Create(parent);
// Bobber = bobberPrefab.GetComponent<FFloat>();
// }
//
// if (data.hook != null)
// {
// var hookPrefab = data.hook.Config.Create(parent);
// Hook = hookPrefab.GetComponent<FHook>();
// }
//
// if (data.bait != null)
// {
// var baitPrefab = data.bait.Config.Create(parent);
//
// if (baitPrefab.TryGetComponent<FBait>(out var bait))
// {
// Bait = bait;
// }
// }
//
// if (data.lure != null)
// {
// var baitPrefab = data.lure.Config.Create(parent);
// if (baitPrefab.TryGetComponent<FLure>(out var lure))
// {
// Lure = lure;
// }
// }
//
//
// if (data.weight != null)
// {
// var weightPrefab = data.weight.Config.Instantiate(parent);
// Weight = weightPrefab.GetComponent<FWeight>();
// }
//
// Debug.LogError("CreateOrHideGear");
// yield return 1;
// Rod.Initialize(Player, data.rod);
// Rod.CreateFishingHandler();
//
// if (Line)
// {
// Line.Initialize(Player, data.line);
//
//
// if ((bool)Rod.lineHandler.obiRopeSegment_1)
// {
// Rod.lineHandler.obiRopeSegment_1.GetComponent<MeshRenderer>().material =
// Line.lineMat;
// }
//
// if ((bool)Rod.lineHandler.obiRopeSegment_2)
// {
// Rod.lineHandler.obiRopeSegment_2.GetComponent<MeshRenderer>().material =
// Line.lineMat;
// }
//
// if ((bool)Rod.lineHandler.obiRopeSegment_3)
// {
// Rod.lineHandler.obiRopeSegment_3.GetComponent<MeshRenderer>().material =
// Line.lineMat;
// }
// }
//
// if (Reel)
// {
// // Reel.maxReelStrength = data.reel.Config.strength;
// // Reel.reelingSpeed = 0.5f; //slotsEquip.reel.currentSpeed;
// Reel.reelingDrag = 0.699f; //slotsEquip.reel.currentDrag;
// Reel.transform.SetParent(Rod.rodAsset.ReelConnector);
// Reel.transform.localPosition = Vector3.zero;
// Reel.transform.localEulerAngles = Vector3.zero;
// // Reel.reelAsset.szpulaObject.GetComponent<MeshRenderer>().material = Line.szpulaMat;
// Reel.Initialize(Player, data.reel);
// }
//
// if (Bobber)
// {
// Bobber.floatDisplacement = data.bobber.Config.displacement;
// // if ((double)slotsEquip.ffloat.lastSetGroundValue > 0.2)
// // {
// // Bobber.newDeepth = slotsEquip.ffloat.lastSetGroundValue;
// // }
//
// Bobber.newDeepth = 0.5f;
//
// Bobber.Initialize(Player, data.bobber);
// Bobber.transform.position = Rod.lineHandler.LineConnector_1.transform.position;
// Bobber.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
// Rod.lineHandler.LineConnector_1.GetComponent<Rigidbody>();
// }
//
//
// if (Hook)
// {
// Hook.Initialize(Player, data.hook);
//
// Hook.transform.position = Rod.lineHandler.LineConnector_2.transform.position;
// Hook.transform.rotation = Rod.lineHandler.LineConnector_2.transform.rotation; // 确保旋转也同步
// var target = Rod.lineHandler.LineConnector_2.GetComponent<Rigidbody>();
// var joint = Hook.gameObject.GetComponent<ConfigurableJoint>();
// // // 关键设置:关闭自动锚点计算,手动设置锚点
// // joint.autoConfigureConnectedAnchor = false;
// // joint.anchor = Vector3.zero; // 以 Hook 自身中心为锚点
// // joint.connectedAnchor = Vector3.zero; // 以目标物体的中心为锚点
// joint.connectedBody = target;
// // // 强制物理引擎立即更新变换避免1帧延迟
// // Physics.SyncTransforms();
// // joint.autoConfigureConnectedAnchor = false;
// // joint.anchor = Vector3.zero;
// // joint.connectedAnchor = Vector3.zero;
// Rod.LureHookWaterDisplacement = Hook.GetComponent<FWaterDisplacement>();
// }
//
// if (Bait)
// {
// Bait.Initialize(Player, data.bait);
// Bait.transform.position = Hook.hookAsset.baitConnector.position;
// Bait.transform.SetParent(Hook.hookAsset.baitConnector);
// }
//
// if (Lure)
// {
// Lure.Initialize(Player, data.bait);
// Lure.transform.position = Rod.lineHandler.LineConnector_1.transform.position;
// Lure.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
// Rod.lineHandler.LineConnector_1.GetComponent<Rigidbody>();
// Rod.LureHookWaterDisplacement = Lure.GetComponent<FWaterDisplacement>();
// }
//
// if (Weight)
// {
// Weight.weight = data.weight.Config.weight;
// Weight.Initialize(Player, data.weight);
// }
}
public IEnumerator Remove()
{
yield return 1;
}
}
}

View File

@@ -11,6 +11,10 @@ namespace NBF.Fishing2
public static GameObject LoadPrefab(string path, Transform parent = null)
{
var prefab = Assets.Load<GameObject>(path);
if (prefab == null)
{
}
return parent == null ? Object.Instantiate(prefab) : Object.Instantiate(prefab, parent);
}

View File

@@ -26,8 +26,8 @@ namespace NBF
public FPlayerData Data { get; private set; }
public readonly List<FTackle> Tackles = new List<FTackle>();
public FTackle HandTackle { get; private set; }
public readonly List<FRod> Tackles = new List<FRod>();
public FRod HandTackle { get; private set; }
protected override void OnAwake()
{
@@ -75,18 +75,18 @@ namespace NBF
var itemType = item?.ConfigId.GetItemType();
if (itemType == ItemType.Rod)
{
if (HandTackle)
//判断旧的是否要收回
if (HandTackle != null)
{
yield return HandTackle.Remove();
yield return HandTackle.Destroy();
Tackles.Remove(HandTackle);
HandTackle = null;
}
//判断旧的是否要收回
var tackle = FTackle.Create(item);
HandTackle = tackle;
yield return tackle.Show(item);
Tackles.Add(tackle);
HandTackle =
item.Config.InstantiateAndComponent<FRod>(SceneSettings.Instance.GearNode, Vector3.zero, Quaternion.identity);
yield return HandTackle.InitRod(this, item);
Tackles.Add(HandTackle);
}
}

View File

@@ -0,0 +1,12 @@
using UnityEngine;
namespace NBF
{
public class FBait : FGearBase
{
protected override void OnInit()
{
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ed7126c6f37c427e88ba321c63aeac2f
timeCreated: 1766582532

View File

@@ -0,0 +1,12 @@
using UnityEngine;
namespace NBF
{
public class FBobber : FGearBase
{
protected override void OnInit()
{
}
}
}

View File

@@ -2,7 +2,7 @@
namespace NBF
{
public class FHook : MonoBehaviour
public class FFish : MonoBehaviour
{
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d76aeec1876a4df2a93e8e8dcaee30fa
timeCreated: 1766586324

View File

@@ -0,0 +1,33 @@
using Fantasy;
using UnityEngine;
namespace NBF
{
public abstract class FGearBase : MonoBehaviour
{
public FPlayer Player { get; protected set; }
public FRod Rod { get; protected set; }
public ItemInfo ItemInfo;
public HookAsset hookAsset;
private void Awake()
{
hookAsset = GetComponent<HookAsset>();
}
public virtual void Init(FPlayer player, FRod rod)
{
Player = player;
Rod = rod;
OnInit();
}
public void SetItemInfo(ItemInfo itemInfo)
{
ItemInfo = itemInfo;
}
protected abstract void OnInit();
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 708753789f5b41f48b9b18197f54a9df
timeCreated: 1766582740

View File

@@ -2,7 +2,7 @@
namespace NBF
{
public class FBobber : MonoBehaviour
public class FHandItem : MonoBehaviour
{
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5460b0f542fd45e38145b2a4fb12e329
timeCreated: 1766583615

View File

@@ -0,0 +1,12 @@
using UnityEngine;
namespace NBF
{
public class FHook : FGearBase
{
protected override void OnInit()
{
}
}
}

View File

@@ -0,0 +1,12 @@
using UnityEngine;
namespace NBF
{
public class FLine : FGearBase
{
protected override void OnInit()
{
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: c0403ffd74ce46fab8bd4ef057e51432
timeCreated: 1766582567

View File

@@ -0,0 +1,190 @@
using System;
using NBF;
using Obi;
using Unity.VisualScripting;
using UnityEngine;
public class FLineHandler : MonoBehaviour
{
public enum LineType
{
None = 0,
OneSegment = 1,
TwoSegment = 2,
ThereSegment = 3
}
public LineType lineType = LineType.TwoSegment;
public ObiRope obiRopeSegment_1;
public ObiRope obiRopeSegment_2;
public ObiRope obiRopeSegment_3;
public FixedLine LineConnector_0;
public SpringJoint LineConnector_1;
public SpringJoint LineConnector_2;
public SpringJoint LineConnector_3;
// [HideInInspector] public FFishingLine currentRodFishingLineComponent;
// public ObiParticleAttachment toRodConnector;
// public float PhisicsLineOut { get; set; }
public float ObiLineOut;
[HideInInspector] public Rigidbody EndLineRigidbody_0;
[HideInInspector] public Rigidbody EndLineRigidbody_1;
[HideInInspector] public Rigidbody EndLineRigidbody_2;
[HideInInspector] public Rigidbody EndLineRigidbody_3;
// public JointPinchController pinchController;
public FRod Rod;
private Transform waterPlane;
// public float ropeToHookDistance;
void Start()
{
ObiLineOut = obiRopeSegment_1.stretchingScale;
if ((bool)LineConnector_0)
{
EndLineRigidbody_0 = LineConnector_0.GetComponent<Rigidbody>();
}
if ((bool)LineConnector_1)
{
EndLineRigidbody_1 = LineConnector_1.GetComponent<Rigidbody>();
}
if ((bool)LineConnector_2)
{
EndLineRigidbody_2 = LineConnector_2.GetComponent<Rigidbody>();
// var fixedJoint = LineConnector_2.GetComponent<FixedJoint>();
// pinchController = LineConnector_2.gameObject.AddComponent<JointPinchController>();
}
if ((bool)LineConnector_3)
{
EndLineRigidbody_3 = LineConnector_3.GetComponent<Rigidbody>();
}
waterPlane = GameObject.FindGameObjectWithTag("Water").transform;
Debug.LogError($"rope.restLength={obiRopeSegment_1.restLength} LineConnector_1={LineConnector_1.maxDistance}");
}
void Update()
{
if (!Rod) return;
// ropeToHookDistance = Vector3.Distance(toRodConnector.transform.position, LineConnector_1.transform.position);
ObiLineOut = 0.1f + Rod.lineLength;
float target = (0f - Mathf.Clamp(Rod.linelenghtDiferent, -1f, 0f)) * 0.1f;
if (Rod.linelenghtDiferent >= 0f)
{
obiRopeSegment_1.stretchCompliance = Mathf.MoveTowards(obiRopeSegment_1.stretchCompliance, target,
Time.smoothDeltaTime * (1f * Rod.linelenghtDiferent));
}
else
{
obiRopeSegment_1.stretchCompliance = Mathf.MoveTowards(obiRopeSegment_1.stretchCompliance, target,
Time.smoothDeltaTime * 0.1f);
}
if (Rod.lineLength == 0f)
{
obiRopeSegment_1.stretchCompliance = 0f;
}
if ((bool)obiRopeSegment_2)
{
if (!Rod.currentFish)
{
obiRopeSegment_2.stretchCompliance = obiRopeSegment_2.stretchingScale * 0.004f;
}
else
{
obiRopeSegment_2.stretchCompliance = 0f;
}
//TODO:TEST
obiRopeSegment_2.stretchingScale = 0.13F;
}
obiRopeSegment_1.stretchingScale = ObiLineOut;
obiRopeSegment_1.stretchingScale = 1;
LineConnector_1.maxDistance = 0.1f + Rod.lineLength;
if (Input.GetKey(KeyCode.E))
{
// var speed = 1;
// obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
// Debug.Log(obiRopeSegment_1.restLength);
}
// var addLength = LineConnector_1.maxDistance - obiRopeSegment_1.restLength;
// if (Mathf.Abs(addLength) > 0.001f)
// {
// obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
// }
// if (!Mathf.Approximately(LineConnector_1.maxDistance, obiRopeSegment_1.restLength))
// {
// obiRopeCursor_1.ChangeLength(LineConnector_1.maxDistance);
// }
// obiRopeCursor_1.pos
// LineConnector_1.minDistance = LineConnector_1.maxDistance;
}
public void SetSegmentTwoLenght(float lenght)
{
LineConnector_2.maxDistance = lenght;
// obiRopeCursor_2.ChangeLength(lenght);
// LineConnector_2.minDistance = LineConnector_2.maxDistance;
}
private void FixedUpdate()
{
// BindRod();
LineWaterDisplacement();
}
private void BindRod()
{
if (!Rod || !Rod.Asset) return;
LineConnector_0.transform.position = Rod.Asset.lineConnector.position;
}
private void LineWaterDisplacement()
{
if (!waterPlane)
{
return;
}
for (int i = 0; i < obiRopeSegment_1.activeParticleCount; i++)
{
if (obiRopeSegment_1.GetParticlePosition(i).y < waterPlane.position.y)
{
// obiRopeSegment_1.AddForceParticle(i, Vector3.up * 10f, ForceMode.Acceleration);
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 331fde19f47e431092cf5bd57c7bcfe4
timeCreated: 1766586159

View File

@@ -0,0 +1,12 @@
using UnityEngine;
namespace NBF
{
public class FLure : FGearBase
{
protected override void OnInit()
{
}
}
}

View File

@@ -0,0 +1,32 @@
using System.Collections;
using Fantasy;
using UnityEngine;
namespace NBF
{
public class FReel : FGearBase
{
public bool isBlockLineByFinger { get; set; }
[SerializeField] public float reelingDrag = 1f;
public ReelAsset Asset;
public ReelAnimator AnimatorCtrl;
private void Awake()
{
Asset = GetComponent<ReelAsset>();
AnimatorCtrl = Asset.animator.gameObject.GetComponent<ReelAnimator>();
if (AnimatorCtrl == null)
{
AnimatorCtrl = Asset.animator.gameObject.AddComponent<ReelAnimator>();
}
}
protected override void OnInit()
{
}
}
}

View File

@@ -0,0 +1,317 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Fantasy;
using NBC.Asset;
using NBF.Utils;
using Obi;
using UnityEngine;
using Object = UnityEngine.Object;
namespace NBF
{
public class FRod : FHandItem
{
/// <summary>
/// 可用的
/// </summary>
public bool Usable { get; private set; }
public RodAsset Asset;
public FPlayer Player { get; protected set; }
public ItemInfo ItemInfo;
public FReel Reel;
public FHook Hook;
public FBobber Bobber;
public FBait Bait;
public FLure Lure;
public FWeight Weight;
public FLine Line;
/// <summary>
/// 鱼线处理器
/// </summary>
public FLineHandler lineHandler;
public Transform GearRoot;
// public FWaterDisplacement LureHookWaterDisplacement;
[HideInInspector] public FFish currentFish;
public RodRingNode[] rings;
/// <summary>
/// 线长度
/// </summary>
public float lineLength;
public float currentLineTension;
public float linelenghtDiferent;
public float currentLineStrenght;
private void Awake()
{
Asset = GetComponent<RodAsset>();
}
public IEnumerator Destroy()
{
yield return 1;
}
public IEnumerator InitRod(FPlayer player, ItemInfo itemInfo)
{
ItemInfo = itemInfo;
Player = player;
transform.localPosition = Vector3.zero;
transform.localRotation = Quaternion.identity;
transform.localScale = Vector3.one;
yield return 1;
var obj = new GameObject($"rod_{itemInfo.Id}_{itemInfo.ConfigId}");
obj.transform.SetParent(SceneSettings.Instance.GearNode);
// obj.transform.localPosition = Vector3.zero;
obj.transform.position = player.transform.position;
obj.transform.rotation = player.transform.rotation;
obj.transform.localScale = Vector3.one;
GearRoot = obj.transform;
var parent = GearRoot;
CreateFishingHandler();
List<ItemInfo> children = RoleModel.Instance.GetBindItems(itemInfo.Id);
// children.Sort();
foreach (var child in children)
{
var itemType = child.ConfigId.GetItemType();
if (itemType == ItemType.Reel)
{
Reel = child.Config.InstantiateAndComponent<FReel>(Asset.ReelConnector, Vector3.zero,
Quaternion.identity);
Reel.SetItemInfo(child);
}
else if (itemType == ItemType.Bobber)
{
Bobber = child.Config.InstantiateAndComponent<FBobber>(parent, Vector3.zero,
Quaternion.identity);
Bobber.SetItemInfo(child);
}
else if (itemType == ItemType.Hook)
{
Hook = child.Config.InstantiateAndComponent<FHook>(parent, Vector3.zero,
Quaternion.identity);
Hook.SetItemInfo(child);
}
else if (itemType == ItemType.Bait)
{
Bait = child.Config.InstantiateAndComponent<FBait>(parent, Vector3.zero,
Quaternion.identity);
Bait.SetItemInfo(child);
}
else if (itemType == ItemType.Lure)
{
Lure = child.Config.InstantiateAndComponent<FLure>(parent, Vector3.zero,
Quaternion.identity);
Lure.SetItemInfo(child);
}
else if (itemType == ItemType.Weight)
{
Weight = child.Config.InstantiateAndComponent<FWeight>(parent, Vector3.zero,
Quaternion.identity);
Weight.SetItemInfo(child);
}
}
yield return 1;
if (Reel)
{
Reel.reelingDrag = 0.699f;
Reel.transform.SetParent(Asset.ReelConnector);
Reel.transform.localPosition = Vector3.zero;
Reel.transform.localEulerAngles = Vector3.zero;
Reel.Init(player, this);
}
if (Bobber)
{
Bobber.Init(Player, this);
Bobber.transform.position = lineHandler.LineConnector_1.transform.position;
Bobber.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
lineHandler.LineConnector_1.GetComponent<Rigidbody>();
}
if (Hook)
{
Hook.Init(Player, this);
Hook.transform.position = lineHandler.LineConnector_2.transform.position;
Hook.transform.rotation = lineHandler.LineConnector_2.transform.rotation; // 确保旋转也同步
var target = lineHandler.LineConnector_2.GetComponent<Rigidbody>();
var joint = Hook.gameObject.GetComponent<ConfigurableJoint>();
joint.connectedBody = target;
// LureHookWaterDisplacement = Hook.GetComponent<FWaterDisplacement>();
}
if (Bait)
{
Bait.Init(Player, this);
Bait.transform.position = Hook.hookAsset.baitConnector.position;
Bait.transform.SetParent(Hook.hookAsset.baitConnector);
}
if (Lure)
{
Lure.Init(Player, this);
Lure.transform.position = lineHandler.LineConnector_1.transform.position;
Lure.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
lineHandler.LineConnector_1.GetComponent<Rigidbody>();
// LureHookWaterDisplacement = Lure.GetComponent<FWaterDisplacement>();
}
if (Weight)
{
Weight.Init(Player, this);
}
yield return 1; //等待1帧
transform.SetParent(Player.ModelAsset.RodRoot);
transform.localPosition = Vector3.zero;
transform.rotation = Player.ModelAsset.RodRoot.rotation;
Usable = true;
}
public void SetRing(RodRingAsset ringAsset)
{
if (Asset.rings == null || Asset.rings.Length < 1) return;
var trans = ringAsset.rings;
RodRingNode lastRingNode = null;
List<RodRingNode> list = new List<RodRingNode>();
for (int i = 0; i < Asset.rings.Length; i++)
{
var ring = Asset.rings[i];
if (ring == null)
{
Log.Error($"ring is null,index={i}");
continue;
}
var lastName = ring.name.GetLastString();
foreach (var tran in trans)
{
var ringNode = tran.ring;
var lastName2 = ringNode.name.GetLastString();
if (lastName != lastName2) continue;
list.Add(tran);
ringNode.SetParent(ring);
ringNode.localPosition = Vector3.zero;
ringNode.localRotation = Quaternion.identity;
lastRingNode = tran;
break;
}
}
if (lastRingNode != null)
{
Asset.lineConnector = lastRingNode.point;
}
rings = list.ToArray();
}
public void CreateFishingHandler()
{
if (lineHandler == null)
{
Debug.LogError("创建钓组=====");
var rodType = (ItemSubType)ItemInfo.Config.Type;
if (rodType == ItemSubType.RodTele)
{
CreateObiFishingLine(0);
}
else if (rodType == ItemSubType.RodSpine || rodType == ItemSubType.RodBolo)
{
CreateObiFishingLine(1);
}
}
}
public void CreateObiFishingLine(int currentLineTypeIndex)
{
// if ((bool)Owner.Gears.Reel && !currentLineHandler)
if (!lineHandler)
{
var indexNames = new[] { "FFishingLine_0", "FFishingLine_1" };
var path =
$"Assets/ResRaw/Prefabs/{indexNames[currentLineTypeIndex]}.prefab"; //$"GameItemsPrefabs/Lines/{indexNames[currentLineTypeIndex]}";
var prefab = Assets.Load<GameObject>(path);
// var toRodConnector = rodAsset.lineConnector.GetComponent<Rigidbody>();
GameObject obj = Instantiate(prefab, GearRoot.position, Quaternion.identity, GearRoot);
lineHandler = obj.GetComponent<FLineHandler>();
// lineHandler.transform.SetParent(toRodConnector.transform);
lineHandler.transform.position = Asset.lineConnector.position;
lineHandler.LineConnector_0.target = Asset.lineConnector; //.GetComponent<Rigidbody>();
// lineHandler.toRodConnector.target = rodAsset.lineConnector;
lineHandler.Rod = this;
// var obiSolver = lineHandler.GetComponent<ObiSolver>();
// SceneSettings.Instance.obiFixedUpdater.solvers.Add(obiSolver);
}
}
public void RenderLine()
{
if (!lineHandler)
{
return;
}
if (!Reel) return;
if (!Asset.lineRenderer) return;
// var reel = Reel;
// int num = 0;
// bool isBlockLineByFinger = reel.isBlockLineByFinger;
// if (reel.AnimatorCtrl.Unlock && isBlockLineByFinger && reel.reelAsset.type == ReelAsset.Type.Normal)
// {
// Asset.lineRenderer.positionCount = rings.Length + 3;
// }
// else
// {
// Asset.lineRenderer.positionCount = rings.Length + 2;
// }
//
// Asset.lineRenderer.SetPosition(num, reel.reelAsset.lineIntersectHelper.position);
// num++;
// if (reel.AnimatorCtrl.Unlock && reel.reelAsset.type == ReelAsset.Type.Normal)
// {
// Asset.lineRenderer.SetPosition(num, reel.reelAsset.lineIntersect.position);
// num++;
// if (isBlockLineByFinger)
// {
// // Asset.lineRenderer.SetPosition(num, reel.reelAsset.lineFingerPoint.position);
// // num++;
// }
// }
// else
// {
// Asset.lineRenderer.SetPosition(num, reel.reelAsset.lineConnector.position);
// num++;
// }
//
// for (int num2 = 0; num2 < rings.Length; num2++)
// {
// Asset.lineRenderer.SetPosition(num, rings[num2].point.position);
// num++;
// }
}
}
}

View File

@@ -0,0 +1,233 @@
// using System.Collections;
// using Fantasy;
// using UnityEngine;
//
// namespace NBF
// {
// /// <summary>
// /// 虚拟钓组
// /// </summary>
// public class FVirtualTackle
// {
// private ItemInfo _itemInfo;
// private FPlayer _player;
//
//
// public FRod Rod;
//
//
// public FVirtualTackle(ItemInfo itemInfo, FPlayer player)
// {
// _itemInfo = itemInfo;
// _player = player;
// }
//
// public IEnumerator Create()
// {
// var parent = _player.transform;
// // parent.position = _player.transform.position;
//
//
// Rod = _itemInfo.Config.InstantiateAndComponent<FRod>(parent, Vector3.zero, Quaternion.identity);
//
//
// // var rodObject = _itemInfo.Config.Instantiate(parent, Vector3.zero, Quaternion.identity);
// // Rod = rodObject.GetComponent<FRod>();
// // if (Rod == null)
// // {
// // Rod = rodObject.AddComponent<FRod>();
// // }
// // var rodConfig = RodConfig.Get(itemInfo.ConfigId);
// // itemInfo.Config
//
// // var data = Player.Data.currentGear;
// // var rodConfig = data.rod.Config;
// // var cloneObj = rodConfig.Instantiate(parent, Vector3.zero, Player.MainArm.RodContainer.rotation);
// // if (cloneObj == null)
// // {
// // yield break;
// // }
// //
// // Rod = cloneObj.GetComponent<FRod>();
// // if (Rod == null)
// // {
// // Rod = cloneObj.AddComponent<FRod>();
// // }
// //
// //
// // if (Rod)
// // {
// // Rod.transform.localPosition = Vector3.zero;
// // Rod.transform.rotation = Player.MainArm.RodContainer.rotation;
// //
// // if (rodConfig.ring > 0)
// // {
// // var ringConfig = GameRings.Get(rodConfig.ring);
// // var ringObject = ringConfig.Instantiate(Rod.transform);
// // ringObject.SetActive(false);
// // Rod.SetRing(ringObject.GetComponent<RodRingAsset>());
// // }
// // }
// // else
// // {
// // yield break;
// // }
// //
// // if (data.line != null)
// // {
// // var linePrefab = data.line.Config.Instantiate(parent);
// // Line = linePrefab.GetComponent<FLine>();
// // }
// //
// // if (data.reel != null)
// // {
// // var reelPrefab = data.reel.Config.Create(parent);
// // Reel = reelPrefab.GetComponent<FReel>();
// // }
// //
// // if (data.bobber != null)
// // {
// // var bobberPrefab = data.bobber.Config.Create(parent);
// // Bobber = bobberPrefab.GetComponent<FFloat>();
// // }
// //
// // if (data.hook != null)
// // {
// // var hookPrefab = data.hook.Config.Create(parent);
// // Hook = hookPrefab.GetComponent<FHook>();
// // }
// //
// // if (data.bait != null)
// // {
// // var baitPrefab = data.bait.Config.Create(parent);
// //
// // if (baitPrefab.TryGetComponent<FBait>(out var bait))
// // {
// // Bait = bait;
// // }
// // }
// //
// // if (data.lure != null)
// // {
// // var baitPrefab = data.lure.Config.Create(parent);
// // if (baitPrefab.TryGetComponent<FLure>(out var lure))
// // {
// // Lure = lure;
// // }
// // }
// //
// //
// // if (data.weight != null)
// // {
// // var weightPrefab = data.weight.Config.Instantiate(parent);
// // Weight = weightPrefab.GetComponent<FWeight>();
// // }
// //
// // Debug.LogError("CreateOrHideGear");
// // yield return 1;
// // Rod.Initialize(Player, data.rod);
// // Rod.CreateFishingHandler();
// //
// // if (Line)
// // {
// // Line.Initialize(Player, data.line);
// //
// //
// // if ((bool)Rod.lineHandler.obiRopeSegment_1)
// // {
// // Rod.lineHandler.obiRopeSegment_1.GetComponent<MeshRenderer>().material =
// // Line.lineMat;
// // }
// //
// // if ((bool)Rod.lineHandler.obiRopeSegment_2)
// // {
// // Rod.lineHandler.obiRopeSegment_2.GetComponent<MeshRenderer>().material =
// // Line.lineMat;
// // }
// //
// // if ((bool)Rod.lineHandler.obiRopeSegment_3)
// // {
// // Rod.lineHandler.obiRopeSegment_3.GetComponent<MeshRenderer>().material =
// // Line.lineMat;
// // }
// // }
// //
// // if (Reel)
// // {
// // // Reel.maxReelStrength = data.reel.Config.strength;
// // // Reel.reelingSpeed = 0.5f; //slotsEquip.reel.currentSpeed;
// // Reel.reelingDrag = 0.699f; //slotsEquip.reel.currentDrag;
// // Reel.transform.SetParent(Rod.rodAsset.ReelConnector);
// // Reel.transform.localPosition = Vector3.zero;
// // Reel.transform.localEulerAngles = Vector3.zero;
// // // Reel.reelAsset.szpulaObject.GetComponent<MeshRenderer>().material = Line.szpulaMat;
// // Reel.Initialize(Player, data.reel);
// // }
// //
// // if (Bobber)
// // {
// // Bobber.floatDisplacement = data.bobber.Config.displacement;
// // // if ((double)slotsEquip.ffloat.lastSetGroundValue > 0.2)
// // // {
// // // Bobber.newDeepth = slotsEquip.ffloat.lastSetGroundValue;
// // // }
// //
// // Bobber.newDeepth = 0.5f;
// //
// // Bobber.Initialize(Player, data.bobber);
// // Bobber.transform.position = Rod.lineHandler.LineConnector_1.transform.position;
// // Bobber.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
// // Rod.lineHandler.LineConnector_1.GetComponent<Rigidbody>();
// // }
// //
// //
// // if (Hook)
// // {
// // Hook.Initialize(Player, data.hook);
// //
// // Hook.transform.position = Rod.lineHandler.LineConnector_2.transform.position;
// // Hook.transform.rotation = Rod.lineHandler.LineConnector_2.transform.rotation; // 确保旋转也同步
// // var target = Rod.lineHandler.LineConnector_2.GetComponent<Rigidbody>();
// // var joint = Hook.gameObject.GetComponent<ConfigurableJoint>();
// // // // 关键设置:关闭自动锚点计算,手动设置锚点
// // // joint.autoConfigureConnectedAnchor = false;
// // // joint.anchor = Vector3.zero; // 以 Hook 自身中心为锚点
// // // joint.connectedAnchor = Vector3.zero; // 以目标物体的中心为锚点
// // joint.connectedBody = target;
// // // // 强制物理引擎立即更新变换避免1帧延迟
// // // Physics.SyncTransforms();
// // // joint.autoConfigureConnectedAnchor = false;
// // // joint.anchor = Vector3.zero;
// // // joint.connectedAnchor = Vector3.zero;
// // Rod.LureHookWaterDisplacement = Hook.GetComponent<FWaterDisplacement>();
// // }
// //
// // if (Bait)
// // {
// // Bait.Initialize(Player, data.bait);
// // Bait.transform.position = Hook.hookAsset.baitConnector.position;
// // Bait.transform.SetParent(Hook.hookAsset.baitConnector);
// // }
// //
// // if (Lure)
// // {
// // Lure.Initialize(Player, data.bait);
// // Lure.transform.position = Rod.lineHandler.LineConnector_1.transform.position;
// // Lure.gameObject.GetComponent<ConfigurableJoint>().connectedBody =
// // Rod.lineHandler.LineConnector_1.GetComponent<Rigidbody>();
// // Rod.LureHookWaterDisplacement = Lure.GetComponent<FWaterDisplacement>();
// // }
// //
// // if (Weight)
// // {
// // Weight.weight = data.weight.Config.weight;
// // Weight.Initialize(Player, data.weight);
// // }
// }
//
// public IEnumerator Destroy()
// {
// yield return 1;
// }
// }
// }

View File

@@ -0,0 +1,12 @@
using UnityEngine;
namespace NBF
{
public class FWeight : FGearBase
{
protected override void OnInit()
{
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a68c58e07092402dbc37a5f287e70b9b
timeCreated: 1766582543

View File

@@ -35,8 +35,8 @@ namespace Fantasy
public const uint C2G_LoginRequest = 268445460;
public const uint G2C_LoginResponse = 402663188;
public const uint G2C_RepeatLogin = 134227729;
public const uint C2Game_GetRoleInfoRequest = 2281711387;
public const uint Game2C_GetRoleInfoResponse = 2415929115;
public const uint C2Game_GetRoleInfoRequest = 2281711386;
public const uint Game2C_GetRoleInfoResponse = 2415929114;
public const uint Map2C_RoleEnterRoomNotify = 2147493653;
public const uint Map2C_RoleExitRoomNotify = 2147493654;
public const uint C2Map_TakeItemRequest = 2281711388;

View File

@@ -95,8 +95,8 @@ namespace NBF
// var role = Game.Main.GetComponent<Role>();
// var roleBag = role.GetComponent<RoleBag>();
// List<object> items = roleBag.GetItemListData();
// List.SetListData(items);
List<object> items = RoleModel.Instance.GetItemListData(_itemTypes.ToArray());
List.SetListData(items);
}
}
}

View File

@@ -94,7 +94,8 @@ namespace NBF
if (context.data is BagSlotItem bagSlotItem)
{
_lastSelectedItem = bagSlotItem.Index;
BagSelectPanel.Show(SelectCallback, ItemType.Rod, ItemType.Bobber, ItemType.Reel);
BagSelectPanel.Show(SelectCallback, ItemType.Rod, ItemType.Bobber, ItemType.Reel, ItemType.Bait,
ItemType.Hook, ItemType.Line, ItemType.Lure);
}
}

View File

@@ -30,11 +30,9 @@ namespace NBF
public void SetInfo(ItemInfo itemInfo)
{
_usedItems.Clear();
// var role = Game.Main.GetComponent<Role>();
// _bag = role.GetComponent<RoleBag>();
Info = itemInfo;
// _bindItems = _bag.GetBindItems(Info.Id);
_bindItems = RoleModel.Instance.GetBindItems(Info.Id);
var types = itemInfo.GetBindConfig();
List.RemoveChildrenToPool();
if (types != null)
@@ -87,12 +85,12 @@ namespace NBF
{
if (_lastSelectedItem == null) return;
Log.Info($"选中id={selectId}");
// _bag.AddRig(Info.Id, selectId, _lastSelectedItem.RigId).OnCompleted(ChangeInfo);
RoleModel.Instance.AddRig(Info.Id, selectId, _lastSelectedItem.RigId).OnCompleted(ChangeInfo);
}
private void CloseCallback(long id, long removeId)
{
// _bag.RemoveRig(Info.Id, removeId).OnCompleted(ChangeInfo);
RoleModel.Instance.RemoveRig(Info.Id, removeId).OnCompleted(ChangeInfo);
}
private void ChangeInfo()

View File

@@ -27,7 +27,7 @@ namespace NBF
bool _cacheTexture;
// Vector3 _rotating;
const int RENDER_LAYER = 0;
const int RENDER_LAYER = 22;
const int HIDDEN_LAYER = 10;
public ModelViewRenderImage(GGraph holder)

View File

@@ -35,6 +35,7 @@ namespace NBF
// BagPanel.Show();
// BagSlotPanel.Show();
// FishingShopPanel.Show();
Del();