Files
findthesource/Assets/Scripts/Targyak.cs

306 lines
12 KiB
C#
Raw Normal View History

2022-11-15 19:57:06 +01:00
using System.Collections;
using System.Collections.Generic;
2023-02-16 14:56:30 +01:00
using System;
2023-01-26 21:25:20 +01:00
using TMPro;
2022-11-15 19:57:06 +01:00
using UnityEngine;
2023-02-08 16:03:08 +01:00
using UnityEngine.UI;
2022-11-15 19:57:06 +01:00
public class Targyak : MonoBehaviour
{
private Akciok akciok;
private Elet elet;
private Akciopont akciopont;
private movement movement;
private Energia energia;
2023-01-23 13:03:35 +01:00
private Ugynok ugynok;
2023-01-26 21:25:20 +01:00
private Dice dice;
2023-02-21 17:21:15 +01:00
private jatekmanager jatekmanager;
2023-01-26 21:25:20 +01:00
public TMP_InputField kocka1ertek;
public TMP_InputField kocka2ertek;
2023-01-25 19:31:43 +01:00
public int ujertek1;
public int ujertek2;
2022-11-16 11:23:25 +01:00
public int targy_szamlalo = 0;
2022-11-22 14:45:32 +01:00
public int adrenalinloket = 0;
public int hackercsatlakozo = 0;
public int lathatatlanoltozet = 0;
public int droidgepagyu = 0;
public int matavtaviranyito = 0;
public int fustgranat = 0;
2023-04-12 11:40:32 +02:00
[SerializeField] private bool vanUgynok = false;
2023-01-23 13:03:35 +01:00
public bool lathatatlanOltozetAktivalva = false;
2023-01-25 19:31:43 +01:00
public bool matavtaviranyitoAktivalva = false;
2023-01-24 17:07:33 +01:00
private int randomszam;
2023-02-09 13:38:54 +01:00
public Button confirmNewValue;
public Button cancelNewValue;
2023-02-19 17:24:34 +01:00
//targy megszerezve ui
public TMP_Text adrenalinMegszerezve;
public TMP_Text hackerMegszerezve;
public TMP_Text lathatatlanMegszerezve;
public TMP_Text droidMegszerezve;
public TMP_Text matavMegszerezve;
public TMP_Text alomhozoMegszerezve;
//targy felhasznalva ui
public TMP_Text adrenalinFelhasznalva;
public TMP_Text hackerFelhasznalva;
public TMP_Text lathatatlanFelhasznalva;
public TMP_Text droidFelhasznalva;
public TMP_Text matavFelhasznalva;
public TMP_Text alomhozoFelhasznalva;
public List<string> elerheto_targyak = new List<string>{"Adrenalinloket", "Hacker csatlakozo", "Lathatatlan oltozet", "Droid agyu", "Matav taviranyito", "Alomhozo fustgranat"};
2023-02-10 14:06:30 +01:00
private void Awake() {
2022-11-15 19:57:06 +01:00
akciok = FindObjectOfType<Akciok>();
elet = FindObjectOfType<Elet>();
akciopont = FindObjectOfType<Akciopont>();
movement = FindObjectOfType<movement>();
energia = FindObjectOfType<Energia>();
2023-01-23 13:03:35 +01:00
ugynok = FindObjectOfType<Ugynok>();
2023-01-26 21:25:20 +01:00
dice = FindObjectOfType<Dice>();
2023-02-21 17:21:15 +01:00
jatekmanager = FindObjectOfType<jatekmanager>();
2022-11-15 19:57:06 +01:00
}
2023-04-12 11:40:32 +02:00
private void Start() {
adrenalinFelhasznalva.gameObject.SetActive(false);
hackerFelhasznalva.gameObject.SetActive(false);
lathatatlanFelhasznalva.gameObject.SetActive(false);
droidFelhasznalva.gameObject.SetActive(false);
matavFelhasznalva.gameObject.SetActive(false);
alomhozoFelhasznalva.gameObject.SetActive(false);
}
2022-11-22 14:45:32 +01:00
public void RandomTargy()
{
2023-02-19 17:24:34 +01:00
if(elerheto_targyak.Count == 0) return;
2023-01-26 21:25:20 +01:00
2023-02-19 17:24:34 +01:00
randomszam = UnityEngine.Random.Range(0, elerheto_targyak.Count);
2023-01-24 17:07:33 +01:00
2023-02-19 17:24:34 +01:00
//megszerezve ui es beaddolas
if(elerheto_targyak[randomszam].Equals("Adrenalinloket")){
adrenalinMegszerezve.text = "X";
2022-11-22 14:45:32 +01:00
adrenalinloket++;
2023-04-12 11:40:32 +02:00
adrenalinFelhasznalva.gameObject.SetActive(true);
2023-01-23 13:03:35 +01:00
Debug.Log("Kaptal egy AdrenalinLoketet!");
2023-02-19 17:24:34 +01:00
}else if(elerheto_targyak[randomszam].Equals("Hacker csatlakozo")){
hackerMegszerezve.text = "X";
2022-11-22 14:45:32 +01:00
hackercsatlakozo++;
2023-04-12 11:40:32 +02:00
hackerFelhasznalva.gameObject.SetActive(true);
2023-01-23 13:03:35 +01:00
Debug.Log("Kaptal egy Hacker Csatlakozot!");
2023-02-19 17:24:34 +01:00
}else if(elerheto_targyak[randomszam].Equals("Lathatatlan oltozet")){
lathatatlanMegszerezve.text = "X";
2022-11-22 14:45:32 +01:00
lathatatlanoltozet++;
2023-04-12 11:40:32 +02:00
lathatatlanFelhasznalva.gameObject.SetActive(true);
2023-01-23 13:03:35 +01:00
Debug.Log("Kaptal egy Lathatatlan oltozetet!");
2023-02-19 17:24:34 +01:00
}else if(elerheto_targyak[randomszam].Equals("Droid agyu")){
droidMegszerezve.text = "X";
2022-11-22 14:45:32 +01:00
droidgepagyu++;
2023-04-12 11:40:32 +02:00
droidFelhasznalva.gameObject.SetActive(true);
2023-01-23 13:03:35 +01:00
Debug.Log("Kaptal egy Droid-X2 Gepagyut!");
2023-02-19 17:24:34 +01:00
}else if(elerheto_targyak[randomszam].Equals("Matav taviranyito")){
matavMegszerezve.text = "X";
2022-11-22 14:45:32 +01:00
matavtaviranyito++;
2023-04-12 11:40:32 +02:00
matavFelhasznalva.gameObject.SetActive(true);
2023-01-23 13:03:35 +01:00
Debug.Log("Kaptal egy Matav Taviranyitot!");
2023-02-19 17:24:34 +01:00
}else if(elerheto_targyak[randomszam].Equals("Alomhozo fustgranat")){
alomhozoMegszerezve.text = "X";
2022-11-22 14:45:32 +01:00
fustgranat++;
2023-04-12 11:40:32 +02:00
alomhozoFelhasznalva.gameObject.SetActive(true);
2023-01-23 13:03:35 +01:00
Debug.Log("Kaptal egy Alomhozo Fustgranatot!");
2022-11-22 14:45:32 +01:00
}
2023-02-19 17:24:34 +01:00
elerheto_targyak.RemoveAt(randomszam); //szedje ki a listabol
2022-11-22 14:45:32 +01:00
}
2023-01-26 21:25:20 +01:00
public void addAdrenalin() {
adrenalinloket = 1;
}
2023-02-19 17:24:34 +01:00
private void Update() {
//betu kitorlese
2023-02-16 14:56:30 +01:00
if(!kocka1ertek.text.Equals("")){ //megnezzuk hogy van e mar valami a szovegben
for(int i = 0; i < kocka1ertek.text.Length; i++) //vegig megyunk a szovegen
{
if(!Char.IsDigit(kocka1ertek.text[i])){ //ha a betu nem szam torolje
Debug.Log("updaate");
2023-02-19 17:24:34 +01:00
kocka1ertek.text = kocka1ertek.text.Remove(i);
2023-02-16 14:56:30 +01:00
}
}
}
if(!kocka2ertek.text.Equals("")){ //megnezzuk hogy van e mar valami a szovegben
for(int i = 0; i < kocka2ertek.text.Length; i++) //vegig megyunk a szovegen
{
if(!Char.IsDigit(kocka2ertek.text[i])){ //ha a betu nem szam torolje
2023-02-19 17:24:34 +01:00
kocka2ertek.text = kocka2ertek.text.Remove(i);
2023-02-16 14:56:30 +01:00
}
}
}
}
2023-02-08 16:03:08 +01:00
public void CallAdrenalinLoket() => StartCoroutine(AdrenalinLoket());
public IEnumerator AdrenalinLoket() {
2023-02-10 13:33:09 +01:00
Debug.Log("adrenalin ienumerator");
2023-02-10 14:06:30 +01:00
2023-02-08 16:03:08 +01:00
kocka1ertek.text = dice.getDices()[0].ToString(); //maradjon uresen es jelenjen meg kepen a kocka ertekek, hogy while-al varakoztatni lehessen?
kocka2ertek.text = dice.getDices()[1].ToString();
2023-01-26 21:25:20 +01:00
kocka1ertek.gameObject.SetActive(true); //aktivalja az input mezot hogy meg lehessen adni az uj erteket
2023-02-08 16:03:08 +01:00
kocka2ertek.gameObject.SetActive(true);
confirmNewValue.gameObject.SetActive(true);//aktivalja a gombot hozza
cancelNewValue.gameObject.SetActive(true);
2023-02-09 13:38:54 +01:00
//VARNIA KELL A GOMBRA || itt folytatja
2023-02-08 16:03:08 +01:00
var waitForButton = new WaitForUIButtons(confirmNewValue, cancelNewValue);
yield return waitForButton.Reset();
2023-02-09 13:38:54 +01:00
2023-02-10 16:13:26 +01:00
//nem szam karakter levedes?
2023-02-09 13:38:54 +01:00
ujertek1 = int.Parse(kocka1ertek.text);
ujertek2 = int.Parse(kocka2ertek.text); //hogy tunik el az elozo? || egymas melle kerul a ket input vagy gomb ami deaktivalja a inputot
2023-02-08 16:03:08 +01:00
2023-02-10 13:33:09 +01:00
Debug.Log("ujertek1: " + ujertek1 + " ujertek2: " + ujertek2);
2023-02-08 16:03:08 +01:00
if(waitForButton.PressedButton == confirmNewValue){
deactivateInputOk(true);
2023-02-10 14:06:30 +01:00
dice.ujertek.Add(ujertek1); //csak akkor adja at ha leokezta
dice.ujertek.Add(ujertek2); //uj adat amit a user adott meg
2023-02-09 13:38:54 +01:00
dice.mehet = true;
dice.HelyszinKiBekapcs(false);
2023-02-19 17:24:34 +01:00
adrenalinFelhasznalva.text = "X";
2023-02-09 13:38:54 +01:00
yield break; //kilepeshez
2023-02-08 16:03:08 +01:00
}else{
deactivateInputOk(false);
2023-02-12 16:53:09 +01:00
dice.HelyszinKiBekapcs(false);
2023-02-09 13:38:54 +01:00
}
//ha nem lepett ki eddig
2023-02-12 16:53:09 +01:00
//dice.ujertek[0] = dice.getDices()[0];
//dice.ujertek[1] = dice.getDices()[1]; //regi adat, hogy ne legyen hibas
2023-01-26 21:25:20 +01:00
}
2023-02-08 16:03:08 +01:00
public void deactivateInputOk(bool targyelvesztes) {
2023-01-26 21:25:20 +01:00
kocka1ertek.gameObject.SetActive(false);
kocka2ertek.gameObject.SetActive(false);
2023-02-08 16:03:08 +01:00
confirmNewValue.gameObject.SetActive(false);//deaktivalja a gombot hozza
cancelNewValue.gameObject.SetActive(false);
if(targyelvesztes)
adrenalinloket = 0; //targy elvesztese
2022-11-15 19:57:06 +01:00
}
2023-01-24 17:07:33 +01:00
public void HackerCsatlakozo() { //kesz
2022-11-15 19:57:06 +01:00
//+2 tolteny
2023-03-01 10:43:27 +01:00
akciok.Betarazas(2);
akciopont.akciopont++; //betarazas miatt egy pont visszaadasa
2022-11-15 19:57:06 +01:00
//+1 elet
elet.Eletplusz();
//+1 akcio
2023-02-20 16:16:23 +01:00
akciopont.UpdateAkciopont(1);
2023-02-10 14:06:30 +01:00
2023-02-19 17:24:34 +01:00
hackercsatlakozo = 0; //targy elvesztese
2023-02-20 15:21:58 +01:00
Debug.Log("hacker felhasznalva");
2023-02-19 17:24:34 +01:00
//felhasznalva ui
hackerFelhasznalva.text = "X";
2022-11-15 19:57:06 +01:00
}
2023-01-24 17:07:33 +01:00
public void LathatatlanOltozek() { //kesz
2023-01-23 13:03:35 +01:00
lathatatlanOltozetAktivalva = true;
2023-02-19 17:24:34 +01:00
lathatatlanoltozet = 0; //targy elvesztese
2023-02-20 15:21:58 +01:00
Debug.Log("lathatatlan felhasznalva");
2023-02-19 17:24:34 +01:00
//felhasznalva ui
lathatatlanFelhasznalva.text = "X";
2022-11-15 19:57:06 +01:00
}
2023-02-21 17:21:15 +01:00
public void DroidGepagyu() {
//deaktivalni minden objectet kiveve a ugynok text boxokat es addig nem vissza aktivalni amig nem kattintott ra valamelyikre
//deaktivalas
2023-03-09 15:06:41 +01:00
//jatekmanager.ugynokDeaktivalas(false);
2023-04-12 11:40:32 +02:00
vanUgynok = false;
//nezze meg hogy van ugynokcsapat valahol kulonben ne aktivalja
foreach(var item in ugynok.oneone){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.onetwo){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.onethree){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.onefour){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.twoone){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.twotwo){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.twothree){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.twofour){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.threeone){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.threetwo){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.threethree){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
foreach(var item in ugynok.threefour){
if(item.Equals("1") || item.Equals("2") || item.Equals("3") || item.Equals("4") || item.Equals("5") || item.Equals("6")) vanUgynok = true;
}
if(!vanUgynok){
Debug.Log("nincs sehol ugynok csapat");
return; //ha nincs sehol ugynok ne fussok le
}
2023-03-09 15:06:41 +01:00
jatekmanager.UpdateGameState(jatekmanager.GameState.Ugynok); //ugynok state (minden kikapcsolva);
2023-02-22 15:39:59 +01:00
ugynok.droidagyuAktivalva = true;
2023-02-21 17:21:15 +01:00
Debug.Log("kattints egy ugynok csapatra!");
2023-02-10 14:06:30 +01:00
droidgepagyu = 0; //targy elvesztese
2023-02-19 17:24:34 +01:00
2023-02-20 15:21:58 +01:00
Debug.Log("droid felhasznalva");
2023-02-19 17:24:34 +01:00
//felhasznalva ui
droidFelhasznalva.text = "X";
2022-11-15 19:57:06 +01:00
}
public void MatavTaviranyito() {
2023-01-25 19:31:43 +01:00
matavtaviranyitoAktivalva = true;
2023-02-10 14:06:30 +01:00
matavtaviranyito = 0; //targy elvesztese
2023-02-19 17:24:34 +01:00
2023-02-20 15:21:58 +01:00
Debug.Log("matav felhasznalva");
2023-02-19 17:24:34 +01:00
//felhasznalva ui
matavFelhasznalva.text = "X";
2022-11-15 19:57:06 +01:00
}
public void FustGranat() {
2022-11-22 14:45:32 +01:00
energia.granatAktivalva = true;
2023-02-19 17:24:34 +01:00
fustgranat = 0; //targy elvesztese
2023-02-20 15:21:58 +01:00
Debug.Log("granat felhasznalva");
2023-02-19 17:24:34 +01:00
//felhasznalva ui
alomhozoFelhasznalva.text = "X";
2022-11-15 19:57:06 +01:00
}
2023-02-10 14:06:30 +01:00
}