public void Load(SkillsPlayer skillsplayer, List <Players> players, List <Txs> txs, int height, string address) { for (int i = 0; i < txs.Count; i++) { players = GetPlayers(address, txs[i].Height); if (!txs[i].Sender) { List <Players> _players = GetPlayers(txs[i].AddressSender, txs[i].Height); int seed = int.Parse(AttachmentBase58.HexToDecimal(AttachmentBase58.Base58NumericDecode(txs[i].Tx.Substring(0, 4)))); LinearConRng rnd = new LinearConRng(seed); int enemy = rnd.NextInt(0, _players.Count); SkillsPlayer skillsEnemy = AddressSkills(txs[i].AddressSender, txs[i].Height); if (_players[enemy].Address == address && skillsEnemy.Height <= txs[i].Height) { var panelGO = Instantiate(GameHistory, transform); panelGO.GetComponent <GameHistoryPanel>().SetStats(txs[i].Tx, txs[i].AddressSender, skillsplayer.Skills, skillsEnemy.Skills, Convert.ToInt32(txs[i].Sender)); panels.Add(panelGO); } } else { int seed = int.Parse(AttachmentBase58.HexToDecimal(AttachmentBase58.Base58NumericDecode(txs[i].Tx.Substring(0, 4)))); LinearConRng rnd = new LinearConRng(seed); int enemy = rnd.NextInt(0, players.Count); SkillsPlayer skillsEnemy = AddressSkills(players[enemy].Address, txs[i].Height); if (skillsEnemy.Height <= txs[i].Height) { var panelGO = Instantiate(GameHistory, transform); panelGO.GetComponent <GameHistoryPanel>().SetStats(txs[i].Tx, players[enemy].Address, skillsplayer.Skills, players[enemy].Skills, Convert.ToInt32(txs[i].Sender)); panels.Add(panelGO); } } } }
public void SetStats(string tx, string enemy, int[] skills, int[] skillsEnemy, int txChoose) { Tx.text = "ID: " + tx; Enemy.text = "Enemy: " + enemy; Skills = skills; SkillsEnemy = skillsEnemy; int result; Debug.Log(txChoose); if (txChoose == 1) { result = Fight.CalculateFight(skills, skillsEnemy, int.Parse(AttachmentBase58.HexToDecimal(AttachmentBase58.Base58NumericDecode(tx.Substring(0, 4))))); } else { result = Fight.CalculateFight(skillsEnemy, skills, int.Parse(AttachmentBase58.HexToDecimal(AttachmentBase58.Base58NumericDecode(tx.Substring(0, 4))))); } if (txChoose == 1 && result == 0) { win.SetActive(true); } else if (txChoose == 1 && result == 1) { defeat.SetActive(true); } else if (txChoose == 0 && result == 0) { defeat.SetActive(true); } else if (txChoose == 0 && result == 1) { win.SetActive(true); } else { draw.SetActive(true); } for (int i = 0; i < SkillsEnemy.Length; i++) { transform.GetChild(i).GetComponent <Image>().sprite = Resources.LoadAll <Sprite>("SkillPreview")[SkillsEnemy[i]]; } }
public void ShowSavePanel() { bool rdy = false; for (int i = 0; i < SelSkills.Length; i++) { if (SelSkills[i] == -1) { rdy = false; break; } rdy = true; } if (rdy) { ErrorMsg.SetActive(false); string numeric = SelSkills[0] + "A" + SelSkills[1] + "A" + SelSkills[2]; string attachment = AttachmentBase58.Base58NumericEncode(BigInteger.Parse(AttachmentBase58.HexToDecimal(numeric))); FindObjectOfType <SaveDataPanel>().ShowPanel(attachment, AddressInfo.recipient[0], AddressInfo.Asset); } else { ErrorMsg.SetActive(true); Debug.Log("Cant show WavesData panel!"); } }