2022-11-07 17:56:31 +01:00
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
2022-11-14 14:51:43 +01:00
|
|
|
using TMPro;
|
2022-11-17 16:21:13 +01:00
|
|
|
using System.Linq;
|
2022-12-05 15:21:52 +01:00
|
|
|
using System;
|
2023-07-01 17:51:10 +02:00
|
|
|
using UnityEngine.UI;
|
2022-11-07 17:56:31 +01:00
|
|
|
|
|
|
|
|
public class Akciok : MonoBehaviour
|
|
|
|
|
{
|
2022-11-14 14:51:43 +01:00
|
|
|
//Betarazashoz
|
2023-06-12 13:05:47 +02:00
|
|
|
public int toltenyszamlalo = 0;
|
2022-11-14 14:51:43 +01:00
|
|
|
public TMP_Text[] toltenyek;
|
2023-06-12 13:05:47 +02:00
|
|
|
|
2022-11-14 14:51:43 +01:00
|
|
|
private int tolteny_index = 3;
|
|
|
|
|
private int felhasznalt_tolteny = 0;
|
2023-06-12 13:05:47 +02:00
|
|
|
private int betarazott_tolteny = 3;
|
2023-07-01 17:51:10 +02:00
|
|
|
|
|
|
|
|
public int betarazasDb = 2;
|
2023-06-12 13:05:47 +02:00
|
|
|
|
|
|
|
|
public int getBetarazottTolteny(){ return betarazott_tolteny; }
|
2023-01-24 19:35:16 +01:00
|
|
|
|
2023-06-12 13:05:47 +02:00
|
|
|
//
|
|
|
|
|
private Akciopont ap;
|
2022-11-14 14:51:43 +01:00
|
|
|
//
|
|
|
|
|
|
2022-11-16 17:09:07 +01:00
|
|
|
//Nyomozashoz
|
|
|
|
|
private movement movement;
|
2022-11-24 17:54:11 +01:00
|
|
|
public TMP_Text[] nyomozas_x;
|
2022-11-29 09:56:53 +01:00
|
|
|
public TMP_Text[] nyomozas_oszlop;
|
2023-07-01 17:51:10 +02:00
|
|
|
private bool[,] nyomozas = new bool[4,3];
|
2022-11-24 17:54:11 +01:00
|
|
|
|
2022-11-17 16:21:13 +01:00
|
|
|
//Hack
|
|
|
|
|
public TMP_Text elso_sor_text;
|
|
|
|
|
public TMP_Text[] masodik_sor;
|
|
|
|
|
public TMP_Text[] harmadik_sor;
|
|
|
|
|
public TMP_Text[] negyedik_sor;
|
2022-12-07 11:47:31 +01:00
|
|
|
private int[] hackelt_sorok = new int[4];
|
2022-11-17 16:21:13 +01:00
|
|
|
private Upgrade upgrade;
|
|
|
|
|
//
|
2022-11-16 17:09:07 +01:00
|
|
|
|
2022-12-07 11:47:31 +01:00
|
|
|
//Source
|
|
|
|
|
private Source source;
|
|
|
|
|
private bool alpha = false;
|
|
|
|
|
private bool omega = false;
|
|
|
|
|
//
|
|
|
|
|
|
2023-07-01 17:51:10 +02:00
|
|
|
private DoubleClick doubleClick;
|
|
|
|
|
private MessageBox messageBox;
|
|
|
|
|
|
|
|
|
|
|
2023-02-16 14:56:30 +01:00
|
|
|
private void Awake(){
|
2022-11-14 15:01:48 +01:00
|
|
|
ap = FindObjectOfType<Akciopont>();
|
2022-11-17 16:21:13 +01:00
|
|
|
movement = FindObjectOfType<movement>();
|
|
|
|
|
upgrade = FindObjectOfType<Upgrade>();
|
2023-07-01 17:51:10 +02:00
|
|
|
source = FindObjectOfType<Source>();
|
|
|
|
|
|
|
|
|
|
doubleClick = FindObjectOfType<DoubleClick>();
|
|
|
|
|
messageBox = FindObjectOfType<MessageBox>();
|
2023-02-16 14:56:30 +01:00
|
|
|
}
|
2022-11-14 15:01:48 +01:00
|
|
|
|
2023-02-16 14:56:30 +01:00
|
|
|
private void Start(){
|
2022-11-14 14:51:43 +01:00
|
|
|
//kezdesnel karikazza be az elso harom adott toltenyt
|
2023-01-24 19:35:16 +01:00
|
|
|
for (int i = 0; i < tolteny_index; i++)
|
|
|
|
|
{
|
2022-11-14 14:51:43 +01:00
|
|
|
toltenyek[i].text = "O";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-01 17:51:10 +02:00
|
|
|
|
|
|
|
|
public void CallBetarazas(){
|
|
|
|
|
doubleClick.AddEvent(Betarazas);
|
|
|
|
|
messageBox.SendMessageToBox("Biztos be akarsz tárazni 2 töltényt? (Ez 1 ap-ba kerül)");
|
|
|
|
|
doubleClick.ShowConfirmation();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Betarazas()
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2023-07-01 17:51:10 +02:00
|
|
|
//int betarazas = 2;
|
|
|
|
|
if(ap.getAkciopont() == 0){
|
|
|
|
|
messageBox.SendMessageToBox("Nincs elég ap-d az akcióhoz!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (tolteny_index < 24)
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2023-07-01 17:51:10 +02:00
|
|
|
if (tolteny_index + betarazasDb > 24)
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2023-04-12 21:22:45 +02:00
|
|
|
tolteny_index = 24;
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2023-07-01 17:51:10 +02:00
|
|
|
tolteny_index += betarazasDb;
|
2022-11-14 15:01:48 +01:00
|
|
|
}
|
2022-11-14 14:51:43 +01:00
|
|
|
//felhasznalt toltenytol megy hogy az ott levo x-et ne irja felul
|
2023-01-24 19:35:16 +01:00
|
|
|
for (int i = felhasznalt_tolteny; i < tolteny_index; i++)
|
|
|
|
|
{
|
2022-11-14 14:51:43 +01:00
|
|
|
toltenyek[i].text = "O";
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-01 17:51:10 +02:00
|
|
|
betarazott_tolteny += betarazasDb;
|
2023-04-12 21:22:45 +02:00
|
|
|
if(betarazott_tolteny > 24){
|
|
|
|
|
betarazott_tolteny = 24;
|
|
|
|
|
}
|
|
|
|
|
//tolteny_index++;
|
2023-03-01 10:43:27 +01:00
|
|
|
|
|
|
|
|
ap.UpdateAkciopont(-1);
|
2023-02-20 16:16:23 +01:00
|
|
|
|
2022-11-14 14:51:43 +01:00
|
|
|
Debug.Log("Tolteny betarazva");
|
|
|
|
|
Debug.Log("Betarazott toltenyek szama: " + betarazott_tolteny);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-01 17:51:10 +02:00
|
|
|
public bool Loves(int elhasznalt_toltenyek) //confirm TODO
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
|
|
|
|
if (felhasznalt_tolteny < betarazott_tolteny)
|
|
|
|
|
{
|
|
|
|
|
if (felhasznalt_tolteny + elhasznalt_toltenyek > betarazott_tolteny)
|
|
|
|
|
{
|
2022-11-14 14:51:43 +01:00
|
|
|
Debug.Log("Nincs eleg tolteny betarazva, tul sok lenne egyszerre felhasznalva!");
|
2023-01-23 13:03:35 +01:00
|
|
|
return false;
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-11-14 14:51:43 +01:00
|
|
|
felhasznalt_tolteny += elhasznalt_toltenyek;
|
2023-01-24 19:35:16 +01:00
|
|
|
for (int i = 0; i < felhasznalt_tolteny; i++)
|
|
|
|
|
{
|
2022-11-14 14:51:43 +01:00
|
|
|
toltenyek[i].text = "X";
|
|
|
|
|
}
|
2022-11-16 12:24:47 +01:00
|
|
|
betarazott_tolteny -= elhasznalt_toltenyek;
|
2023-01-24 19:35:16 +01:00
|
|
|
toltenyszamlalo = toltenyszamlalo + elhasznalt_toltenyek;
|
2022-11-14 14:51:43 +01:00
|
|
|
}
|
2023-01-23 13:03:35 +01:00
|
|
|
return true;
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-11-14 14:51:43 +01:00
|
|
|
Debug.Log("Nincs eleg tolteny");
|
2023-01-23 13:03:35 +01:00
|
|
|
return false;
|
2022-11-14 14:51:43 +01:00
|
|
|
}
|
2022-11-16 17:09:07 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2023-07-01 17:51:10 +02:00
|
|
|
public void CallNyomozas(){
|
|
|
|
|
doubleClick.AddEvent(Nyomozas);
|
|
|
|
|
messageBox.SendMessageToBox("Biztos nyomozni akarsz? (Ez 1 ap-ba kerül)");
|
|
|
|
|
doubleClick.ShowConfirmation();
|
|
|
|
|
}
|
2022-11-16 17:09:07 +01:00
|
|
|
//Nyomozas
|
2023-07-01 17:51:10 +02:00
|
|
|
public void Nyomozas() //valami elromlott az indexelessel ha eventnek at van adva || ELVILEG JAVITVA TESZTELNI TOVABB NEM ART
|
2023-07-03 17:48:33 +02:00
|
|
|
{
|
2023-06-12 13:05:47 +02:00
|
|
|
if (ap.getAkciopont() <= 0)
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2023-07-01 17:51:10 +02:00
|
|
|
messageBox.SendMessageToBox("Nincs elég akciópontod!");
|
2022-11-16 17:09:07 +01:00
|
|
|
Debug.Log("nincs eleg akciopont");
|
|
|
|
|
return;
|
|
|
|
|
}
|
2023-01-24 19:35:16 +01:00
|
|
|
|
2022-11-18 10:12:04 +01:00
|
|
|
int atirandox = movement.jelenlegi_x - 1;
|
|
|
|
|
int atirandoy = movement.jelenlegi_y - 1;
|
2022-11-16 17:09:07 +01:00
|
|
|
|
2023-06-12 13:05:47 +02:00
|
|
|
if (nyomozas[atirandoy, atirandox])
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2022-11-16 17:09:07 +01:00
|
|
|
Debug.Log("Itt mar nyomoztal");
|
|
|
|
|
return;
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2023-06-12 13:05:47 +02:00
|
|
|
nyomozas[atirandoy, atirandox] = true;
|
2022-11-16 17:09:07 +01:00
|
|
|
}
|
|
|
|
|
|
2022-11-29 08:02:13 +01:00
|
|
|
int counter = 0;
|
|
|
|
|
//egy sorral feljebb megy
|
2023-06-12 13:05:47 +02:00
|
|
|
for (int i = 0; i < nyomozas.GetLength(0); i++)
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2023-06-12 13:05:47 +02:00
|
|
|
for (int j = 0; j < nyomozas.GetLength(1); j++)
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2023-06-12 13:05:47 +02:00
|
|
|
if (nyomozas[i, j])
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2022-11-29 08:02:13 +01:00
|
|
|
nyomozas_x[counter].text = "X";
|
|
|
|
|
counter++;
|
2023-01-24 19:35:16 +01:00
|
|
|
Debug.Log("counter: " + counter);
|
|
|
|
|
}
|
2023-06-12 13:05:47 +02:00
|
|
|
else if (!nyomozas[i, j])
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2022-11-29 09:12:41 +01:00
|
|
|
counter++;
|
2022-11-29 08:02:13 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-11-24 17:54:11 +01:00
|
|
|
|
2023-02-20 16:16:23 +01:00
|
|
|
ap.UpdateAkciopont(-1);
|
2022-11-17 16:21:13 +01:00
|
|
|
|
2022-11-29 09:56:53 +01:00
|
|
|
NyomozasOszlopCheck();
|
2022-11-16 17:09:07 +01:00
|
|
|
}
|
2022-11-17 16:21:13 +01:00
|
|
|
|
2023-01-24 19:35:16 +01:00
|
|
|
private void NyomozasOszlopCheck()
|
|
|
|
|
{
|
|
|
|
|
int oszlop = movement.jelenlegi_x - 1;
|
2022-11-29 09:56:53 +01:00
|
|
|
int nyomozas_counter = 0;
|
|
|
|
|
|
2023-01-24 19:35:16 +01:00
|
|
|
for (int i = 0; i < 4; i++)
|
|
|
|
|
{
|
2023-06-12 13:05:47 +02:00
|
|
|
if (nyomozas[i, oszlop])
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2022-11-29 09:56:53 +01:00
|
|
|
nyomozas_counter++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Debug.Log("nyomozas counter: " + nyomozas_counter);
|
|
|
|
|
|
2023-01-24 19:35:16 +01:00
|
|
|
if (nyomozas_counter == 4)
|
|
|
|
|
{
|
2023-02-20 16:16:23 +01:00
|
|
|
ap.UpdateAkciopont(2);
|
2022-11-29 09:56:53 +01:00
|
|
|
Debug.Log("Ap novelve");
|
|
|
|
|
nyomozas_oszlop[oszlop].text = "X";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-11-17 16:21:13 +01:00
|
|
|
|
2023-07-01 17:51:10 +02:00
|
|
|
public void CallHack(){
|
|
|
|
|
doubleClick.AddEvent(Hack);
|
|
|
|
|
messageBox.SendMessageToBox("Biztos hackelni akarsz? (Ez "+upgrade.hack[upgrade.getHackIndex()]+" ap-ba kerül)");
|
|
|
|
|
doubleClick.ShowConfirmation();
|
|
|
|
|
}
|
|
|
|
|
private void Hack()
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
int count = 0;
|
|
|
|
|
int rand;
|
|
|
|
|
|
2023-06-12 13:05:47 +02:00
|
|
|
if (ap.getAkciopont() < upgrade.hack[upgrade.getHackIndex()])
|
|
|
|
|
{ //van e eleg akicopont
|
2023-07-01 17:51:10 +02:00
|
|
|
messageBox.SendMessageToBox("Nincs eleg akciopontod!");
|
2022-11-17 16:21:13 +01:00
|
|
|
Debug.Log("nincs eleg ap a hackeleshez");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2022-12-05 15:21:52 +01:00
|
|
|
int i2 = 0;
|
2023-01-24 19:35:16 +01:00
|
|
|
try
|
|
|
|
|
{
|
2022-12-05 15:21:52 +01:00
|
|
|
//egy sorban lett e ketszer nyomozva
|
2023-01-24 19:35:16 +01:00
|
|
|
for (int i = 0; i < 3; i++)
|
|
|
|
|
{
|
2023-06-12 13:05:47 +02:00
|
|
|
if (nyomozas[movement.jelenlegi_y - 1, i])
|
2023-01-24 19:35:16 +01:00
|
|
|
{
|
2022-12-05 15:21:52 +01:00
|
|
|
count++;
|
|
|
|
|
Debug.Log("count: " + count);
|
2023-01-24 19:35:16 +01:00
|
|
|
i2 = i;
|
2022-12-05 15:21:52 +01:00
|
|
|
}
|
2022-11-17 16:21:13 +01:00
|
|
|
}
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
catch (IndexOutOfRangeException)
|
|
|
|
|
{
|
2022-12-05 15:21:52 +01:00
|
|
|
Debug.Log("hiba volt");
|
|
|
|
|
Debug.Log("i: " + i2 + " y" + movement.jelenlegi_y);
|
2022-11-17 16:21:13 +01:00
|
|
|
}
|
2023-01-24 19:35:16 +01:00
|
|
|
|
2022-11-17 16:21:13 +01:00
|
|
|
|
|
|
|
|
//forras helyenek bejelolese
|
2023-01-24 19:35:16 +01:00
|
|
|
if (count >= 2 && !hackelt_sorok.Contains(movement.jelenlegi_y))
|
|
|
|
|
{
|
|
|
|
|
if (movement.jelenlegi_y == 1)
|
|
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
elso_sor_text.text = "X";
|
2023-01-24 19:35:16 +01:00
|
|
|
hackelt_sorok[movement.jelenlegi_y - 1] = movement.jelenlegi_y;
|
2022-12-07 11:47:31 +01:00
|
|
|
source.isNyitva = true;
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-11-24 17:54:11 +01:00
|
|
|
rand = UnityEngine.Random.Range(1, 7);
|
2022-11-17 16:21:13 +01:00
|
|
|
Debug.Log("sorsolt szam: " + rand);
|
2023-06-12 13:05:47 +02:00
|
|
|
|
2023-01-24 19:35:16 +01:00
|
|
|
if (movement.jelenlegi_y == 2)
|
|
|
|
|
{ //alpha, omega
|
|
|
|
|
if (rand < 4)
|
|
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
masodik_sor[0].text = "X";
|
2022-12-07 11:47:31 +01:00
|
|
|
alpha = true;
|
|
|
|
|
source.sor.Remove(3);//3. sor kiszedes
|
|
|
|
|
source.sor.Remove(4);//4. sor kiszedes
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
masodik_sor[1].text = "X";
|
2022-12-07 11:47:31 +01:00
|
|
|
omega = true;
|
|
|
|
|
source.sor.Remove(1);//1. sor kiszedes
|
|
|
|
|
source.sor.Remove(2);//2. sor kiszedes
|
2022-11-17 16:21:13 +01:00
|
|
|
}
|
2023-01-24 19:35:16 +01:00
|
|
|
hackelt_sorok[movement.jelenlegi_y - 1] = movement.jelenlegi_y;
|
|
|
|
|
}
|
|
|
|
|
else if (movement.jelenlegi_y == 3)
|
|
|
|
|
{//sor
|
|
|
|
|
if (rand < 4)
|
|
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
harmadik_sor[0].text = "X";
|
2022-12-07 11:47:31 +01:00
|
|
|
source.sor.Remove(2);//2. sor kiszedes
|
|
|
|
|
source.sor.Remove(4);//4. sor kiszedes
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
harmadik_sor[1].text = "X";
|
2022-12-07 11:47:31 +01:00
|
|
|
source.sor.Remove(1);//2. sor kiszedes
|
|
|
|
|
source.sor.Remove(3);//4. sor kiszedes
|
2022-11-17 16:21:13 +01:00
|
|
|
}
|
2023-01-24 19:35:16 +01:00
|
|
|
hackelt_sorok[movement.jelenlegi_y - 1] = movement.jelenlegi_y;
|
|
|
|
|
}
|
|
|
|
|
else if (movement.jelenlegi_y == 4)
|
|
|
|
|
{
|
|
|
|
|
if (rand < 3)
|
|
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
negyedik_sor[0].text = "X";
|
2022-12-07 11:47:31 +01:00
|
|
|
source.oszlop = 1;
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else if (rand < 5)
|
|
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
negyedik_sor[1].text = "X";
|
2022-12-07 11:47:31 +01:00
|
|
|
source.oszlop = 2;
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-11-17 16:21:13 +01:00
|
|
|
negyedik_sor[2].text = "X";
|
2022-12-07 11:47:31 +01:00
|
|
|
source.oszlop = 3;
|
2022-11-17 16:21:13 +01:00
|
|
|
}
|
2023-01-24 19:35:16 +01:00
|
|
|
hackelt_sorok[movement.jelenlegi_y - 1] = movement.jelenlegi_y;
|
2022-11-17 16:21:13 +01:00
|
|
|
}
|
|
|
|
|
}
|
2023-06-12 13:05:47 +02:00
|
|
|
|
2023-02-20 16:16:23 +01:00
|
|
|
ap.UpdateAkciopont(-upgrade.hack[upgrade.getHackIndex()]); //ap koltseg levonasa
|
2023-01-24 19:35:16 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-12-07 11:47:31 +01:00
|
|
|
Debug.Log("itt mar hackeltel");
|
2023-07-01 17:51:10 +02:00
|
|
|
messageBox.SendMessageToBox("Itt már hackeltél!");
|
2022-11-17 16:21:13 +01:00
|
|
|
}
|
|
|
|
|
}
|
2023-02-16 14:56:30 +01:00
|
|
|
}
|