using System; using System.Collections; using System.Collections.Generic; using System.Net.Sockets; using TMPro; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class jatekmanager : MonoBehaviour { public static jatekmanager Instance; //game objectek implementálása public GameObject energiafejlesztés; public GameObject akciofejlesztés; public GameObject harcfejlesztés; public GameObject ujradobasfejlesztés; public GameObject hackfejlesztés; public GameObject kovetkezokor; public GameObject betarazas; public GameObject nyomozas; public GameObject hackeles; public GameObject rolldice; public GameObject test; //script-ek implementalasa private Elet elet; private Akciok akciok; private Targyak targyak; private Dice dice; private Upgrade upgrade; private Akciopont akciopont; private movement movement; private TurnManager turnManager; private Source source; //ügynökcsapatok implementálása public TMP_Text[] oneone; public TMP_Text[] twoone; public TMP_Text[] threeone; public TMP_Text[] onetwo; public TMP_Text[] twotwo; public TMP_Text[] threetwo; public TMP_Text[] onethree; public TMP_Text[] twothree; public TMP_Text[] threethree; public TMP_Text[] onefour; public TMP_Text[] twofour; public TMP_Text[] threefour; //nyert es vesztett bool lethrehozas public bool jatekosnyert = false; public bool jatekosvesztett = false; public bool vanertelme = true; public GameState State; public static event Action OnGameStateChanged; public Button helyszinaktivalasBtn; private void Awake() { Instance = this; } private void Start() { elet = FindObjectOfType(); akciok = FindObjectOfType(); targyak = FindObjectOfType(); dice = FindObjectOfType(); upgrade = FindObjectOfType(); akciopont = FindObjectOfType(); movement = FindObjectOfType(); turnManager = FindObjectOfType(); source = FindObjectOfType(); UpdateGameState(GameState.KorKezdet); } public void UpdateGameState(GameState newState) { State = newState; switch (newState) { case GameState.KorKezdet: HandleKorkezdet(); break; case GameState.Akcio: HandleAkcio(); break; case GameState.Fejlesztes: HandleFejlesztes(); break; case GameState.Ugynok: ugynokDeaktivalas(false); break; case GameState.Vesztette: HandleVesztette(); break; default: throw new ArgumentOutOfRangeException(nameof(newState), newState, null); } OnGameStateChanged?.Invoke(newState); } public enum GameState { KorKezdet, Akcio, Fejlesztes, Ugynok, Vesztette } private async void HandleKorkezdet() { rolldice.SetActive(true); energiafejlesztés.SetActive(false); akciofejlesztés.SetActive(false); harcfejlesztés.SetActive(false); ujradobasfejlesztés.SetActive(false); hackfejlesztés.SetActive(false); kovetkezokor.SetActive(false); betarazas.SetActive(false); nyomozas.SetActive(false); hackeles.SetActive(false); helyszinaktivalasBtn.gameObject.SetActive(false); //test.SetActive(false); //ha ugynok state-el vegezne kapcsoljon vissza mindent movement.oneone_Collider.gameObject.SetActive(true); movement.onetwo_Collider.gameObject.SetActive(true); movement.onethree_Collider.gameObject.SetActive(true); movement.onefour_Collider.gameObject.SetActive(true); movement.twoone_Collider.gameObject.SetActive(true); movement.twotwo_Collider.gameObject.SetActive(true); movement.twothree_Collider.gameObject.SetActive(true); movement.twofour_Collider.gameObject.SetActive(true); movement.threeone_Collider.gameObject.SetActive(true); movement.threetwo_Collider.gameObject.SetActive(true); movement.threethree_Collider.gameObject.SetActive(true); movement.threefour_Collider.gameObject.SetActive(true); targyak.hackerFelhasznalva.GetComponent