最新制作后提交

This commit is contained in:
高铎 2025-09-13 16:38:19 +08:00
parent 0f5284232a
commit e08d5613e4
21 changed files with 1808 additions and 1204 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View File

@ -0,0 +1,146 @@
fileFormatVersion: 2
guid: d4ac5c470480621459eae7b4bf9a94e4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
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: Server
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
- 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
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,128 @@
%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: bfda56da833e2384a9677cd3c976a436, type: 3}
m_Name: "\u64CD\u4F5C\u540E\u5631\u5490_TimeLine"
m_EditorClassIdentifier:
m_Version: 0
m_Tracks:
- {fileID: 3595187801503878998}
m_FixedDuration: 0
m_EditorSettings:
m_Framerate: 60
m_ScenePreview: 1
m_DurationMode: 0
m_MarkerTrack: {fileID: 0}
--- !u!114 &2125218445793134470
MonoBehaviour:
m_ObjectHideFlags: 1
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: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset
m_EditorClassIdentifier:
--- !u!114 &3595187801503878998
MonoBehaviour:
m_ObjectHideFlags: 1
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: 21bf7f712d84d26478ebe6a299f21738, type: 3}
m_Name: Activation Track
m_EditorClassIdentifier:
m_Version: 3
m_AnimClip: {fileID: 0}
m_Locked: 0
m_Muted: 0
m_CustomPlayableFullTypename:
m_Curves: {fileID: 0}
m_Parent: {fileID: 11400000}
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 0
m_ClipIn: 0
m_Asset: {fileID: 2125218445793134470}
m_Duration: 5
m_TimeScale: 1
m_ParentTrack: {fileID: 3595187801503878998}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: 0
m_BlendOutDuration: 0
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 0
m_PreExtrapolationMode: 0
m_PostExtrapolationTime: 0
m_PreExtrapolationTime: 0
m_DisplayName: Active
m_Markers:
m_Objects: []
m_PostPlaybackState: 1

View File

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

View File

@ -0,0 +1 @@
{"gameObjectDatas":[]}

View File

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

View File

@ -0,0 +1 @@
{"gameObjectDatas":[]}

View File

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

View File

@ -0,0 +1 @@
{"gameObjectDatas":[]}

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,24 +1,69 @@
using FSM;
using UnityEngine;
using ZXKFramework;
namespace DongWuYiXue.DaoNiaoShu
{
public class BaChuDaoNiaoGuanState : FsmState<FSMManager>
{
Coroutine cor;
AVProValue avProValue;
bool isBaGuan = false;
float baGuanValue = 0;
public override void OnStateEnter()
{
base.OnStateEnter();
this.Log("进入拔出导尿管状态");
avProValue = GameManager.Instance.transform.FindFirst<AVProValue>("°Î³öÊÓÆµ");
baGuanValue = 0;
fsm.ShowCamera("拔管_Camera");
fsm.ShowTip(0);
fsm.PlayBgm(0);
cor = Game.Instance.IEnumeratorManager.Run(3.0f, () =>
{
isBaGuan = true;
avProValue.gameObject.SetActive(true);
});
}
public override void OnStateStay()
{
base.OnStateStay();
if (isBaGuan)
{
baGuanValue += .0005f;
fsm.PlayClip("°Î¹Ü_TimeLine", null, baGuanValue);
avProValue.PlayValue = baGuanValue;
avProValue.PlayVideoAsValue();
}
if (isBaGuan && Input.GetKeyDown(KeyCode.L))
{
baGuanValue = 1.0f;
fsm.PlayClip("°Î¹Ü_TimeLine", null, baGuanValue);
avProValue.PlayValue = baGuanValue;
avProValue.PlayVideoAsValue();
}
if (baGuanValue >= 1.0f && isBaGuan)
{
isBaGuan = false;
avProValue.gameObject.SetActive(false);
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.AddScore(5, 0);
}
fsm.nextState = true;
}
}
public override void OnStateExit()
{
base.OnStateExit();
if (null != cor)
{
Game.Instance.IEnumeratorManager.Stop(cor);
cor = null;
}
isBaGuan = false;
avProValue.gameObject.SetActive(false);
fsm.nextState = false;
}
}
}

View File

@ -1,4 +1,7 @@
using FSM;
using System.Buffers;
using UnityEngine;
using ZXKFramework;
namespace DongWuYiXue.DaoNiaoShu
{
public class CaoZuoHouZhuFuState : FsmState<FSMManager>
@ -6,7 +9,51 @@ namespace DongWuYiXue.DaoNiaoShu
public override void OnStateEnter()
{
base.OnStateEnter();
this.Log("进入操作后嘱咐状态");
fsm.ShowCamera("操作后嘱咐_Camera");
fsm.ShowTip(0);
fsm.PlayBgm(0);
fsm.Show("男护士文字位置");
fsm.ShowSpeakPanel(new Vector3(730f, 85f),
"先生,您好。已经将患宠膀胱内潴留的尿液通过导尿管已经引流出来了,下一步需要查找导致急性尿潴留的病因,然后再对因治疗",
"急性尿潴留", 2, 1, SpeakAction);
}
private void SpeakAction(int arg1, string arg2)
{
switch (arg1)
{
case 0:
fsm.AddScore(0, 0);
break;
case 1:
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.AddScore(5, 0);
}
if (fsm.main_gameModel.modeType == ModeType.KaoHe)
{
fsm.AddScore(1, 0);
}
break;
case 2:
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
break;
default:
break;
}
fsm.PlayClip("操作后嘱咐_TimeLine", () =>
{
Game.Instance.sound.StopBGM();
fsm.PlayClip("好的_TimeLine", () =>
{
fsm.Hide("男护士文字位置");
fsm.nextState = true;
});
});
}
public override void OnStateStay()
{
base.OnStateStay();
@ -14,6 +61,8 @@ namespace DongWuYiXue.DaoNiaoShu
public override void OnStateExit()
{
base.OnStateExit();
fsm.Hide("男护士文字位置");
fsm.nextState = false;
}
}
}

View File

@ -43,14 +43,15 @@ namespace DongWuYiXue.DaoNiaoShu
avProValue.PlayValue = chaGuanValue;
avProValue.PlayVideoAsValue();
}
if (chaGuanValue >= 1.0f)
if (chaGuanValue >= 1.0f && isChaGuan)
{
isChaGuan = false;
avProValue.gameObject.SetActive(false);
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.AddScore(10, 0);
}
isChaGuan = false;
fsm.ShowCamera("²å¹Ü2_Camera");
fsm.PlayClip("²å¹ÜºóÅÅÄò_TimeLine", () =>
{

View File

@ -6,6 +6,7 @@ namespace DongWuYiXue.DaoNiaoShu
public override void OnStateEnter()
{
base.OnStateEnter();
this.Log("½øÈë½á¹û״̬");
}
public override void OnStateStay()
{

View File

@ -1,4 +1,5 @@
using FSM;
using ZXKFramework;
namespace DongWuYiXue.DaoNiaoShu
{
public class YiShengXiShouState : FsmState<FSMManager>
@ -6,6 +7,15 @@ namespace DongWuYiXue.DaoNiaoShu
public override void OnStateEnter()
{
base.OnStateEnter();
this.Log("进入医生洗手状态");
fsm.ShowCamera("WuPinZhunBei_Camera");
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.ShowDragQuestion(0, 2, 0, () =>
{
fsm.nextState = true;
});
}
}
public override void OnStateStay()
{
@ -14,6 +24,7 @@ namespace DongWuYiXue.DaoNiaoShu
public override void OnStateExit()
{
base.OnStateExit();
fsm.nextState = false;
}
}
}

View File

@ -1,4 +1,5 @@
using FSM;
using ZXKFramework;
namespace DongWuYiXue.DaoNiaoShu
{
public class ZhengLiYongWuState : FsmState<FSMManager>
@ -6,6 +7,15 @@ namespace DongWuYiXue.DaoNiaoShu
public override void OnStateEnter()
{
base.OnStateEnter();
this.Log("进入整理用物状态");
fsm.ShowCamera("WuPinZhunBei_Camera");
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.ShowLineQuestion(0, 3, 0, () =>
{
fsm.nextState = true;
});
}
}
public override void OnStateStay()
{
@ -14,6 +24,7 @@ namespace DongWuYiXue.DaoNiaoShu
public override void OnStateExit()
{
base.OnStateExit();
fsm.nextState = false;
}
}
}

View File

@ -24,6 +24,8 @@ public class AVProValue : MonoBehaviour
bool isLoaded = false;
// Start is called before the first frame update
[SerializeField]
string VideoPath;
private void OnEnable()
{
mediaPlayer = GetComponent<MediaPlayer>();
@ -34,15 +36,19 @@ public class AVProValue : MonoBehaviour
}
void Start()
{
mediaPlayer.OpenMedia(MediaPathType.RelativeToStreamingAssetsFolder, Path.Combine(Application.streamingAssetsPath, "daoNiaoShu/Videos/²åÈëÊÓÆµ.mp4"), true);
//duration = mediaPlayer.Info.GetDuration();
bool isOpen = mediaPlayer.OpenMedia(MediaPathType.RelativeToStreamingAssetsFolder, VideoPath, true);
//mediaPlayer.Control.Play();
}
private void OnMediaEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
{
//Debug.Log($"触发事件:{et},错误码:{errorCode}");
switch (et)
{
//视频加载完成并准备好播放
case MediaPlayerEvent.EventType.ReadyToPlay:
//case MediaPlayerEvent.EventType.ReadyToPlay:
case MediaPlayerEvent.EventType.Unpaused:
this.Log("视频加载完成并准备好播放");
isLoaded = true;
duration = mediaPlayer.Info.GetDuration();
@ -77,7 +83,7 @@ public class AVProValue : MonoBehaviour
if (isLoaded)
{
mediaPlayer.Control.Seek(PlayTime);
mediaPlayer.Control.Play();
//mediaPlayer.Control.Play();
}
}

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
namespace DongWuYiXue.DaoNiaoShu
namespace DongWuYiXue.DaoNiaoShu
{
public class PointLineManager : MonoBehaviour
{