using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Task : MonoBehaviour { public int taskId; public List curGems = new List(); public bool isStartTask; public float winTaskTime; public float endTaskTime; public float curTaskTime; public bool isWin; public bool isEnd; public virtual void Init() { } public virtual void StartTask() { if(isStartTask) return; isStartTask = true; isWin = false; isEnd = false; curTaskTime = 0; } public virtual void Update() { if(!isStartTask) return; curTaskTime += Time.deltaTime; if (!isWin && curTaskTime >= winTaskTime) isWin = true; if (!isEnd && curTaskTime >= endTaskTime) EndTask(); } public virtual void EndTask() { isEnd = true; } public virtual void CompleteTask() { isEnd = true; isWin = true; } }