最新修改提交

This commit is contained in:
高铎 2026-01-06 19:24:17 +08:00
parent b15cae899d
commit b68503d473
39 changed files with 36466 additions and 11812 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 KiB

View File

@ -0,0 +1,146 @@
fileFormatVersion: 2
guid: f06a018993e9dc4429df9723a0ee1e86
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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -0,0 +1,146 @@
fileFormatVersion: 2
guid: 7c73faa446796e042a2a0a7d9a1370e0
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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

View File

@ -0,0 +1,146 @@
fileFormatVersion: 2
guid: 0911ee191f72f0b488b99fe9b3608290
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:

File diff suppressed because one or more lines are too long

View File

@ -18,6 +18,9 @@ public class ZhuSheQi_10SenSor : Sensor
[SerializeField]
Text txt;
[HideInInspector]
public bool isOpen;
private void Start()
{
transform.parent.GetComponent<SensorManager>().SendFunction("+++");
@ -28,15 +31,29 @@ public class ZhuSheQi_10SenSor : Sensor
base.ReceiveData(datas);
if (!datas.Split('%')[0].Split("ID:")[1].Split(',')[0].Equals("ZSQ10")) return;
//this.Error(datas);
lastTime = time;
progressValue = (Convert.ToInt32(datas.Split("%")[0].Split("LEVEL:")[1])) / 10.0f;
//this.Error($"µ±Ç°10ml×¢ÉäÆ÷µÄ½ø¶ÈΪ£º{progressValue}");
}
float time;
float lastTime;
private void Update()
{
time += Time.deltaTime;
if (time - lastTime < 1.0f)
{
isOpen = true;
}
else
{
isOpen = false;
//progressValue = 0;
}
txt.text = $"10ml注射器开启:{isOpen}拉取进度:{progressValue}";
}
public override void Display(string datas)
{
base.Display(datas);
txt.text = $"10ml注射器拉取进度:{progressValue}";
//txt.text = $"10ml注射器拉取进度:{progressValue}";
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 679c8f4874d8e2d4e9f2e2b91164d6e0
guid: fb451020cdeb8fd42bd44c5750adf81a
DefaultImporter:
externalObjects: {}
userData:

View File

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

View File

@ -419,7 +419,7 @@ public class SensorManager : MonoBehaviour /*MonoSingleton<SensorManager>*/
sensor.Init(this);
}
}
Debug.Log($"获取传感器 {typeof(T).Name} 成功");
//Debug.Log($"获取传感器 {typeof(T).Name} 成功");
return allSensor[name] as T;
}
catch (Exception ex)

File diff suppressed because it is too large Load Diff

View File

@ -35,6 +35,7 @@ namespace DongWuYiXue.QiGuanChaGuan
GameManager.Instance.uiManager.CloseUI<PopPanel>();
GameManager.Instance.uiManager.CloseUI<ImgSelectQuestionPanel>();
GameManager.Instance.uiManager.CloseUI<ImgSelectQuestionPanelTwo>();
GameManager.Instance.uiManager.CloseUI<DragQuestionPanel>();
GameManager.Instance.uiManager.CloseUI<LineQuestionPanel>();
GameManager.Instance.uiManager.CloseUI<TxtSelectQuestionPanel>();
@ -352,7 +353,34 @@ namespace DongWuYiXue.QiGuanChaGuan
}
};
}
public void ShowImgQuestionTwo(string stepName, int id, int score, int scoreId, Action nextFun)
{
ImgSelectQuestionPanelTwo imgSelectQuestionPanel = GameManager.Instance.uiManager.GetUI<ImgSelectQuestionPanelTwo>();
imgSelectQuestionPanel.ShowImgQuestion(id, stepName);
imgSelectQuestionPanel.nextAction = nextFun;
imgSelectQuestionPanel.subAction = isTrue =>
{
//if (isTrue)
//{
// AddScore(score, scoreId);
//}
//else
//{
// AddScore(0, scoreId);
//}
if (isTrue)
{
GameManager.Instance.kaoheManager.AddScore(score, scoreId, (s, t) =>
{
GameManager.Instance.uiManager.GetUI<ScorePanel>().SetScore(s.ToString(), t.ToString());
});
}
else
{
GameManager.Instance.kaoheManager.AddScore(0, scoreId, null);
}
};
}
public void ShowImgQuestion(string stepName, int id, int score, int scoreId, Action nextFun)
{

View File

@ -1,5 +1,6 @@
using FSM;
using Unity.VisualScripting.Antlr3.Runtime;
using UnityEngine;
using ZXKFramework;
namespace DongWuYiXue.QiGuanChaGuan
{
@ -23,6 +24,7 @@ namespace DongWuYiXue.QiGuanChaGuan
float tuiValue;
float laValue;
bool isOpen;
Coroutine cor;
public override void OnStateEnter()
{
base.OnStateEnter();
@ -172,10 +174,10 @@ namespace DongWuYiXue.QiGuanChaGuan
base.OnStateStay();
if (isJianChaOne && isZhuSheQiTui)
{
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen)
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen)
{
isOpen = true;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().progressValue;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().progressValue;
if (tuiValue > 0.1f)
{
fsm.PlayClip("检查套囊气密性1_TimeLine", null, (1.0f - tuiValue) / 2);
@ -187,17 +189,17 @@ namespace DongWuYiXue.QiGuanChaGuan
isZhuSheQiLa = true;
}
}
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen && isOpen)
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen && isOpen)
{
fsm.PlayClip("检查套囊气密性1_TimeLine", null, (1.0f - tuiValue) / 2);
}
}
if (isJianChaOne && isZhuSheQiLa)
{
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen)
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen)
{
isOpen = true;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().progressValue;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().progressValue;
if (tuiValue < 1)
{
fsm.PlayClip("检查套囊气密性1_TimeLine", null, .5f + (tuiValue / 2));
@ -218,21 +220,28 @@ namespace DongWuYiXue.QiGuanChaGuan
{
fsm.AddScore(4, 0);
}
fsm.Show("5ml注射器");
fsm.Light_EnableInteraction("5ml注射器");
fsm.Light("12mm气管导管");
fsm.EnableInteraction("12气管导管检查气密性");
fsm.ShowArrow("请拖拽10ml注射器", "5ml注射器");
fsm.ShowTipBtn(() =>
cor = Game.Instance.IEnumeratorManager.Run(1.0f, () =>
{
this.Error("2222222222222222222");
fsm.Light("12mm气管导管", true);
fsm.Light_EnableInteraction("5ml注射器", true);
fsm.ShowArrow("请拖拽10ml注射器", "5ml注射器", 0, 0, 5, true);
}, 2);
if (null != cor)
{
Game.Instance.IEnumeratorManager.Stop(cor);
}
fsm.Show("5ml注射器");
fsm.Light_EnableInteraction("5ml注射器");
fsm.Light("12mm气管导管");
fsm.EnableInteraction("12气管导管检查气密性");
fsm.ShowArrow("请拖拽10ml注射器", "5ml注射器");
fsm.ShowTipBtn(() =>
{
this.Error("2222222222222222222");
fsm.Light("12mm气管导管", true);
fsm.Light_EnableInteraction("5ml注射器", true);
fsm.ShowArrow("请拖拽10ml注射器", "5ml注射器", 0, 0, 5, true);
}, 2);
});
}
}
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen && isOpen)
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen && isOpen)
{
fsm.PlayClip("检查套囊气密性1_TimeLine", null, .5f + (tuiValue / 2));
}
@ -240,10 +249,10 @@ namespace DongWuYiXue.QiGuanChaGuan
if (isJianChaTwo && isZhuSheQiTui)
{
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen)
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen)
{
isOpen = true;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().progressValue;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().progressValue;
if (tuiValue > 0.1f)
{
fsm.PlayClip("检查套囊气密性2_TimeLine", null, (1.0f - tuiValue) / 2);
@ -255,17 +264,17 @@ namespace DongWuYiXue.QiGuanChaGuan
isZhuSheQiLa = true;
}
}
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen && isOpen)
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen && isOpen)
{
fsm.PlayClip("检查套囊气密性2_TimeLine", null, (1.0f - tuiValue) / 2);
}
}
if (isJianChaTwo && isZhuSheQiLa)
{
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen)
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen)
{
isOpen = true;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().progressValue;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().progressValue;
if (tuiValue < 1)
{
fsm.PlayClip("检查套囊气密性2_TimeLine", null, .5f + (tuiValue / 2));
@ -286,21 +295,28 @@ namespace DongWuYiXue.QiGuanChaGuan
{
fsm.AddScore(4, 1);
}
fsm.Show("5ml注射器");
fsm.Light_EnableInteraction("5ml注射器");
fsm.Light("14mm气管导管");
fsm.EnableInteraction("14气管导管检查气密性");
fsm.ShowArrow("请拖拽10ml注射器", "5ml注射器");
fsm.ShowTipBtn(() =>
cor = Game.Instance.IEnumeratorManager.Run(1.0f, () =>
{
this.Error("33333333333333333");
fsm.Light("14mm气管导管", true);
fsm.Light_EnableInteraction("5ml注射器", true);
fsm.ShowArrow("请拖拽10ml注射器", "5ml注射器", 0, 0, 5, true);
}, 2);
if (null != cor)
{
Game.Instance.IEnumeratorManager.Stop(cor);
}
fsm.Show("5ml注射器");
fsm.Light_EnableInteraction("5ml注射器");
fsm.Light("14mm气管导管");
fsm.EnableInteraction("14气管导管检查气密性");
fsm.ShowArrow("请拖拽10ml注射器", "5ml注射器");
fsm.ShowTipBtn(() =>
{
this.Error("33333333333333333");
fsm.Light("14mm气管导管", true);
fsm.Light_EnableInteraction("5ml注射器", true);
fsm.ShowArrow("请拖拽10ml注射器", "5ml注射器", 0, 0, 5, true);
}, 2);
});
}
}
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen && isOpen)
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen && isOpen)
{
fsm.PlayClip("检查套囊气密性2_TimeLine", null, .5f + (tuiValue / 2));
}
@ -308,10 +324,10 @@ namespace DongWuYiXue.QiGuanChaGuan
if (isJianChaThree && isZhuSheQiTui)
{
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen)
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen)
{
isOpen = true;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().progressValue;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().progressValue;
if (tuiValue > 0.1f)
{
fsm.PlayClip("检查套囊气密性3_TimeLine", null, (1.0f - tuiValue) / 2);
@ -323,17 +339,17 @@ namespace DongWuYiXue.QiGuanChaGuan
isZhuSheQiLa = true;
}
}
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen && isOpen)
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen && isOpen)
{
fsm.PlayClip("检查套囊气密性3_TimeLine", null, (1.0f - tuiValue) / 2);
}
}
if (isJianChaThree && isZhuSheQiLa)
{
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen)
if (GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen)
{
isOpen = true;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().progressValue;
tuiValue = GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().progressValue;
if (tuiValue < 1)
{
fsm.PlayClip("检查套囊气密性3_TimeLine", null, .5f + (tuiValue / 2));
@ -353,11 +369,17 @@ namespace DongWuYiXue.QiGuanChaGuan
{
fsm.AddScore(4, 2);
}
fsm.nextState = true;
cor = Game.Instance.IEnumeratorManager.Run(1.0f, () =>
{
if (null != cor)
{
Game.Instance.IEnumeratorManager.Stop(cor);
}
fsm.nextState = true;
});
}
}
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_20SenSor>().isOpen && isOpen)
else if (!GameManager.Instance.senSor.GetSensor<ZhuSheQi_10SenSor>().isOpen && isOpen)
{
fsm.PlayClip("检查套囊气密性3_TimeLine", null, .5f + (tuiValue / 2));
}
@ -366,6 +388,10 @@ namespace DongWuYiXue.QiGuanChaGuan
public override void OnStateExit()
{
base.OnStateExit();
if (null != cor)
{
Game.Instance.IEnumeratorManager.Stop(cor);
}
fsm.Unlight_DisableInteraction("5ml注射器");
fsm.Unlight("14mm气管导管");
fsm.DisableInteraction("14气管导管检查气密性");

View File

@ -7,18 +7,29 @@ namespace DongWuYiXue.QiGuanChaGuan
public override void OnStateEnter()
{
base.OnStateEnter();
this.Log("进入术者准备装填");
this.Log("进入术者准备状态");
fsm.ShowCamera("术者准备_Camera");
fsm.ShowTip(0);
fsm.PlayBgm(0);
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.AddScore(5, 0);
fsm.nextState = true;
fsm.ShowImgQuestionTwo("插管操作》术者准备》步骤2", 0, 5, 0, () =>
{
fsm.nextState = true;
});
//fsm.AddScore(5, 0);
//fsm.nextState = true;
}
if (fsm.main_gameModel.modeType == ModeType.KaoHe)
{
fsm.ShowTxtQuestion("操作前准备》术者准备》步骤1",0, 1, 3, () =>
{
fsm.AddScore(4, 0);
fsm.nextState = true;
fsm.ShowImgQuestionTwo("插管操作》术者准备》步骤2", 0, 4, 0, () =>
{
fsm.nextState = true;
});
//fsm.AddScore(4, 0);
//fsm.nextState = true;
});
}
}

View File

@ -0,0 +1,165 @@
using System;
using UnityEngine.UI;
using ZXKFramework;
namespace DongWuYiXue.QiGuanChaGuan
{
public class ImgSelectQuestionPanelTwo : UIBase
{
public override string GroupName => "ImgSelectQuestionPanelTwo";
public override string Name => "ImgSelectQuestionPanelTwo";
public Action nextAction;
public Action<bool> subAction;
ImgSelectManager[] imgSelectManagers;
Button nextBtn;
Button subBtn;
Button resetBtn;
int id;
string stepName;
Toggle maoZi;
Toggle kouZhao;
Toggle shouShuYi;
Toggle shouTao;
/// <summary>
/// 正确答案
/// </summary>
string rightAnswer;
public override void Init(IUIManager uictrl)
{
base.Init(uictrl);
imgSelectManagers = GetComponentsInChildren<ImgSelectManager>(true);
nextBtn = transform.FindFirst<Button>("Next");
nextBtn.onClick.AddListener(Next);
subBtn = transform.FindFirst<Button>("Submit");
subBtn.onClick.AddListener(Submit);
resetBtn = transform.FindFirst<Button>("Reset");
//resetBtn.onClick.AddListener(Reset);
maoZi = transform.FindFirst<Toggle>("1.一次性医用帽子");
kouZhao = transform.FindFirst<Toggle>("2.口罩");
shouShuYi = transform.FindFirst<Toggle>("3.手术衣");
shouTao = transform.FindFirst<Toggle>("4.手套");
maoZi.interactable = true;
kouZhao.interactable = true;
shouShuYi.interactable = true;
shouTao.interactable = true;
maoZi.onValueChanged.AddListener((isOn) =>
{
if (isOn)
{
rightAnswer += maoZi.transform.FindFirst<Text>("Txt").text;
maoZi.interactable = false;
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:Scrub_Cap").SetActive(true);
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:Short_blowback").SetActive(false);
}
});
kouZhao.onValueChanged.AddListener((isOn) =>
{
if (isOn)
{
rightAnswer += kouZhao.transform.FindFirst<Text>("Txt").text;
kouZhao.interactable = false;
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:FaceMask").SetActive(true);
}
});
shouShuYi.onValueChanged.AddListener((isOn) =>
{
if (isOn)
{
rightAnswer += shouShuYi.transform.FindFirst<Text>("Txt").text;
shouShuYi.interactable = false;
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:SM_shoushufu").SetActive(true);
}
});
shouTao.onValueChanged.AddListener((isOn) =>
{
if (isOn)
{
rightAnswer += shouTao.transform.FindFirst<Text>("Txt").text;
shouTao.interactable = false;
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:SM_shoutao").SetActive(true);
}
});
}
private void Submit()
{
Game.Instance.sound.StopBGM();
if (rightAnswer.Equals("一次性医用帽子口罩手术衣手套"))
{
subAction?.Invoke(true);
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
}
//if (imgSelectManagers[id].Check())
//{
// subAction?.Invoke(true);
// Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
//}
else
{
subAction?.Invoke(false);
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = false });
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.ShiXun)
{
ChatUI.Instance.SendAI("用户位于:" + stepName + ",用户的作答为:" + rightAnswer + ",请对用户的作答进行解析,并介绍本步骤正确答案和意义,字数控制在100字以内。", null);
}
else
{
subAction?.Invoke(false);
}
}
subBtn.interactable = false;
resetBtn.interactable = false;
nextBtn.gameObject.SetActive(true);
}
private void Next()
{
ChatUI.Instance.CloseChatTxt();
SetActive(false);
subBtn.interactable = true;
//resetBtn.interactable = true;
nextAction?.Invoke();
}
private void Reset()
{
for (int i = 0; i < imgSelectManagers.Length; i++)
{
if (i == id)
{
imgSelectManagers[i].gameObject.SetActive(true);
imgSelectManagers[i].Init();
}
else
{
imgSelectManagers[i].gameObject.SetActive(false);
}
}
}
public void ShowImgQuestion(int id, string stepName)
{
SetActive(true);
nextBtn.gameObject.SetActive(false);
subBtn.interactable = true;
resetBtn.interactable = true;
this.id = id;
this.stepName = stepName;
for (int i = 0; i < imgSelectManagers.Length; i++)
{
if (i == id)
{
imgSelectManagers[i].gameObject.SetActive(true);
imgSelectManagers[i].Init();
}
else
{
imgSelectManagers[i].gameObject.SetActive(false);
}
}
}
}
}

View File

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

View File

@ -13,7 +13,7 @@ PlayerSettings:
useOnDemandResources: 0
accelerometerFrequency: 60
companyName: DefaultCompany
productName: "\u5927\u578B\u72AC\u6C14\u7BA1\u63D2\u7BA1"
productName: QiGuanChaGuan_Dog
defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}

View File

@ -1,3 +1,3 @@
2026/01/05 18:31:57
2026/01/06 15:25:55
0177e44f97978b1f280261a64cf9e50c
у^x╜┌Щu°▄ЛXIz≤G2$▀┼ЬЙQ├v~к ▒└i╩сOн√IТпЛя9хqжк`ИюT╥kя█ДТ+ы@ДWv╩<⌡У≤W▐МEЬHVДIpэ"∙Ю≥ЯЮ(6╠╩▀F@|░2А#╒$гЛ,d ЬU╤Sx╙Эую╜R╧7Аc 0в╦╕┌Ъ13в
ϊ KVkΤ­8gΉΙsΖ4Ό«<CE8C>*uP?hƒ<68>δκαΐ½=—•ζ@<40><>υ8ΧμΌόώ<CF8C>¥…ιW$LK”­ΤύρΕΘm<6D>M<EFBFBD>ε“ Ηu®uiq/<2F>P5Λ<35>ζ]‘… akg³<67>οCAΪmxj£οΐDϋ8Ώ^n<1E>_Γƒ]"ik<69>ή5‹†Βφ¥η6: