209 lines
5.4 KiB
C#
209 lines
5.4 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
public class CharacterInturn : MonoBehaviour
|
|||
|
{
|
|||
|
|
|||
|
private Button recubtn;//<2F><>Ԯ<EFBFBD><D4AE>ť
|
|||
|
private Button disbtn;//<2F><><EFBFBD><EFBFBD><EFBFBD>䰴ť
|
|||
|
private Button connectgun;//<2F><><EFBFBD><EFBFBD>ˮǹ<CBAE><C7B9>ť
|
|||
|
private Button connectfa;//<2F><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>ť
|
|||
|
private Button openfa;//<2F><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>ť
|
|||
|
//private Image Timermusk;
|
|||
|
//private Text TimerText;
|
|||
|
|
|||
|
private CharacterAin Characterain;
|
|||
|
|
|||
|
private int XfsStep = 0;
|
|||
|
|
|||
|
public GameObject cha;
|
|||
|
public GameObject xfs;
|
|||
|
private GameObject timer;
|
|||
|
// Start is called before the first frame update
|
|||
|
void Start()
|
|||
|
{
|
|||
|
xfs = GameObject.Find("Canvas/xfs");
|
|||
|
|
|||
|
recubtn = GameObject.Find("Canvas/Recuse").GetComponent<Button>();
|
|||
|
disbtn = GameObject.Find("Canvas/Distribution box").GetComponent<Button>();
|
|||
|
connectgun = GameObject.Find("Canvas/xfs/ConnectGun").GetComponent<Button>();
|
|||
|
connectfa = GameObject.Find("Canvas/xfs/ConnectFa").GetComponent<Button>();
|
|||
|
openfa = GameObject.Find("Canvas/xfs/OpenFa").GetComponent<Button>();
|
|||
|
//Timermusk = GameObject.Find("Canvas/xfs/Timerbg/Timermusk").GetComponent<Image>();
|
|||
|
//TimerText = GameObject.Find("Canvas/xfs/Timerbg/Timermusk/Timernumer").GetComponent<Text>();
|
|||
|
Characterain = this.GetComponent<CharacterAin>();
|
|||
|
//animator = this.GetComponent<Animator>();
|
|||
|
// stateInfo = animator.GetCurrentAnimatorStateInfo(0);
|
|||
|
|
|||
|
timer = GameObject.Find("Canvas/Timer");
|
|||
|
|
|||
|
recubtn.gameObject.SetActive(false);
|
|||
|
disbtn.gameObject.SetActive(false);
|
|||
|
xfs.gameObject.SetActive(false);
|
|||
|
|
|||
|
|
|||
|
recubtn.onClick.AddListener(Recuse);
|
|||
|
disbtn.onClick.AddListener(disClick);
|
|||
|
connectgun.onClick.AddListener(CgunClick);
|
|||
|
connectfa.onClick.AddListener(CfaClick);
|
|||
|
openfa.onClick.AddListener(OfaClick);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// Update is called once per frame
|
|||
|
void Update()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void Recuse()//<2F><>Ԯ<EFBFBD><D4AE><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
Characterain.SetSkillAin(CharacterSkill.Rescue);
|
|||
|
StartCoroutine(Rescuereturn(7f));
|
|||
|
}
|
|||
|
|
|||
|
void disClick()//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void CgunClick()//<2F><><EFBFBD><EFBFBD>ˮǹ<CBAE><C7B9><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (XfsStep == 0)
|
|||
|
{
|
|||
|
//ִ<>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Debug.Log("<22><><EFBFBD><EFBFBD>ˮǹ");
|
|||
|
CoGunHide(0);
|
|||
|
XfsStep++;
|
|||
|
StartCoroutine(AnimTime(6f));
|
|||
|
Characterain.SetSkillAin(CharacterSkill.OperateSuccess);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
//ִ<>в<EFBFBD><D0B2><EFBFBD>ʧ<EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD>
|
|||
|
Debug.Log("<22><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>¿<EFBFBD>ʼ");
|
|||
|
XfsStep = 0;
|
|||
|
CoGunHide(0);
|
|||
|
StartCoroutine(AnimTime(2f));
|
|||
|
Characterain.SetSkillAin(CharacterSkill.OperateFail);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void CfaClick()//<2F><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (XfsStep == 1)
|
|||
|
{
|
|||
|
//ִ<>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Debug.Log("<22><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>");
|
|||
|
CoGunHide(1);
|
|||
|
XfsStep++;
|
|||
|
StartCoroutine(AnimTime(6f));
|
|||
|
connectfa.gameObject.SetActive(false);
|
|||
|
Characterain.SetSkillAin(CharacterSkill.OperateSuccess);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//ִ<>в<EFBFBD><D0B2><EFBFBD>ʧ<EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD>
|
|||
|
XfsStep = 0;
|
|||
|
CoGunHide(0);
|
|||
|
StartCoroutine(AnimTime(2f));
|
|||
|
Characterain.SetSkillAin(CharacterSkill.OperateFail);
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void OfaClick()//<2F><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (XfsStep == 2)
|
|||
|
{
|
|||
|
//ִ<>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Debug.Log("<22><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>");
|
|||
|
CoGunHide(1);
|
|||
|
XfsStep++;
|
|||
|
StartCoroutine(AnimTime(6f));
|
|||
|
Characterain.SetSkillAin(CharacterSkill.OperateSuccess);
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//ִ<>в<EFBFBD><D0B2><EFBFBD>ʧ<EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD>
|
|||
|
XfsStep = 0;
|
|||
|
CoGunHide(0);
|
|||
|
StartCoroutine(AnimTime(2f));
|
|||
|
Characterain.SetSkillAin(CharacterSkill.OperateFail);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
IEnumerator AnimTime(float timer)
|
|||
|
{
|
|||
|
TimerMgr.Instance.StartCooldown(timer, HandleCooldownFinished); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴʱ<C8B4><CAB1><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
yield return null;
|
|||
|
}
|
|||
|
|
|||
|
void HandleCooldownFinished()//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
Characterain.SetSkillAin(CharacterSkill.NoSkill);
|
|||
|
CoApper();
|
|||
|
}
|
|||
|
|
|||
|
IEnumerator Rescuereturn(float timer)//Я<><D0AF>ʵ<EFBFBD><CAB5>npc<70><63><EFBFBD><EFBFBD>Ԯ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>
|
|||
|
{
|
|||
|
recubtn.gameObject.SetActive(false);
|
|||
|
TimerMgr.Instance.StartCooldown(timer,HandleRescue);
|
|||
|
yield return null;
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
void HandleRescue()
|
|||
|
{
|
|||
|
Characterain.SetSkillAin(CharacterSkill.NoSkill);
|
|||
|
cha.GetComponent<RecuseNpc>().Setnpcstate();
|
|||
|
}
|
|||
|
void CoGunHide(int Hide)//ִ<>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
switch (Hide)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
connectgun.gameObject.SetActive(false);
|
|||
|
connectfa.gameObject.SetActive(false);
|
|||
|
openfa.gameObject.SetActive(false);
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
openfa.gameObject.SetActive(false);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void CoApper()//<2F><>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3>ֵİ<D6B5>ť
|
|||
|
{
|
|||
|
switch (XfsStep)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
connectgun.gameObject.SetActive(true);
|
|||
|
connectfa.gameObject.SetActive(true);
|
|||
|
openfa.gameObject.SetActive(true);
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
connectfa.gameObject.SetActive(true);
|
|||
|
openfa.gameObject.SetActive(true);
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
openfa.gameObject.SetActive(true);
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|