Cute_demon_attacks/meng_yao/Assets/script/scene_loading/JinShaBuy.cs

169 lines
7.4 KiB
C#
Raw Normal View History

2024-10-30 23:18:31 +08:00
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
2024-10-31 20:40:09 +08:00
using UnityEngine.UI;
2024-11-04 23:20:25 +08:00
using UnityEngine.UIElements;
using static input_box_pop_up_window;
2024-10-30 23:18:31 +08:00
[Serializable]
public class RootObject
{
public List<Item> List;
public int ErrorCode;
public string ErrorMessage;
}
2024-10-31 02:49:53 +08:00
public class JinShaBuy : mount
{
public int number=1;
2024-10-31 20:40:09 +08:00
public int max = 10;
2024-11-04 05:28:44 +08:00
public int minerjiage = 0;
2024-11-04 23:20:25 +08:00
public List<GameObject> rooms;
2024-11-05 06:41:16 +08:00
public List<string> ids = new List<string>();
2024-11-04 23:20:25 +08:00
2024-10-31 13:27:31 +08:00
public override void Awake()
{
2024-10-30 23:18:31 +08:00
2024-11-04 20:42:02 +08:00
}
2024-10-31 02:49:53 +08:00
2024-11-04 20:42:02 +08:00
public void Show_buy(Sprite minerIcon,string minerName,int CurrencyId,int Num,float minerjiage,bool isMinr=true)//<2F><><EFBFBD>򵯴<EFBFBD>
2024-10-31 02:49:53 +08:00
{
2024-11-04 05:28:44 +08:00
2024-11-05 14:29:51 +08:00
if (float.Parse(Promptmgr.assestPanel.Coin.text) <minerjiage)
2024-11-04 06:56:09 +08:00
{
2024-11-04 20:42:02 +08:00
Promptmgr.Instance.PromptBubble("<22><><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", Color.black, Color.red);
2024-11-04 06:56:09 +08:00
return;
}
2024-11-04 20:42:02 +08:00
2024-10-31 02:49:53 +08:00
List<BoxType> boxTypes = new List<BoxType>();
2024-11-04 05:28:44 +08:00
boxTypes.Add(new BoxType
{
Name = "account_number",
textName = "<22><><EFBFBD>߶һ<DFB6><D2BB><EFBFBD><EFBFBD><EFBFBD>",
Type = 10,
is_required = false,
icon = LoadSprite(mount.mountitem.itemDataList[CurrencyId].IconPath),
icon2 = minerIcon,
nametext1 = "<22><><EFBFBD><EFBFBD>",
nametext2 = minerName,
numbertext1 = "1",//<2F><><EFBFBD><EFBFBD><EFBFBD>󹤵ļ<F3B9A4B5>Ǯ
numbertext2 = number.ToString()//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
});
2024-10-31 20:40:09 +08:00
boxTypes.Add(new BoxType { Name = "account_number", textName = " <20><><EFBFBD><EFBFBD>:", prompt = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", Type = 6, is_required = false});
2024-10-31 02:49:53 +08:00
boxTypes.Add(new BoxType { Name = "submit", textName = " ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ", Type = 2 });
GameObject gameObject = add_pop_up(true);//<2F><><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD>ĸ<EFBFBD><C4B8>
2024-10-31 20:40:09 +08:00
gameObject.GetComponent<input_box_pop_up_window>().minHeight = 800;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸߶<CDB8>
2024-10-31 02:49:53 +08:00
List<GameObject> gameObjects = gameObject.GetComponent<input_box_pop_up_window>().updateUI(boxTypes, "<22><><EFBFBD><EFBFBD>");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
2024-11-04 05:28:44 +08:00
//<2F><>ʼ<EFBFBD><CABC>
2024-11-04 06:56:09 +08:00
number = 1;
2024-11-04 05:28:44 +08:00
this.minerjiage = (int)minerjiage;
2024-11-05 14:29:51 +08:00
max = (int)(float.Parse(Promptmgr.assestPanel.Coin.text) / minerjiage)>10?10: (int)(float.Parse(Promptmgr.assestPanel.Coin.text) / minerjiage);
2024-11-04 20:42:02 +08:00
//max = int.Parse(AssestPanel.instance.Coin.text) / this.minerjiage;
2024-11-04 06:56:09 +08:00
2024-11-04 05:28:44 +08:00
gameObjects[0].GetComponent<input_box_pop_up_window_item>().numbertextobj1.GetComponent<Text>().text = (this.minerjiage * number).ToString();
gameObjects[0].GetComponent<input_box_pop_up_window_item>().numbertextobj2.GetComponent<Text>().text = number.ToString();
UpdateText(gameObjects[1].GetComponent<input_box_pop_up_window_item>().contentobj.GetComponent<Text>());
2024-11-01 02:27:50 +08:00
UpdateText(gameObjects[1].GetComponent<input_box_pop_up_window_item>().contentobj.GetComponent<Text>());
2024-10-31 20:40:09 +08:00
2024-11-01 05:26:28 +08:00
gameObjects[1].GetComponent<input_box_pop_up_window_item>().register_click(async (BoxType boxType, int type) =>//<2F><>¼ȷ<C2BC><C8B7><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
2024-10-31 20:40:09 +08:00
{
if (type == 0)
{
if (number>1)
{
number--;
2024-11-05 14:29:51 +08:00
max = (int)(float.Parse(Promptmgr.assestPanel.Coin.text) / minerjiage) > 10 ? 10 : (int)(float.Parse(Promptmgr.assestPanel.Coin.text) / minerjiage);
2024-11-04 05:28:44 +08:00
gameObjects[0].GetComponent<input_box_pop_up_window_item>().numbertextobj1.GetComponent<Text>().text = (this.minerjiage*number).ToString();
gameObjects[0].GetComponent<input_box_pop_up_window_item>().numbertextobj2.GetComponent<Text>().text = number.ToString();
UpdateText(gameObjects[1].GetComponent<input_box_pop_up_window_item>().contentobj.GetComponent<Text>());
2024-10-31 20:40:09 +08:00
}
}
else if (type == 1)
{
if (number < max)
{
number++;
2024-11-05 14:29:51 +08:00
max = (int)(float.Parse(Promptmgr.assestPanel.Coin.text) / minerjiage) > 10 ? 10 : (int)(float.Parse(Promptmgr.assestPanel.Coin.text) / minerjiage);
2024-11-04 05:28:44 +08:00
gameObjects[0].GetComponent<input_box_pop_up_window_item>().numbertextobj1.GetComponent<Text>().text = (this.minerjiage * number).ToString();
gameObjects[0].GetComponent<input_box_pop_up_window_item>().numbertextobj2.GetComponent<Text>().text = number.ToString();
UpdateText(gameObjects[1].GetComponent<input_box_pop_up_window_item>().contentobj.GetComponent<Text>());
2024-10-31 20:40:09 +08:00
}
}
else if (type == 2)
{
if (number!= max)
{
number=max;
2024-11-05 14:29:51 +08:00
max = (int)(float.Parse(Promptmgr.assestPanel.Coin.text) / minerjiage) > 10 ? 10 : (int)(float.Parse(Promptmgr.assestPanel.Coin.text) / minerjiage);
2024-11-04 05:28:44 +08:00
gameObjects[0].GetComponent<input_box_pop_up_window_item>().numbertextobj1.GetComponent<Text>().text = (this.minerjiage * number).ToString();
gameObjects[0].GetComponent<input_box_pop_up_window_item>().numbertextobj2.GetComponent<Text>().text = number.ToString();
UpdateText(gameObjects[1].GetComponent<input_box_pop_up_window_item>().contentobj.GetComponent<Text>());
2024-10-31 20:40:09 +08:00
}
}
});
2024-10-31 02:49:53 +08:00
2024-11-01 05:26:28 +08:00
gameObjects[2].GetComponent<input_box_pop_up_window_item>().register_click(async (BoxType boxType, int type) =>//<2F><>¼ȷ<C2BC><C8B7><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
2024-10-31 02:49:53 +08:00
{
if (type == 0)
{
gameObject.GetComponent<input_box_pop_up_window>().destroy();
}
else if (type == 1)
{
2024-11-03 15:09:40 +08:00
2024-11-04 20:42:02 +08:00
if (isMinr)
{
GenerateForFisherElf generateForFisherElf = new GenerateForFisherElf(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
generateForFisherElf.Num = Num;
generateForFisherElf.Count = Convert.ToInt32(number);
string response = await web.SendRequest(web.URL + "/Voucher/GenerateForMinerElf", "POST", JsonUtility.ToJson(generateForFisherElf));
2024-11-05 02:01:38 +08:00
Mining_Wizard_ID data = JsonUtility.FromJson<Mining_Wizard_ID>(response);
2024-11-05 05:09:41 +08:00
Debug.Log("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id"+data.Ids[0]);
2024-11-04 20:42:02 +08:00
Promptmgr.Instance.PromptBubble("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>", Color.black,Color.blue);
2024-11-04 23:20:25 +08:00
int index1 = Num - 1;
int index2 = (Num - 1)*2;
2024-11-05 02:01:38 +08:00
rooms[index1].GetComponent<RoomJinsha>().addman(index2, number);
2024-11-05 05:11:14 +08:00
//Debug.Log(data.Ids[0]);
2024-11-05 02:01:38 +08:00
rooms[index1].GetComponent<RoomJinsha>().ids.Add(data.Ids[0]);
2024-11-05 06:41:16 +08:00
this.ids.Add(data.Ids[0]);
2024-11-05 02:01:38 +08:00
2024-11-04 20:42:02 +08:00
}
else
{
ItmeBuy itmebuy = new ItmeBuy();
itmebuy.Num = Num;
itmebuy.Count = Convert.ToInt32(number);
itmebuy.Type = 1;
string response = await web.SendRequest(web.URL + "/Item/Buy", "POST", JsonUtility.ToJson(itmebuy));
Debug.Log(response);
Promptmgr.Instance.PromptBubble("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>", Color.black, Color.blue);
2024-11-04 23:20:25 +08:00
int index1 = Num - 74;
int index2 = (Num - 74)*2;
2024-11-05 04:03:26 +08:00
rooms[index1].GetComponent<RoomJinsha>().addtools(index2, number);
2024-11-04 20:42:02 +08:00
}
2024-10-31 02:49:53 +08:00
}
});
}
2024-10-31 20:40:09 +08:00
2024-11-04 20:42:02 +08:00
void UpdateText(Text text)
{
2024-11-04 05:28:44 +08:00
2024-10-31 20:40:09 +08:00
text.text = number.ToString();
}
2024-10-31 02:49:53 +08:00
2024-10-30 23:18:31 +08:00
}