using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; using UnityEngine.UI; using DG.Tweening; public class BaoshiRoomcontroller : MonoBehaviour { [Header("房间id")] public int RoomId; [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("保存精灵对象")] List fishManlist = new List(); [Header("显示精灵数量")] public Text shipNumberTextPro; public int shipNumber; public int MaxShipNumber=10; [Header("显示购买价格")] public Text price; public int ShipNumber { get=> shipNumber; set { shipNumber=value; shipNumberTextPro.text = shipNumber.ToString()+"/"+MaxShipNumber.ToString(); } } [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 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) // 如果购买成功 // { // Res res = JsonUtility.FromJson(userponse); // 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 async void OnClick() { if (!canClick) { return; } if (await ActivationRoom()) { add_fish(); Scene_baoshikuang.instance.updatanumber(); } } public void add_fish(string timerStr = null)//生成船只 { //ActivationRoom() if (timerStr != null) { musk.gameObject.SetActive(false); fishMan = GameObject.Instantiate(fishManPrefab, this.transform); fishManlist.Add(fishMan); Vector3 pos = new Vector3(Random.Range((endPos.position.x - startPos.position.x) / 2, endPos.position.x), endPos.position.y, endPos.position.z); fishMan.transform.position = pos; fishManShipContorl = fishMan.GetComponent(); fishManShipContorl.init(this.paths, this.pathsNeedTimer, this.fishingNeedTimer, this.restTimer, this.startPos, this.endPos); Debug.Log("更新船时间"); //dig(); return; } musk.gameObject.SetActive(false); //number++; //UpdateShipNumberTextPro(number + "/10"); fishMan = GameObject.Instantiate(fishManPrefab, this.transform); fishManlist.Add(fishMan); fishMan.transform.position = startPos.position; fishManShipContorl = fishMan.GetComponent(); fishManShipContorl.init(this.paths, this.pathsNeedTimer, this.fishingNeedTimer, this.restTimer, this.startPos, this.endPos); } //使用代金卷 //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); // } //} public async Task ActivationRoom() { return await miner_jiekou.instance.MiningActivate(this.RoomId); } private void OnDisable() { foreach (GameObject obj in fishManlist) { Destroy(obj); } fishManlist.Clear(); } }