最新制作提交

This commit is contained in:
高铎 2025-10-10 17:30:07 +08:00
parent 644eb7c63b
commit 31c09e674d
158 changed files with 124128 additions and 6393 deletions

View File

@ -12,7 +12,7 @@ public class ObjectVisit : MonoBehaviour
private void OnWillRenderObject()
{
isVisit = true;
Debug.Log("可见");
//Debug.Log("可见");
}
// Update is called once per frame

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,147 @@
fileFormatVersion: 2
guid: e7869cec7e7e9a847816793fdd0df1ea
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,147 @@
fileFormatVersion: 2
guid: 2fc98821d02574746b2397669a6ef638
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0af47896719e4a2419207b95a4d001db
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4cc0d0c976855f946b9295474e069ee4
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4ad1919ae2d52e542ab869b91269fdfc
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 6de0085863a9a3a4eb084024943b88c4
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1 +1 @@
[{"id":1,"name":"妇产情境化实训平台","texture":"","scene":"Main","nameSpace":"YiLiao.Main","fsmManager":"","fsmClassPath":"","folder":"Main"},{"id":2,"name":"四步触诊法","texture":"SiBuChuZhen/Textures/四步触诊|SiBuChuZhen/Textures/四步触诊-hover","scene":"JingLuoXueWei","nameSpace":"YiLiao.SiBuChuZhen","fsmManager":"FSMManager","fsmClassPath":"_Scripts/Application/SiBuChuZhen/","folder":"SiBuChuZhen"}]
[{"id":1,"name":"妇产情境化实训平台","texture":"","scene":"Main","nameSpace":"YiLiao.Main","fsmManager":"","fsmClassPath":"","folder":"Main"},{"id":2,"name":"四步触诊法","texture":"SiBuChuZhen/Textures/四步触诊|SiBuChuZhen/Textures/四步触诊-hover","scene":"JingLuoXueWei","nameSpace":"YiLiao.JingLuoXueWei","fsmManager":"FSMManager","fsmClassPath":"_Scripts/Application/JingLuoXueWei/","folder":"JingLuoXueWei"}]

View File

@ -0,0 +1,241 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &7641545707205651302
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7641545707205651303}
- component: {fileID: 7641545707205651301}
- component: {fileID: 7641545707205651300}
m_Layer: 6
m_Name: Text (Legacy)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7641545707205651303
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545707205651302}
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: 7641545708282006783}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7641545707205651301
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545707205651302}
m_CullTransparentMesh: 1
--- !u!114 &7641545707205651300
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545707205651302}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 60ee95c36778d1e45be2c34febf3bae9, type: 3}
m_FontSize: 40
m_FontStyle: 3
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u80BA\u7ECF"
--- !u!1 &7641545708282006782
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7641545708282006783}
- component: {fileID: 7641545708282006771}
- component: {fileID: 7641545708282006770}
- component: {fileID: 7641545708282006781}
- component: {fileID: 7641545708282006780}
- component: {fileID: -1681169713246339215}
m_Layer: 6
m_Name: SmallBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7641545708282006783
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545708282006782}
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: 7641545707205651303}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 76, y: -30}
m_SizeDelta: {x: 152, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7641545708282006771
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545708282006782}
m_CullTransparentMesh: 1
--- !u!114 &7641545708282006770
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545708282006782}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 33a0a81b15621a8419f50cc9d464c32f, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7641545708282006781
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545708282006782}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 2
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 21300000, guid: d17a621d34e45ac46bb3fa9ab54d2b18,
type: 3}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 7641545708282006770}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &7641545708282006780
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545708282006782}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: 152
m_MinHeight: 60
m_PreferredWidth: 152
m_PreferredHeight: 60
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!114 &-1681169713246339215
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7641545708282006782}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07faecfd079d0d849ae36d57a1111e00, type: 3}
m_Name:
m_EditorClassIdentifier:
img: {fileID: 21300000, guid: 33a0a81b15621a8419f50cc9d464c32f, type: 3}
hoverImg: {fileID: 21300000, guid: d17a621d34e45ac46bb3fa9ab54d2b18, type: 3}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 325823a63dace7a4bb38abe5269d5fbd
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a1435fb7d7b900b4a8614ed0685160fe
guid: f38fd2e410a3c2f42851065cbd03d5e2
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a56b0e9973882ad43aac155a77c1505b
guid: bce0439848b35964886d98b69d00ac26
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b37f04adb33a76c45bdcbe30ca03e781
guid: 1f74285d25d14dd4aacdb5cd851c89ab
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cbcc49c54bb40834cbcdc41a5c04162c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 42c2a3a14a905cd4f97038b6fba345c7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 17fae991b7de9cb40bce2c9ead992d4e
guid: cb187d062c1a62646a99e9028c08e987
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d55ec7c048eaf0d46a39cde9c3b46723
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1 @@
[{"id":1,"name":"诊断","childName":"","owner":"1","isBtn":"True","modeType":"KaoHe","txt":"","sound":"","obj":"","state":"ZhenDuan_1_State","vr_hand_materials":"","answerObj":"","score":"","score_sx":"10","sound_kaohe":"","txt_kaohe":"","type":"临床思维"},{"id":2,"name":"环境","childName":"","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"周亭30岁。妊娠24周末宫内单活胎请为该孕妇行四步触诊法检查。","sound":"","obj":"","state":"BingLiState","vr_hand_materials":"0","answerObj":"","score":"","score_sx":"","sound_kaohe":"","txt_kaohe":"","type":"临床思维"},{"id":3,"name":"实施准备","childName":"","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"实施准备","sound":"","obj":"衣服","state":"ShiShiZhunBeiState","vr_hand_materials":"0","answerObj":"","score":"","score_sx":"10","sound_kaohe":"","txt_kaohe":"","type":"实施准备"},{"id":4,"name":"腹部视诊","childName":"","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"腹部视诊","sound":"","obj":"俯视箭头|侧视箭头|俯视视角|侧视视角","state":"FuBuShiZhenState","vr_hand_materials":"0","answerObj":"俯视箭头|侧视箭头","score":"5|5","score_sx":"10","sound_kaohe":"","txt_kaohe":"请查看俯视视角|请查看侧视视角","type":"实施过程"},{"id":5,"name":"测量宫高","childName":"","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"测量宫高","sound":"","obj":"软尺|腹部最高点|耻骨联合上缘","state":"CeLiangGongGaoState","vr_hand_materials":"0","answerObj":"软尺","score":"5","score_sx":"10","sound_kaohe":"","txt_kaohe":"请使用软尺","type":"实施过程"},{"id":6,"name":"测量腹维","childName":"","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"测量腹维","sound":"","obj":"软尺位置","state":"CeLiangFuWeiState","vr_hand_materials":"0","answerObj":"","score":"","score_sx":"5","sound_kaohe":"","txt_kaohe":"","type":"实施过程"},{"id":7,"name":"体重估计","childName":"","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"胎儿体重约为840克","sound":"SiBuChuZhen/Sounds/SX/胎儿体重","obj":"","state":"TiZhongGuJiState","vr_hand_materials":"0","answerObj":"","score":"","score_sx":"5","sound_kaohe":"","txt_kaohe":"","type":"实施过程"},{"id":8,"name":"四步触诊法","childName":"第一步","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"第一步:判断宫底高度、宫底部的胎儿部分","sound":"SiBuChuZhen/Sounds/SX/第一步","obj":"孕妇头部|宫底处|婴儿","state":"SiBuChuZhenFaState","vr_hand_materials":"0","answerObj":"宫底处","score":"5","score_sx":"10","sound_kaohe":"","txt_kaohe":"请把手放在宫底处","type":"实施过程"},{"id":9,"name":"四步触诊法","childName":"第二步","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"第二步:分辨胎背及四肢的位置","sound":"SiBuChuZhen/Sounds/SX/第二步","obj":"第二步箭头|左手|右手|第二步箭头2|左手按下|右手按下","state":"DiErBuState","vr_hand_materials":"0","answerObj":"右手","score":"5","score_sx":"10","sound_kaohe":"","txt_kaohe":"请把手放在腹部两侧","type":"实施过程"},{"id":10,"name":"四步触诊法","childName":"第三步","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"第三步:了解胎先露及先露是否衔接","sound":"SiBuChuZhen/Sounds/SX/第三步","obj":"右手掌","state":"DiSanBuState","vr_hand_materials":"0","answerObj":"右手掌","score":"5","score_sx":"10","sound_kaohe":"","txt_kaohe":"请将右手置于趾骨联合上方","type":"实施过程"},{"id":11,"name":"四步触诊法","childName":"第四步","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"第四步:核对先露部及入盆程度","sound":"SiBuChuZhen/Sounds/SX/第四步","obj":"孕妇足部|双手掌3","state":"DiSiBuState","vr_hand_materials":"0","answerObj":"双手掌3","score":"5","score_sx":"10","sound_kaohe":"","txt_kaohe":"请把手置于胎头两侧","type":"实施过程"},{"id":12,"name":"四步触诊法","childName":"操作后嘱咐","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"操作后嘱咐","sound":"","obj":"","state":"CaoZuoHouZhuFuState","vr_hand_materials":"0","answerObj":"","score":"","score_sx":"5","sound_kaohe":"","txt_kaohe":"","type":"人文关怀"},{"id":13,"name":"听诊胎心","childName":"","owner":"1","isBtn":"True","modeType":"KaoHe|ShiXun","txt":"现在开始听诊胎心","sound":"","obj":"胎心监护仪|胎心监护仪2|胎心监护仪2位置","state":"TingZhenTaiXinState","vr_hand_materials":"0","answerObj":"胎心监护仪","score":"5","score_sx":"5","sound_kaohe":"","txt_kaohe":"请使用胎心监护仪","type":"实施过程"}]

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 775ec3597cefba04fb136d75ac6a6b0c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 92164277e1612fa478495d89f56c02ff
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0a08c12670409274a93ff47b6c243c4c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1 @@
[{"id":1,"Chinese":"四步触诊法","English":"","Japanese":"","French":""},{"id":2,"Chinese":"本次用时:","English":"","Japanese":"","French":""},{"id":3,"Chinese":"综合得分:","English":"","Japanese":"","French":""},{"id":4,"Chinese":"提示","English":"","Japanese":"","French":""},{"id":5,"Chinese":"确认","English":"","Japanese":"","French":""},{"id":6,"Chinese":"取消","English":"","Japanese":"","French":""},{"id":7,"Chinese":"病例选择","English":"","Japanese":"","French":""},{"id":8,"Chinese":"病例1","English":"","Japanese":"","French":""},{"id":9,"Chinese":"病例2","English":"","Japanese":"","French":""},{"id":10,"Chinese":"","English":"","Japanese":"","French":""},{"id":11,"Chinese":"习题","English":"","Japanese":"","French":""},{"id":12,"Chinese":"提交","English":"","Japanese":"","French":""},{"id":13,"Chinese":"下一步","English":"","Japanese":"","French":""},{"id":14,"Chinese":"考核结果","English":"","Japanese":"","French":""},{"id":15,"Chinese":"序号","English":"","Japanese":"","French":""},{"id":16,"Chinese":"步骤","English":"","Japanese":"","French":""},{"id":17,"Chinese":"分值","English":"","Japanese":"","French":""},{"id":18,"Chinese":"得分","English":"","Japanese":"","French":""},{"id":19,"Chinese":"习题","English":"","Japanese":"","French":""},{"id":20,"Chinese":"关闭","English":"","Japanese":"","French":""},{"id":21,"Chinese":"习题解析","English":"","Japanese":"","French":""},{"id":22,"Chinese":"软件说明","English":"","Japanese":"","French":""},{"id":23,"Chinese":"操作说明","English":"","Japanese":"","French":""},{"id":24,"Chinese":"实训结束","English":"","Japanese":"","French":""},{"id":25,"Chinese":"您已完成所有实训,您是最棒的!","English":"","Japanese":"","French":""},{"id":26,"Chinese":"你要退出吗?","English":"","Japanese":"","French":""},{"id":27,"Chinese":"加载中","English":"","Japanese":"","French":""},{"id":28,"Chinese":"胃管置入术是为了实现胃肠减压;或者不能经口进食者,经胃管直接向胃中灌入以保证营养供应、水分摄入和药物使用。","English":"","Japanese":"","French":""},{"id":29,"Chinese":"范女士25岁。因妊娠8周自愿要求终止妊娠入院无禁忌证已进行常规检查排空膀胱。请为患者行负压吸宫术。。","English":"","Japanese":"","French":""},{"id":30,"Chinese":"好的。","English":"","Japanese":"","French":""},{"id":31,"Chinese":"您好,鼻饲液已注入胃内,您密切观察患者反应,有任何情况请及时与我沟通。","English":"","Japanese":"","French":""},{"id":32,"Chinese":"好的。","English":"","Japanese":"","French":""},{"id":33,"Chinese":"1号床家属您好我是您爱人的主管护士由于患者病情的需要现在需要进行向胃管内注入液体的操作过程中会有一些不适感还请您理解。","English":"","Japanese":"","French":""},{"id":34,"Chinese":"科别:神经内科 姓名:霍起 性别:男 年龄23岁 血型A型 床号1床","English":"","Japanese":"","French":""},{"id":35,"Chinese":"韦先生,您好!我是您的主管护士,由于您病情的需要,现在需要进行插胃管,胃肠减压的操作,过程中会有一些不适感,还请您理解。","English":"","Japanese":"","French":""},{"id":36,"Chinese":"科别:消化内科 姓名:韦某 性别:男 年龄62岁 血型A型 床号1床","English":"","Japanese":"","French":""},{"id":37,"Chinese":"韦先生,插胃管进行胃肠减压的操作已经完毕,有任何不适,随时与我沟通。","English":"","Japanese":"","French":""},{"id":38,"Chinese":"诊断","English":"","Japanese":"","French":""},{"id":39,"Chinese":"请为患者诊断,并选择合适的治疗方式。","English":"","Japanese":"","French":""},{"id":40,"Chinese":"开始考核","English":"","Japanese":"","French":""},{"id":41,"Chinese":"","English":"","Japanese":"","French":""},{"id":42,"Chinese":"","English":"","Japanese":"","French":""},{"id":43,"Chinese":"","English":"","Japanese":"","French":""},{"id":44,"Chinese":"","English":"","Japanese":"","French":""},{"id":45,"Chinese":"","English":"","Japanese":"","French":""}]

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b60a83133cf1e184cadf424f86689618
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 80e0a03904ca2d04a8904faef96331d1
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1 @@
[{"id":1,"state":"ZhenDuan_1_State","trigger":"NextStateTrigger>BingLiState|CountdownEndTrigger>KaoHeJieGuoState","remark":"诊断"},{"id":2,"state":"BingLiState","trigger":"NextStateTrigger>ShiShiZhunBeiState|CountdownEndTrigger>KaoHeJieGuoState","remark":"病例播报"},{"id":3,"state":"ShiShiZhunBeiState","trigger":"NextStateTrigger>FuBuShiZhenState|CountdownEndTrigger>KaoHeJieGuoState","remark":"实施准备"},{"id":4,"state":"FuBuShiZhenState","trigger":"NextStateTrigger>CeLiangGongGaoState|CountdownEndTrigger>KaoHeJieGuoState","remark":"腹部视诊"},{"id":5,"state":"CeLiangGongGaoState","trigger":"NextStateTrigger>CeLiangFuWeiState|CountdownEndTrigger>KaoHeJieGuoState","remark":"测量宫高"},{"id":6,"state":"CeLiangFuWeiState","trigger":"NextStateTrigger>TiZhongGuJiState|CountdownEndTrigger>KaoHeJieGuoState","remark":"测量腹维"},{"id":7,"state":"TiZhongGuJiState","trigger":"NextStateTrigger>SiBuChuZhenFaState|CountdownEndTrigger>KaoHeJieGuoState","remark":"体重估计"},{"id":8,"state":"SiBuChuZhenFaState","trigger":"NextStateTrigger>DiErBuState|CountdownEndTrigger>KaoHeJieGuoState","remark":"四步触诊法"},{"id":9,"state":"DiErBuState","trigger":"NextStateTrigger>DiSanBuState|CountdownEndTrigger>KaoHeJieGuoState","remark":"四步触诊法"},{"id":10,"state":"DiSanBuState","trigger":"NextStateTrigger>DiSiBuState|CountdownEndTrigger>KaoHeJieGuoState","remark":"四步触诊法"},{"id":11,"state":"DiSiBuState","trigger":"NextStateTrigger>CaoZuoHouZhuFuState|CountdownEndTrigger>KaoHeJieGuoState","remark":"四步触诊法"},{"id":12,"state":"CaoZuoHouZhuFuState","trigger":"NextStateTrigger>TingZhenTaiXinState|CountdownEndTrigger>KaoHeJieGuoState","remark":"四步触诊法"},{"id":13,"state":"TingZhenTaiXinState","trigger":"NextStateTrigger>KaoHeJieGuoState","remark":"听诊胎心"},{"id":0,"state":"KaoHeJieGuoState","trigger":"","remark":"考核结果"}]

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4bdecf0fd9cee1e479a6f47fd9b56279
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d8cbcbdcaebf93741ba3b8627ce2ef95
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: af96b4dd9fb47104a84e61ad1add7388
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1 +1 @@
[{"id":1,"name":"妇产情境化实训平台","texture":"","scene":"Main","nameSpace":"YiLiao.Main","fsmManager":"","fsmClassPath":"","folder":"Main"},{"id":2,"name":"四步触诊法","texture":"SiBuChuZhen/Textures/四步触诊|SiBuChuZhen/Textures/四步触诊-hover","scene":"JingLuoXueWei","nameSpace":"YiLiao.SiBuChuZhen","fsmManager":"FSMManager","fsmClassPath":"_Scripts/Application/SiBuChuZhen/","folder":"SiBuChuZhen"}]
[{"id":1,"name":"妇产情境化实训平台","texture":"","scene":"Main","nameSpace":"YiLiao.Main","fsmManager":"","fsmClassPath":"","folder":"Main"},{"id":2,"name":"四步触诊法","texture":"SiBuChuZhen/Textures/四步触诊|SiBuChuZhen/Textures/四步触诊-hover","scene":"JingLuoXueWei","nameSpace":"YiLiao.JingLuoXueWei","fsmManager":"FSMManager","fsmClassPath":"_Scripts/Application/JingLuoXueWei/","folder":"JingLuoXueWei"}]

View File

@ -2,7 +2,7 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using YiLiao.SiBuChuZhen;
using YiLiao.JingLuoXueWei;
using ZXKFramework;
namespace SuperScrollView

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2b1eaa4f855cd874f9558e1e3a406d71
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 553754131009564408c1c5c4529f046d
guid: f140a8b955f5f814c930adc03f2283ef
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@

namespace YiLiao.SiBuChuZhen
namespace YiLiao.JingLuoXueWei
{
public class BaseData
{

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4d3cb2f0eb39c684e8f1ae3b4e20277b
guid: 3f6048ce5e8a7534498e2a659dc61d65
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,11 +1,13 @@

using System.Collections;
using System.Collections.Generic;
namespace YiLiao.SiBuChuZhen
namespace YiLiao.JingLuoXueWei
{
public class ExcelData
{
public List<BaseData> allBaseData = null;
public List<JingLuoBig> allJingLuoBig = null;
public List<JingLuoSmall> allJingLuoSmall = null;
public List<LanguageData> allLanguageData = null;
public List<QuestionData> allQuestionData = null;
public List<StateData> allStateData = null;
@ -13,6 +15,8 @@ public List<StateData> allStateData = null;
public IEnumerator Init(string path)
{
yield return ExcelDataTools.GetDataList<BaseData>(path,value=>allBaseData = value);
yield return ExcelDataTools.GetDataList<JingLuoBig>(path,value=>allJingLuoBig = value);
yield return ExcelDataTools.GetDataList<JingLuoSmall>(path,value=>allJingLuoSmall = value);
yield return ExcelDataTools.GetDataList<LanguageData>(path,value=>allLanguageData = value);
yield return ExcelDataTools.GetDataList<QuestionData>(path,value=>allQuestionData = value);
yield return ExcelDataTools.GetDataList<StateData>(path,value=>allStateData = value);
@ -31,6 +35,30 @@ public BaseData GetBaseData(int id)
return null;
}
public JingLuoBig GetJingLuoBig(int id)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].id == id)
{
return allJingLuoBig[i];
}
}
return null;
}
public JingLuoSmall GetJingLuoSmall(int id)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].id == id)
{
return allJingLuoSmall[i];
}
}
return null;
}
public LanguageData GetLanguageData(int id)
{
for (int i = 0; i < allLanguageData.Count; i++)
@ -526,6 +554,465 @@ public List<string> GetListBaseDatatype()
public JingLuoBig GetJingLuoBigid(int id)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].id == id)
{
return allJingLuoBig[i];
}
}
return null;
}
public List<int> GetListJingLuoBigid()
{
List<int> res = new List<int>();
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (!res.Contains(allJingLuoBig[i].id))
{
res.Add(allJingLuoBig[i].id);
}
}
return res;
}
public JingLuoBig GetJingLuoBigname(string name)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].name == name)
{
return allJingLuoBig[i];
}
}
return null;
}
public List<string> GetListJingLuoBigname()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (!res.Contains(allJingLuoBig[i].name))
{
res.Add(allJingLuoBig[i].name);
}
}
return res;
}
public JingLuoBig GetJingLuoBigpos(string pos)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].pos == pos)
{
return allJingLuoBig[i];
}
}
return null;
}
public List<string> GetListJingLuoBigpos()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (!res.Contains(allJingLuoBig[i].pos))
{
res.Add(allJingLuoBig[i].pos);
}
}
return res;
}
public JingLuoBig GetJingLuoBigGaiShu_Txt(string GaiShu_Txt)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].GaiShu_Txt == GaiShu_Txt)
{
return allJingLuoBig[i];
}
}
return null;
}
public List<string> GetListJingLuoBigGaiShu_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (!res.Contains(allJingLuoBig[i].GaiShu_Txt))
{
res.Add(allJingLuoBig[i].GaiShu_Txt);
}
}
return res;
}
public JingLuoBig GetJingLuoBigXunXing_Txt(string XunXing_Txt)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].XunXing_Txt == XunXing_Txt)
{
return allJingLuoBig[i];
}
}
return null;
}
public List<string> GetListJingLuoBigXunXing_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (!res.Contains(allJingLuoBig[i].XunXing_Txt))
{
res.Add(allJingLuoBig[i].XunXing_Txt);
}
}
return res;
}
public JingLuoBig GetJingLuoBigJiBing_Txt(string JiBing_Txt)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].JiBing_Txt == JiBing_Txt)
{
return allJingLuoBig[i];
}
}
return null;
}
public List<string> GetListJingLuoBigJiBing_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (!res.Contains(allJingLuoBig[i].JiBing_Txt))
{
res.Add(allJingLuoBig[i].JiBing_Txt);
}
}
return res;
}
public JingLuoBig GetJingLuoBigBaoYang_Txt(string BaoYang_Txt)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].BaoYang_Txt == BaoYang_Txt)
{
return allJingLuoBig[i];
}
}
return null;
}
public List<string> GetListJingLuoBigBaoYang_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (!res.Contains(allJingLuoBig[i].BaoYang_Txt))
{
res.Add(allJingLuoBig[i].BaoYang_Txt);
}
}
return res;
}
public JingLuoBig GetJingLuoBigJinJi_Txt(string JinJi_Txt)
{
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (allJingLuoBig[i].JinJi_Txt == JinJi_Txt)
{
return allJingLuoBig[i];
}
}
return null;
}
public List<string> GetListJingLuoBigJinJi_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoBig.Count; i++)
{
if (!res.Contains(allJingLuoBig[i].JinJi_Txt))
{
res.Add(allJingLuoBig[i].JinJi_Txt);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallid(int id)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].id == id)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<int> GetListJingLuoSmallid()
{
List<int> res = new List<int>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].id))
{
res.Add(allJingLuoSmall[i].id);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallname(string name)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].name == name)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<string> GetListJingLuoSmallname()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].name))
{
res.Add(allJingLuoSmall[i].name);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallpos(string pos)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].pos == pos)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<string> GetListJingLuoSmallpos()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].pos))
{
res.Add(allJingLuoSmall[i].pos);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallXueWeiName_NoPinYin(string XueWeiName_NoPinYin)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].XueWeiName_NoPinYin == XueWeiName_NoPinYin)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<string> GetListJingLuoSmallXueWeiName_NoPinYin()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].XueWeiName_NoPinYin))
{
res.Add(allJingLuoSmall[i].XueWeiName_NoPinYin);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallXueWeiName(string XueWeiName)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].XueWeiName == XueWeiName)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<string> GetListJingLuoSmallXueWeiName()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].XueWeiName))
{
res.Add(allJingLuoSmall[i].XueWeiName);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallZhuZhi_Txt(string ZhuZhi_Txt)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].ZhuZhi_Txt == ZhuZhi_Txt)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<string> GetListJingLuoSmallZhuZhi_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].ZhuZhi_Txt))
{
res.Add(allJingLuoSmall[i].ZhuZhi_Txt);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallDingWei_Txt(string DingWei_Txt)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].DingWei_Txt == DingWei_Txt)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<string> GetListJingLuoSmallDingWei_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].DingWei_Txt))
{
res.Add(allJingLuoSmall[i].DingWei_Txt);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallAnMo_Txt(string AnMo_Txt)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].AnMo_Txt == AnMo_Txt)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<string> GetListJingLuoSmallAnMo_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].AnMo_Txt))
{
res.Add(allJingLuoSmall[i].AnMo_Txt);
}
}
return res;
}
public JingLuoSmall GetJingLuoSmallAiJiu_Txt(string AiJiu_Txt)
{
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (allJingLuoSmall[i].AiJiu_Txt == AiJiu_Txt)
{
return allJingLuoSmall[i];
}
}
return null;
}
public List<string> GetListJingLuoSmallAiJiu_Txt()
{
List<string> res = new List<string>();
for (int i = 0; i < allJingLuoSmall.Count; i++)
{
if (!res.Contains(allJingLuoSmall[i].AiJiu_Txt))
{
res.Add(allJingLuoSmall[i].AiJiu_Txt);
}
}
return res;
}
public LanguageData GetLanguageDataid(int id)
{
for (int i = 0; i < allLanguageData.Count; i++)

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5659062063e6142409996e9b45a12687
guid: 5e36d8680ebd9f24ea5ac715fc2ee9b4
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -0,0 +1,24 @@

namespace YiLiao.JingLuoXueWei
{
public class JingLuoBig
{
//序号
public int id;
//经络名称
public string name;
//位置
public string pos;
//概述
public string GaiShu_Txt;
//循行
public string XunXing_Txt;
//疾病
public string JiBing_Txt;
//保养
public string BaoYang_Txt;
//禁忌
public string JinJi_Txt;
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3d8bfd23863a6074db2c0bf21c60716c
guid: ee732d18345e71449ba41f0a97473ad9
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -0,0 +1,26 @@

namespace YiLiao.JingLuoXueWei
{
public class JingLuoSmall
{
//序号
public int id;
//经络名称
public string name;
//所属位置
public string pos;
//穴位名称不带拼音
public string XueWeiName_NoPinYin;
//穴位名称
public string XueWeiName;
//主治
public string ZhuZhi_Txt;
//定位
public string DingWei_Txt;
//按摩
public string AnMo_Txt;
//艾灸
public string AiJiu_Txt;
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 634131c555645c1428324b140ad42c17
guid: 59382bd8f3546104e9f1cd0fedf8e6e4
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@

namespace YiLiao.SiBuChuZhen
namespace YiLiao.JingLuoXueWei
{
public class LanguageData
{

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3cd9055a11fa3cc4286862f66933c4a6
guid: 86cbe2372bdb5b640a66f2df7c81b84a
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@

namespace YiLiao.SiBuChuZhen
namespace YiLiao.JingLuoXueWei
{
public class QuestionData
{

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 29f7aae7c216fea489d03a8d23d09e4f
guid: 75d59666ca4986c499ffacd5a0c87bd4
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@

namespace YiLiao.SiBuChuZhen
namespace YiLiao.JingLuoXueWei
{
public class StateData
{

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: cca1207d1edc1814b99ffc3838c4ad52
guid: c4e50066ce82bc74eb12df0c44c9a6d3
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,7 +1,7 @@
using ZXKFramework;
using UnityEngine;
using System.Collections;
namespace YiLiao.SiBuChuZhen
namespace YiLiao.JingLuoXueWei
{
public class GameManager : MonoSingleton<GameManager>
{
@ -11,8 +11,8 @@ namespace YiLiao.SiBuChuZhen
//动画播放模块
[HideInInspector]
public TimelineClipManager timelineManager;
[HideInInspector]
public FSMManager fsm;
//[HideInInspector]
//public FSMManager fsm;
//玩家管理器
[HideInInspector]
public PlayerManager playerManager;
@ -50,11 +50,10 @@ namespace YiLiao.SiBuChuZhen
yield return MVC.GetModel<GameModel>().Init();
Game.Instance.eventManager.AddListener<PlayTrueOrFalseEvent>(PlayTrueOrFalseSound);
Game.Instance.eventManager.AddListener<PlaySoundEvent>(PlaySound);
Game.Instance.eventManager.AddListener<TipEvent>(ShowTip);
sceneDataHandler = transform.FindFirst<SceneDataHandler>("SceneDataHandler");
interactionManager = transform.FindFirst<InteractionManager>("InteractionManager");
virtualCameraManager = transform.FindFirst<VirtualCameraManager>("VirtualCameraManager");
fsm = transform.FindFirst<FSMManager>("FSMManager");
//fsm = transform.FindFirst<FSMManager>("FSMManager");
timelineManager = transform.FindFirst<TimelineClipManager>("TimelineManager");
highLightManager = transform.FindFirst<HighLightManager>("HighLightManager");
timeCounterManager = transform.FindFirst<TimeCounterManager>("TimeCounterManager");
@ -65,37 +64,20 @@ namespace YiLiao.SiBuChuZhen
sceneDataHandler.Init();
//平台适配初始化
Game.Instance.AdapterInit();
uiManager.ShowUI<TipPanel>();
//uiManager.ShowUI<TipPanel>();
uiManager.ShowUI<NavPanel>();
//虚拟相机初始化
virtualCameraManager.Init();
//高亮初始化
highLightManager.Init();
//状态机初始化
fsm.Init();
//fsm.Init();
//动画模块初始化
timelineManager.Init();
//计时器初始化
timeCounterManager.Init();
timeCounterManager.StartTimeCounter(str =>
{
uiManager.GetUI<NavPanel>().SetTime(str);
});
kaoheManager.Init();
kaoheManager.callBack = totalScore =>
{
uiManager.GetUI<NavPanel>().SetScore(totalScore.ToString());
};
uiManager.ShowUI<LeftBigBtnPanel>();
}
private void ShowTip(TipEvent e)
{
uiManager.GetUI<TipPanel>().AddText(e.text);
uiManager.GetUI<TipPanel>().HighlightText(e.text);
}
private void PlaySound(PlaySoundEvent e)
{
Game.Instance.sound.PlayBGM(e.path, false, clip =>
@ -119,7 +101,6 @@ namespace YiLiao.SiBuChuZhen
{
Game.Instance.eventManager.RemoveListener<PlayTrueOrFalseEvent>(PlayTrueOrFalseSound);
Game.Instance.eventManager.RemoveListener<PlaySoundEvent>(PlaySound);
Game.Instance.eventManager.RemoveListener<TipEvent>(ShowTip);
}
}
}

View File

@ -7,11 +7,11 @@
/// </summary>
using System.Collections;
using ZXKFramework;
namespace YiLiao.SiBuChuZhen
namespace YiLiao.JingLuoXueWei
{
public class GameModel : Model
{
public override string Name => "SiBuChuZhen";
public override string Name => "JingLuoXueWei";
public ExcelData excelData = new();
public IEnumerator Init()
{

View File

@ -0,0 +1,28 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class BtnImage : MonoBehaviour
{
[SerializeField]
Sprite img;
[SerializeField]
Sprite hoverImg;
/// <summary>
/// 点击按钮更换的图片
/// </summary>
public void OnEnterBtn()
{
GetComponent<Image>().sprite = hoverImg;
}
/// <summary>
/// 推出按钮更换的图片
/// </summary>
public void OnExitBtn()
{
GetComponent<Image>().sprite = img;
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 66a84bc779d6e974b87506be8cf9413a
guid: 07faecfd079d0d849ae36d57a1111e00
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 295deeb268af064469a5efa863ddd400
guid: 5f1743d12a2fdbb45b2a45d4337758c9
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -0,0 +1,183 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
using YiLiao.JingLuoXueWei;
using ZXKFramework;
public class LeftBigBtnPanel : UIBase
{
List<Button> allBigBtn = new List<Button>();
Dictionary<Button, GameObject> JingLuoXueWeiDict = new Dictionary<Button, GameObject>();
List<string> isCreateBtnLst = new List<string>();
public override string GroupName => typeof(LeftBigBtnPanel).Name;
public override string Name => typeof(LeftBigBtnPanel).Name;
public override void Init(IUIManager uictrl)
{
base.Init(uictrl);
#region
Button FeiJing = transform.FindFirst<Button>("肺经");
GameObject feiJingChild = transform.FindFirst("肺经子按钮");
allBigBtn.Add(FeiJing);
JingLuoXueWeiDict.Add(FeiJing, feiJingChild);
Button DaChang = transform.FindFirst<Button>("大肠");
GameObject daChangChild = transform.FindFirst("大肠子按钮");
allBigBtn.Add(DaChang);
JingLuoXueWeiDict.Add(DaChang, daChangChild);
Button WeiJing = transform.FindFirst<Button>("胃经");
GameObject weiJingChild = transform.FindFirst("胃经子按钮");
allBigBtn.Add(WeiJing);
JingLuoXueWeiDict.Add(WeiJing, weiJingChild);
Button PiJing = transform.FindFirst<Button>("脾经");
GameObject piJingChild = transform.FindFirst("脾经子按钮");
allBigBtn.Add(PiJing);
JingLuoXueWeiDict.Add(PiJing, piJingChild);
Button XinJing = transform.FindFirst<Button>("心经");
GameObject xinJingChild = transform.FindFirst("心经子按钮");
allBigBtn.Add(XinJing);
JingLuoXueWeiDict.Add(XinJing, xinJingChild);
Button XiaoChang = transform.FindFirst<Button>("小肠");
GameObject xiaoChangChild = transform.FindFirst("小肠子按钮");
allBigBtn.Add(XiaoChang);
JingLuoXueWeiDict.Add(XiaoChang, xiaoChangChild);
Button PangGuang = transform.FindFirst<Button>("膀胱");
GameObject pangGuangChild = transform.FindFirst("膀胱子按钮");
allBigBtn.Add(PangGuang);
JingLuoXueWeiDict.Add(PangGuang, pangGuangChild);
Button ShenJing = transform.FindFirst<Button>("肾经");
GameObject shenJingChild = transform.FindFirst("肾经子按钮");
allBigBtn.Add(ShenJing);
JingLuoXueWeiDict.Add(ShenJing, shenJingChild);
Button XinBao = transform.FindFirst<Button>("心包");
GameObject xinBaoChild = transform.FindFirst("心包子按钮");
allBigBtn.Add(XinBao);
JingLuoXueWeiDict.Add(XinBao, xinBaoChild);
Button SanJiao = transform.FindFirst<Button>("三焦");
GameObject sanJiaoChild = transform.FindFirst("三焦子按钮");
allBigBtn.Add(SanJiao);
JingLuoXueWeiDict.Add(SanJiao, sanJiaoChild);
Button DanJing = transform.FindFirst<Button>("胆经");
GameObject danJingChild = transform.FindFirst("胆经子按钮");
allBigBtn.Add(DanJing);
JingLuoXueWeiDict.Add(DanJing, danJingChild);
Button GanJing = transform.FindFirst<Button>("肝经");
GameObject ganJingChild = transform.FindFirst("肝经子按钮");
allBigBtn.Add(GanJing);
JingLuoXueWeiDict.Add(GanJing, ganJingChild);
Button RenMai = transform.FindFirst<Button>("任脉");
GameObject renMaiChild = transform.FindFirst("任脉子按钮");
allBigBtn.Add(RenMai);
JingLuoXueWeiDict.Add(RenMai, renMaiChild);
Button DuMai = transform.FindFirst<Button>("督脉");
GameObject duMaiChild = transform.FindFirst("督脉子按钮");
allBigBtn.Add(DuMai);
JingLuoXueWeiDict.Add(DuMai, duMaiChild);
Button QiXue = transform.FindFirst<Button>("奇穴");
GameObject qiXueChild = transform.FindFirst("奇穴子按钮");
allBigBtn.Add(QiXue);
JingLuoXueWeiDict.Add(QiXue, qiXueChild);
#endregion
for (int i = 0; i < allBigBtn.Count; i++)
{
int id = i;
allBigBtn[i].onClick.AddListener(() =>
{
this.Log(id);
BtnAddListener(allBigBtn[id]);
});
}
}
void BtnAddListener(Button btn)
{
for (int j = 0; j < allBigBtn.Count; j++)
{
if (allBigBtn[j].Equals(btn))
{
///切换选中按钮的背景
allBigBtn[j].GetComponent<BtnImage>().OnEnterBtn();
///根据大按钮的名称在表格中查找到相应的子物体并进行实例化
if (!isCreateBtnLst.Contains(allBigBtn[j].GetComponentInChildren<Text>().text))
{
CreateBtnAsName(allBigBtn[j]);
isCreateBtnLst.Add(allBigBtn[j].GetComponentInChildren<Text>().text);
}
//打开相应的子按钮
foreach (var item in JingLuoXueWeiDict)
{
if (item.Key.Equals(allBigBtn[j]))
{
item.Value.SetActive(true);
}
else
{
item.Value.SetActive(false);
}
}
//JingLuoXueWeiDict[allBigBtn[j]].SetActive(true);
LayoutRebuilder.ForceRebuildLayoutImmediate(allBigBtn[j].transform.parent.GetComponent<RectTransform>());
//打开提示框
uiManager.CloseUI<TipSmallPanel>();
GameManager.Instance.uiManager.ShowUI<TipBigPanel>(null, btn.GetComponentInChildren<Text>().text);
}
else
{
allBigBtn[j].GetComponent<BtnImage>().OnExitBtn();
}
}
}
/// <summary>
/// 根据表格创建子按钮
/// </summary>
/// <param name="btn"></param>
public void CreateBtnAsName(Button btn)
{
List<JingLuoSmall> all = MVC.GetModel<GameModel>().excelData.allJingLuoSmall;
for (int i = 0; i < all.Count; i++)
{
if (all[i].name.Equals(btn.GetComponentInChildren<Text>().text))
{
GameObject go = Resources.Load<GameObject>("SmallBtn");
GameObject obj = GameObject.Instantiate(go, JingLuoXueWeiDict[btn].transform);
obj.name = all[i].XueWeiName_NoPinYin;
obj.GetComponentInChildren<Text>().text = all[i].XueWeiName_NoPinYin;
Button creatBtn = obj.GetComponent<Button>();
creatBtn.onClick.AddListener(() =>
{
for (int i = 0; i < allBigBtn.Count; i++)
{
allBigBtn[i].GetComponent<BtnImage>().OnExitBtn();
}
creatBtn.GetComponent<BtnImage>().OnEnterBtn();
uiManager.CloseUI<TipBigPanel>();
uiManager.ShowUI<TipSmallPanel>(null, creatBtn.GetComponentInChildren<Text>().text);
});
}
}
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 55ffcb6712f9cd941a7f05818bf4c2eb
guid: 56ff0478ff6f2fc4e8097c15db93762d
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -0,0 +1,122 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using YiLiao.JingLuoXueWei;
using ZXKFramework;
public class TipBigPanel : UIBase
{
public override string GroupName => typeof(TipBigPanel).Name;
public override string Name => typeof(TipBigPanel).Name;
Button GaiShu_Btn;// 概述按钮
Button XunXing_Btn;// 循行按钮
Button JiBing_Btn;// 疾病按钮
Button BaoYang_Btn;// 保养按钮
Button JinJi_Btn;// 禁忌按钮
string JingLuoName;
List<Button> allBtn;
Text top_Txt;
Text Content;
public override void Init(IUIManager uictrl)
{
base.Init(uictrl);
allBtn = new List<Button>();
GaiShu_Btn = transform.FindFirst<Button>("GaiShu_Btn");
XunXing_Btn = transform.FindFirst<Button>("XunXing_Btn");
JiBing_Btn = transform.FindFirst<Button>("JiBing_Btn");
BaoYang_Btn = transform.FindFirst<Button>("BaoYang_Btn");
JinJi_Btn = transform.FindFirst<Button>("JinJi_Btn");
Content = transform.FindFirst<Text>("Content");
top_Txt = transform.FindFirst<Text>("Top_Txt");
allBtn.Add(GaiShu_Btn);
allBtn.Add(XunXing_Btn);
allBtn.Add(JiBing_Btn);
allBtn.Add(BaoYang_Btn);
allBtn.Add(JinJi_Btn);
GaiShu_Btn.onClick.AddListener(() =>
{
AddBtnListener(GaiShu_Btn);
});
XunXing_Btn.onClick.AddListener(() =>
{
AddBtnListener(XunXing_Btn);
});
JiBing_Btn.onClick.AddListener(() =>
{
AddBtnListener(JiBing_Btn);
});
BaoYang_Btn.onClick.AddListener(() =>
{
AddBtnListener(BaoYang_Btn);
});
JinJi_Btn.onClick.AddListener(() =>
{
AddBtnListener(JinJi_Btn);
});
}
string sb;
void AddBtnListener(Button name)
{
for (int i = 0; i < allBtn.Count; i++)
{
if (allBtn[i].Equals(name))
{
allBtn[i].GetComponent<BtnImage>().OnEnterBtn();
}
else
{
allBtn[i].GetComponent<BtnImage>().OnExitBtn();
}
}
string na = name.transform.FindFirst<Text>("Text (Legacy)").text;
switch (na)
{
case "概述":
sb = MVC.GetModel<GameModel>().excelData.GetJingLuoBigname(JingLuoName).GaiShu_Txt;
break;
case "循行":
sb = MVC.GetModel<GameModel>().excelData.GetJingLuoBigname(JingLuoName).XunXing_Txt;
break;
case "疾病":
sb = MVC.GetModel<GameModel>().excelData.GetJingLuoBigname(JingLuoName).JiBing_Txt;
break;
case "保养":
sb = MVC.GetModel<GameModel>().excelData.GetJingLuoBigname(JingLuoName).BaoYang_Txt;
break;
case "禁忌":
sb = MVC.GetModel<GameModel>().excelData.GetJingLuoBigname(JingLuoName).JinJi_Txt;
break;
default:
break;
}
sb.Replace(" ", "");
Content.text = sb;
top_Txt.text = MVC.GetModel<GameModel>().excelData.GetJingLuoBigname(JingLuoName).pos;
}
public override void Show()
{
base.Show();
AddBtnListener(GaiShu_Btn);
}
public override void ShowData(params object[] obj)
{
base.ShowData(obj);
JingLuoName = obj[0].ToString();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ac36ffdb145c34542a7ffa1040dddbbb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,41 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using YiLiao.JingLuoXueWei;
using ZXKFramework;
public class TipSmallPanel : UIBase
{
string XueWeiBtnName;
Text top_Txt;
Text Content;
GameModel gameModel;
public override string GroupName => typeof(TipSmallPanel).Name;
public override string Name => typeof(TipSmallPanel).Name;
public override void Init(IUIManager uictrl)
{
base.Init(uictrl);
gameModel = MVC.GetModel<GameModel>();
Content = transform.FindFirst<Text>("Content");
top_Txt = transform.FindFirst<Text>("Top_Txt");
}
public override void Show()
{
base.Show();
top_Txt.text = gameModel.excelData.GetJingLuoSmallXueWeiName_NoPinYin(XueWeiBtnName).pos + "/" + gameModel.excelData.GetJingLuoSmallXueWeiName_NoPinYin(XueWeiBtnName).XueWeiName;
Content.text = $"主治:\n{gameModel.excelData.GetJingLuoSmallXueWeiName_NoPinYin(XueWeiBtnName).ZhuZhi_Txt}\n\n定位{gameModel.excelData.GetJingLuoSmallXueWeiName_NoPinYin(XueWeiBtnName).DingWei_Txt}\n\n" +
$"按摩:{gameModel.excelData.GetJingLuoSmallXueWeiName_NoPinYin(XueWeiBtnName).AnMo_Txt}\n\n艾灸{gameModel.excelData.GetJingLuoSmallXueWeiName_NoPinYin(XueWeiBtnName).AiJiu_Txt}";
}
public override void ShowData(params object[] obj)
{
base.ShowData(obj);
XueWeiBtnName = obj[0].ToString();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c18c0765610d2e04d9f6020bbb905c16
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,466 +0,0 @@
using BNG;
using FSM;
using System;
using System.Collections;
using System.Linq;
using UnityEngine;
using ZXKFramework;
namespace YiLiao.SiBuChuZhen
{
public class FSMManager : FsmBase<FSMManager>
{
[HideInInspector]
public bool nextState;
//手部模型
ControllerOffsetHelper[] hands;
public BaseData bData;
public QuestionData qData;
public void Init()
{
StartCoroutine(InitData(ChangeStateEvent));
hands = GameManager.Instance.playerManager.player.GetComponentsInChildren<ControllerOffsetHelper>();
}
private void ChangeStateEvent(string stateName)
{
bData = MVC.GetModel<GameModel>().excelData.GetBaseDatastate(stateName);
qData = MVC.GetModel<GameModel>().excelData.GetQuestionDatastate(stateName);
if (bData != null && bData.modeType.Split('|').Contains(MVC.GetModel<Main.GameModel>().modeType.ToString()))
{
if (bData.isBtn == "True")
{
GameManager.Instance.sceneDataHandler.SaveSceneDataToJson(MVC.GetModel<Main.GameModel>().mainData.folder + "/SaveData/" + stateName + ".json");
}
AddText(bData.txt);
if (!string.IsNullOrEmpty(bData.vr_hand_materials) && Game.Instance.operatingType == OperatingType.VR)
{
ChangeHandMaterial(Convert.ToInt32(bData.vr_hand_materials));//改变手的材质
}
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.KaoHe)
{
//AddButtonByID(bData.id);
Game.Instance.eventManager.Raise(new KaoHeDataEvent()
{
name = string.IsNullOrEmpty(bData.childName) ? bData.name : bData.childName,
state = bData.state,
answer = bData.answerObj,
score = bData.score,
audio = bData.sound_kaohe,
text = bData.txt_kaohe,
type = bData.type
});
}
ScrollToButton(bData.id);//定位Button
}
}
public void AddText(string value, Action callBack = null)
{
if (callBack != null)
{
GameManager.Instance.uiManager.GetUI<TipPanel>().ShowConfirmGroup(value, callBack);
}
else
{
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.ShiXun)
{
GameManager.Instance.uiManager.GetUI<TipPanel>().AddText(value);
}
}
}
public void AddButtonByID(int value)
{
GameManager.Instance.uiManager.GetUI<TipPanel>().AddBtnByID(value);
}
public void HighlightText(int value)
{
GameManager.Instance.uiManager.GetUI<TipPanel>().HighlightText(value);
}
public void ScrollToButton(int value)
{
GameManager.Instance.uiManager.GetUI<TipPanel>().ScrollTo(value);
}
public void ShowCamera(string value)
{
GameManager.Instance.virtualCameraManager.ShowCamera(value);
}
public void PlayVideo(string path, Action callBack = null)
{
GameManager.Instance.uiManager.GetUI<TipPanel>().ShowVideo(path, callBack);
}
//播放语音
public void PlayBgm(string path)
{
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.ShiXun)
{
Game.Instance.eventManager.Raise(new PlaySoundEvent()
{
path = path
});
}
}
/// <summary>
/// 设置物体的父物体为Null
/// </summary>
/// <param name="name"></param>
public void SetParentToRoot(string name)
{
GameManager.Instance.interactionManager._allInteraction[name].transform.SetParent(null);
}
public GameObject Get(string value)
{
return GameManager.Instance.interactionManager._allInteraction[value];
}
//打开交互
public void EnableInteraction(string value)
{
GameManager.Instance.interactionManager.EnableInteraction(value);
}
//关闭交互
public void DisableInteraction(string value)
{
GameManager.Instance.interactionManager.DisableInteraction(value);
}
//显示交互
public void Show(string value)
{
GameManager.Instance.interactionManager._allInteraction[value].SetActive(true);
}
//隐藏交互
public void Hide(string value)
{
GameManager.Instance.interactionManager._allInteraction[value].SetActive(false);
}
//添加Down交互
public void InteractionDown(string value, Action<GameObject> callBack)
{
GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out IDown down);
down?.Down(callBack);
}
//添加Up交互
public void InteractionUp(string value, Action<GameObject> callBack)
{
GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out IUp up);
up?.Up(callBack);
}
//添加Stay交互
public void InteractionStay(string value, Action<GameObject> callBack)
{
GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out IStay stay);
stay?.Stay(callBack);
}
//添加Enter交互
public void InteractionEnter(string value, Action<GameObject> callBack)
{
GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out IEnter enter);
enter?.Enter(callBack);
}
//添加Exit交互
public void InteractionExit(string value, Action<GameObject> callBack)
{
GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out IExit exit);
exit?.Exit(callBack);
}
//添加Trigger交互
public void InteractionTrigger(string value, Action<GameObject> callBack)
{
GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out ITrigger trigger);
trigger?.Trigger(callBack);
}
//显示高亮
public void Light(string value)
{
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.ShiXun)
{
Game.Instance.eventManager.Raise(new HighLightEvent()
{
name = value,
visiable = true
});
}
}
//隐藏高亮
public void Unlight(string value)
{
Game.Instance.eventManager.Raise(new HighLightEvent()
{
name = value,
visiable = false
});
}
//播放Timeline
Coroutine coroutine;
public void PlayClip(string value, Action callBack = null)
{
GameManager.Instance.timelineManager.PlayNormalClip(value);
if (callBack != null)
{
coroutine = Game.Instance.IEnumeratorManager.Run(WaitExecute(GetClipLength(value), callBack));
}
}
public float PlayClip(string value)
{
GameManager.Instance.timelineManager.PlayNormalClip(value);
return GetClipLength(value);
}
public void StopClip(string value)
{
Game.Instance.IEnumeratorManager.Stop(coroutine);
GameManager.Instance.timelineManager.StopNormalCilp(value);
}
IEnumerator WaitExecute(float length, Action callBack)
{
yield return new WaitForSeconds(length);
callBack?.Invoke();
}
//重置Timeline
public void InitClip(string value)
{
GameManager.Instance.timelineManager.PlayResetClip(value);
}
//时长Timeline
public float GetClipLength(string value)
{
return GameManager.Instance.timelineManager.GetNormalTime(value);
}
/// <summary>
/// 显示物体 打开高亮
/// </summary>
public void Show_Light(string value)
{
Show(value);
Light(value);
}
/// <summary>
/// 打开高亮 打开交互
/// </summary>
public void Light_EnableInteraction(string value)
{
Light(value);
EnableInteraction(value);
}
/// <summary>
/// 显示物体 打开高亮 打开交互
/// </summary>
public void Show_Light_EnableInteraction(string value)
{
Show(value);
Light(value);
EnableInteraction(value);
}
/// <summary>
/// 隐藏物体 关闭高亮
/// </summary>
public void Hide_Unlight(string value)
{
Hide(value);
Unlight(value);
}
/// <summary>
/// 隐藏物体 关闭高亮 关闭交互
/// </summary>
public void Hide_Unlight_DisableInteraction(string value)
{
Hide(value);
Unlight(value);
DisableInteraction(value);
}
/// <summary>
/// 关闭高亮 关闭交互
/// </summary>
public void Unlight_DisableInteraction(string value)
{
Unlight(value);
DisableInteraction(value);
}
/// <summary>
/// 松开物体 隐藏物体 关闭高亮
/// </summary>
public void Loose_Hide_Unlight(string value)
{
Loose(value);
Hide(value);
Unlight(value);
}
/// <summary>
/// 松开物体 隐藏物体 关闭高亮 关闭交互
/// </summary>
public void Loose_Hide_Unlight_DisableInteraction(string value)
{
Loose(value);
Hide(value);
Unlight(value);
DisableInteraction(value);
}
/// <summary>
/// 松开物体 隐藏物体 关闭高亮 重置位置
/// </summary>
public void Loose_Hide_Unlight_ResetTransform(string value)
{
Loose(value);
Hide(value);
Unlight(value);
ResetTransfrom(value);
}
/// <summary>
/// 松开物体 隐藏物体 关闭高亮 关闭交互 重置位置
/// </summary>
public void Loose_Hide_Unlight_DisableInteraction_ResetTransform(string value)
{
Loose(value);
Hide(value);
Unlight(value);
DisableInteraction(value);
ResetTransfrom(value);
}
/// <summary>
/// 关闭高亮 关闭重置
/// </summary>
public void Unlight_CloseResetTransform(string value)
{
Unlight(value);
CloseResetTransfrom(value);
}
/// <summary>
/// 松开物体 关闭高亮
/// </summary>
public void Loose_Unlight(string value)
{
Loose(value);
Unlight(value);
}
/// <summary>
/// 松开物体 关闭高亮 关闭交互
/// </summary>
public void Loose_Unlight_DisableInteraction(string value)
{
Loose(value);
Unlight(value);
DisableInteraction(value);
}
/// <summary>
/// 松开物体 关闭高亮 关闭交互 重置位置
/// </summary>
public void Loose_Unlight_DisableInteraction_ResetTransform(string value)
{
Loose(value);
Unlight(value);
DisableInteraction(value);
ResetTransfrom(value);
}
/// <summary>
/// 松开物体 关闭高亮 重置位置
/// </summary>
public void Loose_Unlight_ResetTransform(string value)
{
Loose(value);
Unlight(value);
ResetTransfrom(value);
}
/// <summary>
/// 松开物体 重置位置
/// </summary>
public void Loose_ResetTransform(string value)
{
Loose(value);
ResetTransfrom(value);
}
//松开物体
public void Loose(string value)
{
if (GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out ILoose loose))
{
loose.Loose();
}
}
/// <summary>
/// 打开交互 重置位置
/// </summary>
public void Interaction_ResetTransform(string value)
{
EnableInteraction(value);
ResetTransfrom(value);
}
//重置位置
public void ResetTransfrom(string value)
{
if (GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out ResetPosRot rpp))
{
rpp.isReset = true;
rpp.ResetGameObject();
}
}
public void OpenResetTransfrom(string value)
{
if (GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out ResetPosRot rpp))
{
rpp.isReset = true;
}
}
public void CloseResetTransfrom(string value)
{
if (GameManager.Instance.interactionManager._allInteraction[value].TryGetComponent(out ResetPosRot rpp))
{
rpp.isReset = false;
}
}
public void OpenQuestion(Action callBack)
{
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.KaoHe)
{
GameManager.Instance.uiManager.ShowUI<QuestionPanel>();
GameManager.Instance.uiManager.GetUI<QuestionPanel>().ShowQuestion(bData.state, callBack);
}
else
{
callBack?.Invoke();
}
}
public void OpenQuestion(int qid, Action callBack)
{
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.KaoHe)
{
GameManager.Instance.uiManager.ShowUI<QuestionPanel>();
GameManager.Instance.uiManager.GetUI<QuestionPanel>().ShowQuestion(qid, callBack);
}
else
{
callBack?.Invoke();
}
}
/// <summary>
/// 改变VR手的材质
/// </summary>
/// <param name="i"></param>
public void ChangeHandMaterial(int i)
{
HandModelSelector hms = GameManager.Instance.playerManager.player.GetComponentInChildren<HandModelSelector>();
if (hms)
{
hms.ChangeHandsModel(i, false);
}
}
/// <summary>
/// 控制VR手的显示与隐藏
/// </summary>
/// <param name="hand">0-左 1-右</param>
/// <param name="visable">true 显示 false 隐藏</param>
public void HandVisiable(int hand, bool visable)
{
if (hands.Length == 0) return;
for (int i = 0; i < hands.Length; i++)
{
if (hands[i].ControllerHand == ControllerHand.Left && hand == 0)
{
hands[i].gameObject.SetActive(visable);
}
if (hands[i].ControllerHand == ControllerHand.Right && hand == 1)
{
hands[i].gameObject.SetActive(visable);
}
}
}
}
}

View File

@ -1,36 +0,0 @@
using FSM;
using UnityEngine;
using ZXKFramework;
namespace YiLiao.SiBuChuZhen
{
public class BingLiState : FsmState<FSMManager>
{
public override void OnStateEnter()
{
base.OnStateEnter();
fsm.HighlightText(0);
fsm.ShowCamera("BingLiState_Camera");
fsm.PlayClip("²¡Àý",() => {
fsm.OpenQuestion(() =>
{
fsm.nextState = true;
});
});
}
public override void OnStateStay()
{
base.OnStateStay();
}
public override void OnStateExit()
{
base.OnStateExit();
fsm.StopClip("²¡Àý");
fsm.nextState = false;
}
}
}

View File

@ -1,30 +0,0 @@
using FSM;
namespace YiLiao.SiBuChuZhen
{
public class CaoZuoHouZhuFuState : FsmState<FSMManager>
{
public override void OnStateEnter()
{
base.OnStateEnter();
fsm.OpenQuestion(() => {
fsm.ShowCamera("CaoZuoHouZhuFuState_Camera");
fsm.PlayClip("²Ù×÷ºóÖö¸À", () =>
{
fsm.nextState = true;
});
});
}
public override void OnStateStay()
{
base.OnStateStay();
}
public override void OnStateExit()
{
base.OnStateExit();
fsm.StopClip("²Ù×÷ºóÖö¸À");
fsm.nextState = false;
}
}
}

Some files were not shown because too many files have changed in this diff Show More