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.

175 lines
5.4 KiB

using DG.Tweening;
using HJDFrameWork;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Level05
{
public class QuestionWnd : ViewBase
{
private Text questionIndex;
private Transform shuiguan;
private Transform guanzi;
private int pass2Index = 0;
private GameObject pass2ButtonGroup;
private GameObject rawImg2;
private Animator shuiguanAnimator;
public override void Init()
{
base.Init();
questionIndex = GetViewData<Text>("questionIndex");
shuiguan = GetItem("ShuiGuan").transform;
guanzi = GetItem("GuanZi").transform;
pass2ButtonGroup = GetItem("pass2btnGroup").gameObject;
rawImg2 = GetItem("RawImage2").gameObject;
shuiguanAnimator = shuiguan.GetComponent<Animator>();
}
public override void Show()
{
base.Show();
}
public override void Hide()
{
base.Hide();
}
public void UpdateQuestionIndex(int index)
{
questionIndex.text = index.ToString();
}
public void OpenXFDoor()
{
Transform door = GetItem("Xfs_Door").transform;
door.DOLocalRotate(new Vector3(0, -160f, 0), 1f);
door.DOLocalMoveX(-0.5f, 1f);
}
public void ResetXFDoor()
{
Transform door = GetItem("Xfs_Door").transform;
door.DOComplete();
door.DOLocalRotate(new Vector3(0, 0, 0), 0f);
door.DOLocalMoveX(-0.435f, 0f);
}
public void OpenGuanzi()
{
guanzi.DOLocalMove(new Vector3(2.54f, 0.92f, -0.72f), 1.5f);
guanzi.DOLocalRotate(new Vector3(-178, 0.26f, 70f), 1.5f);
//chuShuiKou
}
public void OpenShuiGuan(int index)
{
switch (index)
{
case 0:
shuiguanAnimator.CrossFade("XianJie", 1f);
shuiguan.DOLocalMove(new Vector3(-0.089f, 0.62f, -0.14f), 1f);
guanzi.DOLocalMove(new Vector3(2.83f, 0.76f, -0.36f), 1f);
guanzi.DOLocalRotate(new Vector3(-178, 0.26f, 70), 1f);
Level05Root.Instance.TimeTask(1.1f, () =>
{
guanzi.gameObject.SetActive(false);
shuiguan.gameObject.SetActive(false);
GetItem("OKShuiGuan").gameObject.SetActive(true);
});
Level05Root.Instance.TimeTask(1f, () =>
{
GetItem("chuShuiKou").gameObject.SetActive(true);
});
break;
case 1:
shuiguanAnimator.CrossFade("Open", 0.5f);
break;
case 2:
//移动镜头
Level05Root.Instance.TimeTask(0.5f, () =>
{
GetItem("camera2").transform.DOLocalMoveX(-9.463f, 1f);
Level05Root.Instance.TimeTask(1f, () => { GetItem("q2key").gameObject.SetActive(true); });
});
break;
}
}
public void MoveShuiGuan()
{
shuiguan.DOLocalMove(new Vector3(0.3f, 2f, -0.12f), 1);
Level05Root.Instance.TimeTask(1, () =>
{
shuiguan.DOLocalMove(new Vector3(1.88f, 0.68f, -0.5f), 2.5f);
pass2Index += 1;
if (pass2Index == 2)
{
pass2ButtonGroup.SetActive(false);
Level05Root.Instance.TimeTask(2f, () =>
{
shuiguan.DOScale(0.7f, 0f);
guanzi.DOLocalRotate(new Vector3(-180, 0, 0), 0.5f);
GetViewData<RawImage>("RawImage1").gameObject.SetActive(false);
rawImg2.SetActive(true);
});
}
});
}
public void MoveGuanZi()
{
guanzi.DOLocalMove(new Vector3(0.368f, 2.5f, 0), 1f);
Level05Root.Instance.TimeTask(1, () =>
{
guanzi.DOLocalMove(new Vector3(2.48f, 1.5f, -0.8f), 2.5f);
pass2Index += 1;
if (pass2Index == 2)
{
pass2ButtonGroup.SetActive(false);
Level05Root.Instance.TimeTask(2f, () =>
{
shuiguan.DOScale(0.7f, 0f);
guanzi.DOLocalRotate(new Vector3(-180, 0, 0), 0.5f);
GetViewData<RawImage>("RawImage1").gameObject.SetActive(false);
rawImg2.SetActive(true);
});
}
});
}
public void MeiHuo(int index)
{
GetItem("Water").gameObject.SetActive(true);
Level05Root.Instance.TimeTask(1f, () =>
{
GetItem("Huo_01").GetComponent<ParticleSystem>().startLifetime = 0f;
});
Level05Root.Instance.TimeTask(4f, () =>
{
GetItem("Water").gameObject.SetActive(false);
AnswerSys.Instance.SetCurrentKey(index);
});
}
}
}