You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

232 lines
6.4 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
public class Pass4AniAction : AniAction
{
public GameObject xinLvTip;
public GameObject chuChanTip;
public GameObject chuChanPanel;
public GameObject Part6Btn;
int sanKaiIndex = 1;
int fuSuIndex = 1;
public GameObject doctor;
public Transform endPoint;
public GameObject endTip;
public override void InitAniAction()
{
base.InitAniAction();
PassManager.Instance.AddHisitoryInfo("周围安全");
PassManager.Instance.AddHisitoryInfo("判断呼救");
PassManager.Instance.AddHisitoryInfo("心肺复苏");
PassManager.Instance.AddHisitoryInfo("使用AED");
AniActionDict.Add("AnDianYuan", () =>
{
//PassManager.Instance.SetTip(2);
PassManager.Instance.SetCtrlPart(2);
});
AniActionDict.Add("LeftTiePian2", () =>
{
PassManager.Instance.SetCtrlPart(3);
PassManager.Instance.HideCtrlPart(2);
});
AniActionDict.Add("RightTiePian2", () =>
{
PassManager.Instance.SetCtrlPart(3);
PassManager.Instance.HideCtrlPart(2);
});
AniActionDict.Add("DanChunQingSanKai2", () =>
{
if (sanKaiIndex == 1)
{
sanKaiIndex++;
PassManager.Instance.SetStudentAni("FenXi2");
}
else
{
// PassManager.Instance.SetStudentAni("AnChuChan2");
}
});
AniActionDict.Add("FenXi2", () =>
{
xinLvTip.SetActive(true);
PassManager.Instance.StartTimeAction(4f, () =>
{
xinLvTip.SetActive(false);
PassManager.Instance.SetTip(4);
PassManager.Instance.SetCtrlPart(4);
PassManager.Instance.SetNpcAni("HuiQu");
});
});
AniActionDict.Add("AnChuChan2", () =>
{
PassManager.Instance.SetTip("除颤进行中,请等待");
chuChanTip.SetActive(true);
PassManager.Instance.StartTimeAction(4f, () =>
{
//PassManager.Instance.SetTip(5);
PassManager.Instance.SetCtrlPart(5);
chuChanTip.SetActive(false);
});
});
AniActionDict.Add("FuSu", () =>
{
PassManager.Instance.SetStudentAni("3FuSu");
});
AniActionDict.Add("3FuSu", () =>
{
PassManager.Instance.SetStudentAni("RGHX");
});
AniActionDict.Add("RGHX", () =>
{
if (fuSuIndex == 1)
{
PassManager.Instance.SetCtrlPart(6);
int ran = Random.Range(0, 100);
if (ran > 50)
{
Part6Btn.SetActive(true);
//PassManager.Instance.SetTip("经过胸外按压和人工呼吸,被救者的意识依然没有恢复,请点击工具箱");
fuSuIndex += 1;
}
else
{
Part6Btn.SetActive(false);
PassManager.Instance.PartTipText.transform.parent.gameObject.SetActive(true);
PassManager.Instance.SetTip("经过再次的的胸外按压和人工呼吸,被救者的意识得到了恢复,等待到了急救人员赶到了现场,现在将抢救工作交给医护人员,恭喜通关!", () => { PassManager.Instance.PassOver(); });
EndAni();
}
}
else
{
PassManager.Instance.PartTipText.transform.parent.gameObject.SetActive(true);
PassManager.Instance.SetTip("经过再次胸外按压和人工呼吸,被救者的意识得到了恢复,等待到了急救人员赶到了现场,现在将抢救工作交给医护人员,恭喜通关!", () => { PassManager.Instance.PassOver(); });
EndAni();
}
});
}
public void FuSuOver()
{
if (fuSuIndex == 1)
{
// PassManager.Instance.SetCtrlPart(6);
int ran = Random.Range(0, 100);
if (ran < 0)
{
//Part6Btn.SetActive(true);
//PassManager.Instance.SetTip("经过胸外按压和人工呼吸,被救者的意识依然没有恢复,请点击工具箱");
fuSuIndex += 1;
}
else
{
//Part6Btn.SetActive(false);
PassManager.Instance.PartTipText.transform.parent.gameObject.SetActive(false);
// PassManager.Instance.SetTip("被救者恢复意识,回复呼吸,抢救成功!", () => { PassManager.Instance.PassOver(); });
endTip.SetActive(true);
EndAni();
}
}
else
{
PassManager.Instance.PartTipText.transform.parent.gameObject.SetActive(false);
// PassManager.Instance.SetTip("被救者恢复意识,回复呼吸,抢救成功!", () => { PassManager.Instance.PassOver(); });
endTip.SetActive(true);
EndAni();
}
}
public void PassOver()
{
PassManager.Instance.PartTipText.transform.parent.gameObject.SetActive(false);
//PassManager.Instance.SetTip("被救者恢复意识,回复呼吸,抢救成功!", () => { PassManager.Instance.PassOver(); });
endTip.SetActive(true);
EndAni();
}
public void SanKai()
{
PassManager.Instance.StartTimeAction(0.3f, () =>
{
PassManager.Instance.SetNpcAni("SanKai");
});
}
public void OpenChuChan()
{
PassManager.Instance.StartTimeAction(3f, () =>
{
chuChanPanel.gameObject.SetActive(true);
});
}
public void EndAni()
{
doctor.gameObject.SetActive(true);
doctor.transform.DOMove(endPoint.position, 1.5f);
PassManager.Instance.SetNpcSate("有");
PassManager.Instance.ChangeCameraPoint(2);
PassManager.Instance.isEnd = true;
EduCoderTool.WebConnecter.Singleton.SendResultToWeb(true);
}
public void AuNiuAudio(float time)
{
PassManager.Instance.StartTimeAction(time, () =>
{
PassManager.Instance.PlayAudio(Resources.Load<AudioClip>("Audio/按钮音效"));
});
}
}