Files
AliceBall/Assets/_Alice/Scripts/Task/GemTask/SeekGemTask.cs

90 lines
2.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using DragonLi.Core;
using UnityEngine;
public class SeekGemTask : Task
{
public override void Init()
{
base.Init();
}
public override void StartTask()
{
base.StartTask();
winTaskTime = Random.Range(40, 61);
endTaskTime = 60;
// winTaskTime = 5;
// endTaskTime =7;
}
public override void EndTask()
{
base.EndTask();
if(GameManager.Ins.taskManager.isGetGem)
return;
foreach (var item in curGems)
{
if (item != null)
{
item.GetComponent<SeekGem>().GetGem(3);
break;
}
}
}
public override void CompleteTask()
{
base.CompleteTask();
//if (GameLocal.Ins.place == Place.Chongqing_Yuzhong_Hongyadong_Xiakexing_shiwan)
//{
// Debug.Log("重庆地点任务完成,直接结束游戏");
// // 调用游戏结束逻辑
// GameManager.Ins.GameOver(GameState.Victory);
// // 直接显示胜利界面,跳过舞会场景
// //GameManager.Ins.PlayBGM(1); // 播放胜利BGM
// WinPanel.Show();
// return; // 直接返回,不执行后续的敌人显示等逻辑
//}
foreach (var item in curGems)
{
Destroy(item);
}
curGems.Clear();
MonoSingleton<CoroutineTaskManager>.Instance.WaitSecondTodo(() =>
{
GameManager.Ins.enemy.Show();
GameManager.Ins.enemy.SetState(1);
},3);
}
public override void Update()
{
base.Update();
if(isEnd)
return;
foreach (var item in curGems)
{
if (item && GameManager.Ins.playerRightHand.hit)
{
var seekGem=GameManager.Ins.playerRightHand.hit.transform.parent.GetComponent<SeekGem>();
if(seekGem==null|| item.GetComponent<SeekGem>()==null)
continue;
if ((seekGem.Id == item.GetComponent<SeekGem>().Id))
{
item.GetComponent<SeekGem>().outline.enabled = true;
continue;
}
}
if (item&&item.GetComponent<SeekGem>())
{
item.GetComponent<SeekGem>().outline.enabled = false;
}
}
}
}