using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using DG.Tweening; using TMPro; using System.Threading.Tasks; public class roomcontroller : MonoBehaviour { [Header("精灵的预制体")] public GameObject fishManPrefab; [Header("购买的精灵数据")] public List listItem = new List(); private GameObject fishMan;//生成的渔船 private minerControl fishManShipContorl;//渔船的控制器 [Header("精灵生成点")] public Transform startPos; [Header("精灵终点")] public Transform endPos; [Header("房间类型编号")] public int type; public float ActivateValue = 0; public int Num = 0; public int Type = 0; [Header("精灵路径点集合")] public List paths; //航行时间 [Header("走路时间")] public float pathsNeedTimer = 30f; //捕鱼时间 [Header("挖矿时间")] public float fishingNeedTimer = 30f; //休息时间 [Header("休息时间")] public float restTimer = 5f; [Header("显示精灵数量")] public Text shipNumberTextPro; [Header("点击的特效")] public GameObject effectPrefab;//特效 [Header("点击按钮出现的动画")] public Transform OnBtnAni; public float FishPrice; public GameObject map; public static bool canClick = true; public List ids = new List(); public int number; public GameObject musk; // Start is called before the first frame update private void Awake() { listItem = new List(); UpdateShipNumberTextPro(listItem.Count.ToString()); } private void Start() { FishPrice = 10; } async void addman(int type, int number) { if (type == this.type) { GenerateForFisherElf generateForFisherElf = new GenerateForFisherElf(); // 购买渔夫 generateForFisherElf.Num = Num; generateForFisherElf.Count = 1; string userponse = await web.SendRequest(web.URL + "/Voucher/GenerateForFisherElf", "POST", JsonUtility.ToJson(generateForFisherElf)); ids itemList = JsonUtility.FromJson(userponse); Debug.Log(itemList.Ids[0]); if (itemList.ErrorCode == 0) // 如果购买成功 { Promptmgr.Instance.PromptBubble("购买成功", Color.black, Color.blue); /* foreach (string item in itemList.Ids) { Use use = new Use(); // 使用渔夫 use.Id = item; string rect = await web.SendRequest(web.URL + "/Voucher/Use", "POST", JsonUtility.ToJson(use)); Res res = JsonUtility.FromJson(userponse); if (res.ErrorCode == 0) { Promptmgr.Instance.PromptBubble("购买成功", Color.black, Color.blue); //增加船只数量 //ChangeShipNumber(1); } else { Promptmgr.Instance.PromptBubble(res.ErrorMessage, Color.black, Color.red); } }*/ } else// 如果购买失败 { Res res = JsonUtility.FromJson(userponse); Promptmgr.Instance.PromptBubble(res.ErrorMessage, Color.black, Color.red); } } } public void OnClick() { if (!canClick) { return; } if (fishMan == null) { Promptmgr.Instance.PromptBubble("还没有买精灵!", Color.black, Color.red); return; } add_fish(); } public void add_fish(string timerStr = null)//生成船只 { if (timerStr != null) { fishMan = GameObject.Instantiate(fishManPrefab, this.transform); fishMan.transform.position = endPos.position; fishManShipContorl = fishMan.GetComponent(); fishManShipContorl.init(this.paths, this.pathsNeedTimer, this.fishingNeedTimer, this.restTimer, this.startPos, this.endPos); Debug.Log("更新船时间"); return; } musk.gameObject.SetActive(false); number++; UpdateShipNumberTextPro(number+"/10"); fishMan = GameObject.Instantiate(fishManPrefab, this.transform); fishMan.transform.position = startPos.position; fishManShipContorl = fishMan.GetComponent(); fishManShipContorl.init(this.paths,this.pathsNeedTimer,this.fishingNeedTimer,this.restTimer,this.startPos,this.endPos); //MoveToFishingPos(); } //更新精灵数量显示 public void UpdateShipNumberTextPro(string str) { if (shipNumberTextPro.text == str) { return; } shipNumberTextPro.text = str; } //使用代金卷 async void UseShip() { Use use = new Use(); // 使用渔夫 use.Id = listItem[0].Id; string rect = await web.SendRequest(web.URL + "/Voucher/Use", "POST", JsonUtility.ToJson(use)); Res res = JsonUtility.FromJson(rect); if (res.ErrorCode == 0) { Promptmgr.Instance.PromptBubble("使用成功", Color.black, Color.blue); } else { Promptmgr.Instance.PromptBubble(res.ErrorMessage, Color.black, Color.red); } } }