movement egyszerusites, confirm akciokra

This commit is contained in:
2023-07-01 17:51:10 +02:00
parent 3faef708ca
commit b800d3e4f7
19 changed files with 2037 additions and 719 deletions

View File

@@ -4,6 +4,7 @@ using UnityEngine;
using TMPro;
using System.Linq;
using System;
using UnityEngine.UI;
public class Akciok : MonoBehaviour
{
@@ -14,6 +15,8 @@ public class Akciok : MonoBehaviour
private int tolteny_index = 3;
private int felhasznalt_tolteny = 0;
private int betarazott_tolteny = 3;
public int betarazasDb = 2;
public int getBetarazottTolteny(){ return betarazott_tolteny; }
@@ -25,7 +28,7 @@ public class Akciok : MonoBehaviour
private movement movement;
public TMP_Text[] nyomozas_x;
public TMP_Text[] nyomozas_oszlop;
private bool[,] nyomozas = new bool[4,4];
private bool[,] nyomozas = new bool[4,3];
//Hack
public TMP_Text elso_sor_text;
@@ -42,11 +45,18 @@ public class Akciok : MonoBehaviour
private bool omega = false;
//
private DoubleClick doubleClick;
private MessageBox messageBox;
private void Awake(){
ap = FindObjectOfType<Akciopont>();
movement = FindObjectOfType<movement>();
upgrade = FindObjectOfType<Upgrade>();
source = FindObjectOfType<Source>();
source = FindObjectOfType<Source>();
doubleClick = FindObjectOfType<DoubleClick>();
messageBox = FindObjectOfType<MessageBox>();
}
private void Start(){
@@ -57,17 +67,30 @@ public class Akciok : MonoBehaviour
}
}
public void Betarazas(int betarazas)
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()
{
if (tolteny_index < 24 && ap.getAkciopont() != 0)
//int betarazas = 2;
if(ap.getAkciopont() == 0){
messageBox.SendMessageToBox("Nincs elég ap-d az akcióhoz!");
return;
}
if (tolteny_index < 24)
{
if (tolteny_index + betarazas > 24)
if (tolteny_index + betarazasDb > 24)
{
tolteny_index = 24;
}
else
{
tolteny_index += betarazas;
tolteny_index += betarazasDb;
}
//felhasznalt toltenytol megy hogy az ott levo x-et ne irja felul
for (int i = felhasznalt_tolteny; i < tolteny_index; i++)
@@ -75,7 +98,7 @@ public class Akciok : MonoBehaviour
toltenyek[i].text = "O";
}
betarazott_tolteny += betarazas;
betarazott_tolteny += betarazasDb;
if(betarazott_tolteny > 24){
betarazott_tolteny = 24;
}
@@ -88,7 +111,7 @@ public class Akciok : MonoBehaviour
}
}
public bool Loves(int elhasznalt_toltenyek)
public bool Loves(int elhasznalt_toltenyek) //confirm TODO
{
if (felhasznalt_tolteny < betarazott_tolteny)
{
@@ -117,11 +140,17 @@ public class Akciok : MonoBehaviour
}
public void CallNyomozas(){
doubleClick.AddEvent(Nyomozas);
messageBox.SendMessageToBox("Biztos nyomozni akarsz? (Ez 1 ap-ba kerül)");
doubleClick.ShowConfirmation();
}
//Nyomozas
public void Nyomozas()
public void Nyomozas() //valami elromlott az indexelessel ha eventnek at van adva || ELVILEG JAVITVA TESZTELNI TOVABB NEM ART
{
if (ap.getAkciopont() <= 0)
{
messageBox.SendMessageToBox("Nincs elég akciópontod!");
Debug.Log("nincs eleg akciopont");
return;
}
@@ -187,13 +216,19 @@ public class Akciok : MonoBehaviour
}
public void Hack()
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()
{
int count = 0;
int rand;
if (ap.getAkciopont() < upgrade.hack[upgrade.getHackIndex()])
{ //van e eleg akicopont
messageBox.SendMessageToBox("Nincs eleg akciopontod!");
Debug.Log("nincs eleg ap a hackeleshez");
return;
}
@@ -293,6 +328,7 @@ public class Akciok : MonoBehaviour
else
{
Debug.Log("itt mar hackeltel");
messageBox.SendMessageToBox("Itt már hackeltél!");
}
}
}

View File

@@ -0,0 +1,72 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using TMPro;
using UnityEngine.UI;
public class DoubleClick : MonoBehaviour
{
private UnityEvent toDoubleClick; //event tarolo
[SerializeField] private Button confirmDoubleClick;
[SerializeField] private Button cancelDoubleClick;
private MessageBox messageBox;
private void Awake() {
messageBox = FindObjectOfType<MessageBox>();
}
private void Start() {
if(toDoubleClick == null){
toDoubleClick = new UnityEvent();
}
//AddEvent(TestFV); //testing only
}
public void AddEvent(UnityAction function, bool emptyEvents = true){ //event hozzaadasa
if(emptyEvents) RemoveFunctions(); //legyenek e torolve az eltarolt eventek
toDoubleClick.AddListener(function);
}
public void RemoveFunctions(){ //eltarolt eventek torlese
toDoubleClick.RemoveAllListeners();
}
public void ShowConfirmation(){//megerositeshez a dolgok megjelenitese | (string message)
/*messageBox.ResetMessageBox();
messageBox.SendMessageToBox(message); //uzenet ami a boxba jelenjek meg a usernek*/
//confirmDoubleClick.onClick.AddListener(StartEvent); //a confirm gomb indidtsa el az eventet
confirmDoubleClick.onClick.AddListener(ConfirmOnClicks);
ShowButtons(true);
}
private void ConfirmOnClicks(){
StartEvent();
AfterInvoke();
}
private void StartEvent(){
toDoubleClick.Invoke();
}
private void AfterInvoke(){
RemoveFunctions(); //event lista uritese miutan fel lett hasznalva
confirmDoubleClick.onClick.RemoveAllListeners(); //gomb onclick torlese
messageBox.ResetMessageBox(); //uzenet torlese
ShowButtons(false);
}
public void TestFV(){
Debug.Log("Test fv");
}
private void ShowButtons(bool show){
confirmDoubleClick.gameObject.SetActive(show);
cancelDoubleClick.gameObject.SetActive(show);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3353fed86c7ecaa489764b0dca579cbb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -11,8 +11,15 @@ public class Elet : MonoBehaviour
private int elet_megszerezve = 2;
private jatekmanager jatekmanager;
[SerializeField] private bool orokelet;
private void Awake() {
jatekmanager = FindObjectOfType<jatekmanager>();
#if !UNITY_EDITOR //buildelve mindig false legyen az orokelet
orokelet = false;
#endif
}
private void Start() {
@@ -22,7 +29,7 @@ public class Elet : MonoBehaviour
}
private void Update() {
if(elet+1 == 0){
if(elet+1 == 0 && !orokelet){
jatekmanager.Instance.jatekosvesztett = true;
jatekmanager.Instance.UpdateGameState(jatekmanager.GameState.Vesztette);
}
@@ -44,6 +51,7 @@ public class Elet : MonoBehaviour
}
public void Eletvesztes() {
if(orokelet) return;
if (elet_vesztve > 5)
{
//jatekmanager.jatekosvesztett = true;

View File

@@ -0,0 +1,26 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
[System.Serializable]
public class Helyszin
{
[SerializeField] private string helyszinNev;
[Range(1,2)] [SerializeField] private int helyszinAktivalasDb;
[SerializeField] private TMP_Text[] lepesSzamlalo;
[SerializeField] private TMP_Text[] nyomozasJelolo;
[SerializeField] private TMP_Text[] ugynokCsapatSzamlalo;
[Range(0,2)] [SerializeField] private int energiaKoltseg;
[Range(0,2)] [SerializeField] private int akciopontKoltseg;
[SerializeField] private string szektor; //alpha | omega
[SerializeField] private string alszektor; //nap vagy hold
[Range(0,2)][SerializeField] private int x;
[Range(0,3)] [SerializeField] private int y;
public int X { get{ return x;}}
public int Y { get{ return y; }}
public int EnergiaKoltseg { get{ return energiaKoltseg; }}
public int AkciopontKoltseg{ get{ return akciopontKoltseg; }}
public TMP_Text[] LepesSzamlalo { get{ return lepesSzamlalo; } set { lepesSzamlalo = value;}}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 07569cc61945f524b93b6ba5de48127b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using System;
public class Helyszinaktivalas1 : MonoBehaviour
{
public Helyszin[] helyszinek;
private movement movement;
public void SetLepesSzamlalo(int x, int y, string lepesSzam){
foreach(var item in helyszinek){
if(item.X == x && item.Y == y){
if(item.LepesSzamlalo[0].Equals("")){ //ha nincs meg az elsobe beirva
item.LepesSzamlalo[0].text = lepesSzam;
}else{
item.LepesSzamlalo[1].text = lepesSzam;
}
}
}
}
public void HelyszinAktivalas() {
int x = movement.jelenlegi_x - 1;
int y = movement.jelenlegi_y - 1;
foreach (var item in helyszinek){
throw new NotImplementedException();
}
}
private void Start() {
movement = FindObjectOfType<movement>();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cdcf96e9dc11d9945900f6668df2aa49
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,17 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class MessageBox : MonoBehaviour
{
[SerializeField] private TMP_Text messageBox;
public void SendMessageToBox(string message){
messageBox.text = message;
}
public void ResetMessageBox(){
messageBox.text = "";
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c6e47cdfb14d35a4e8ec96d480c37d5f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -194,7 +194,8 @@ public class Targyak : MonoBehaviour
public void HackerCsatlakozo() { //kesz
//+2 tolteny
akciok.Betarazas(2);
akciok.betarazasDb = 2;
akciok.Betarazas();
akciopont.UpdateAkciopont(1); //betarazas miatt egy pont visszaadasa
//+1 elet
elet.Eletplusz();

View File

@@ -28,7 +28,6 @@ public class helyszinaktivalas : MonoBehaviour
public List<TMP_Text> twotwoText;
public TMP_Text twothreeText;
public TMP_Text twofourText;
public TMP_Text threeoneText;
public List<TMP_Text> threetwoText;
public TMP_Text threethreeText;
@@ -47,10 +46,6 @@ public class helyszinaktivalas : MonoBehaviour
energia = FindObjectOfType<Energia>();
helyszinAktivalasSzamlalo = new int[12];
/*for (int i = 0; i < helyszinAktivalasSzamlalo.Length; i++){
helyszinAktivalasSzamlalo[i] = 0;
}*/
}
public void HelyszinAktivalas()
@@ -215,7 +210,8 @@ public class helyszinaktivalas : MonoBehaviour
if((akciopont.getAkciopont() < 1) && !targyak.matavtaviranyitoAktivalva) return;
//+4 tolteny
akciok.Betarazas(4); //ha nincs negy darab tolteny toltse be a maradekot vagy ne lehessen aktivalni a helyszint?
akciok.betarazasDb = 2;
akciok.Betarazas(); //ha nincs negy darab tolteny toltse be a maradekot vagy ne lehessen aktivalni a helyszint?
if(!targyak.matavtaviranyitoAktivalva){
akciopont.UpdateAkciopont(0); //betarazasba levon egyet (csak placeholder)

View File

@@ -24,8 +24,6 @@ public class jatekmanager : MonoBehaviour
public GameObject rolldice;
public GameObject test;
public GameObject harc;
public TMP_Text uzenetBox;
//script-ek implementalasa
private Elet elet;
@@ -39,6 +37,7 @@ public class jatekmanager : MonoBehaviour
private Source source;
private vegpontozas vegpontozas;
private AudioManager audioManager;
private MessageBox messageBox;
//ügynökcsapatok implementálása
public TMP_Text[] oneone;
@@ -83,6 +82,9 @@ public class jatekmanager : MonoBehaviour
private void Awake()
{
//ideiglenes amig rajovok kell e az uj helyszinaktivalas
FindObjectOfType<Helyszinaktivalas1>().enabled = false;
Instance = this;
mainCanvas.SetActive(false); //helyszin sorsolas animacio miatt
@@ -104,6 +106,7 @@ public class jatekmanager : MonoBehaviour
turnManager = FindObjectOfType<TurnManager>();
source = FindObjectOfType<Source>();
vegpontozas = FindObjectOfType<vegpontozas>();
messageBox = FindObjectOfType<MessageBox>();
//hatterzene lejatszas
audioManager = FindObjectOfType<AudioManager>();
@@ -118,7 +121,8 @@ public class jatekmanager : MonoBehaviour
public void UpdateGameState(GameState newState)
{
State = newState;
//State = newState;
Debug.Log("<color=orange>New state: " + newState + "</color>");
switch (newState)
{
@@ -164,8 +168,6 @@ public class jatekmanager : MonoBehaviour
Pause
}
//double click
public void Resume()
{
pauseMenuUI.SetActive(false);
@@ -177,7 +179,8 @@ public class jatekmanager : MonoBehaviour
public void Pause()
{
uzenetBox.text = "A játék meg lett állítva";
//uzenetBox.text = "A játék meg lett állítva";
messageBox.SendMessageToBox("A játék meg lett állítva");
pauseMenuUI.SetActive(true);
//ido megallitasa hogy megalljon a jatek
SetTimeScale(0f);
@@ -219,6 +222,8 @@ public class jatekmanager : MonoBehaviour
private async void HandleKorkezdet()
{
messageBox.SendMessageToBox("Dobj a kockával");
rolldice.SetActive(true);
energiafejlesztés.SetActive(false);
@@ -264,7 +269,9 @@ public class jatekmanager : MonoBehaviour
private async void HandleUgynokValasztas()
{
uzenetBox.text = "Válaszd ki az ügynökcsapat létszámát, az egyik kockára nyomva. (a kisebb választása 1 energia vesztésével jár)";
//uzenetBox.text = "Válaszd ki az ügynökcsapat létszámát, az egyik kockára nyomva. (a kisebb választása 1 energia vesztésével jár)";
messageBox.SendMessageToBox("Válaszd ki az ügynökcsapat létszámát, az egyik kockára nyomva. (a kisebb választása 1 energia vesztésével jár)");
//kapcsolja ki addig a mezoket amig nem valasztott ugynokcsapat szamot
movement.oneone_Collider.gameObject.SetActive(false);
movement.onetwo_Collider.gameObject.SetActive(false);
@@ -278,6 +285,14 @@ public class jatekmanager : MonoBehaviour
movement.threetwo_Collider.gameObject.SetActive(false);
movement.threethree_Collider.gameObject.SetActive(false);
movement.threefour_Collider.gameObject.SetActive(false);
kovetkezokor.SetActive(false);
betarazas.SetActive(false);
nyomozas.SetActive(false);
hackeles.SetActive(false);
helyszinaktivalasBtn.gameObject.SetActive(false);
harc.SetActive(false);
rolldice.SetActive(false);
}
public void NevValasztasUtan()
@@ -286,12 +301,14 @@ public class jatekmanager : MonoBehaviour
{
UpdateGameState(GameState.KorKezdet);
dice.CallRenderDice(true);
messageBox.SendMessageToBox("Válaszd ki az ügynökcsapat létszámát");
}
}
private async void HandleNev()
{
uzenetBox.text = "Írd be a neved a név mezőbe";
//uzenetBox.text = "Írd be a neved a név mezőbe";
messageBox.SendMessageToBox("Írd be a neved a név mezőbe");
movement.oneone_Collider.gameObject.SetActive(false);
movement.onetwo_Collider.gameObject.SetActive(false);
@@ -324,7 +341,9 @@ public class jatekmanager : MonoBehaviour
private async void HandleFejlesztes()
{
uzenetBox.text = "Válassz fejlesztést";
//uzenetBox.text = "Válassz fejlesztést";
messageBox.SendMessageToBox("Válassz fejlesztést");
energiafejlesztés.SetActive(true);
akciofejlesztés.SetActive(true);
harcfejlesztés.SetActive(true);
@@ -342,7 +361,9 @@ public class jatekmanager : MonoBehaviour
private async void HandleAkcio()
{
uzenetBox.text = "Válassz akciókat!";
//uzenetBox.text = "Válassz akciókat!";
messageBox.SendMessageToBox("Válassz akciókat vagy dobj a kockával!");
//itt a movement bekapcsol
kovetkezokor.SetActive(true);
betarazas.SetActive(true);

File diff suppressed because it is too large Load Diff