This commit is contained in:
Crizomb 2025-01-29 06:34:44 +01:00
parent 4e91f448c9
commit 1b2611e5a9
90 changed files with 7029 additions and 2762 deletions

View file

@ -17,7 +17,7 @@ public class Buttons : MonoBehaviour
public void PlayGame()
{
BasedGameManager.Instance.GoNextLevel();
GameManager.Instance.GoNextLevel();
}
public void LaunchSettings()

View file

@ -4,7 +4,7 @@ using UnityEngine.SceneManagement;
public class LoseUI : MonoBehaviour
{
[SerializeField] GameUI gameUI;
[SerializeField] private GameUI gameUI;
[SerializeField] TextMeshProUGUI time;
@ -14,15 +14,9 @@ public class LoseUI : MonoBehaviour
time.text = gameUI.GetComponent<GameUI>().time.ToString();
}
// Update is called once per frame
void Update()
{
}
public void Retry()
{
SceneManager.LoadSceneAsync(SceneManager.GetActiveScene().name);
GameManager.Instance.ReloadLevel();
}
public void MainMenu()

View file

@ -4,33 +4,29 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class BasedGameManager : MonoBehaviourSingletonPersistent<BasedGameManager>
public class GameManager : MonoBehaviourSingletonPersistent<GameManager>
{
[SerializeField] private List<string> levelNames;
[SerializeField] private List<string> levelMusics;
[SerializeField] private List<int> levelsMoney;
int current_level = -1;
int current_level = 0;
[SerializeField] GameObject GameUI;
[SerializeField] GameObject LoseUI;
[SerializeField] GameObject WinUI;
GameObject _gameUI;
GameObject _loseUI;
GameObject _winUI;
// for compativility with other team
public bool fightStarted = false;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
private void Update()
{
}
// Update is called once per frame
void Update()
{
// Delete, use only for Debug
if (Input.GetKeyDown(KeyCode.Space))
{
StartFightForAll();
GoNextLevel();
}
}
public void StartFightForAll()
{
AbstractUnit[] units = FindObjectsByType<AbstractUnit>(FindObjectsSortMode.None);
@ -38,6 +34,7 @@ public class BasedGameManager : MonoBehaviourSingletonPersistent<BasedGameManage
{
unit.StartFight();
}
fightStarted = true;
}
private void SetGlobals(int current_level)
@ -47,6 +44,8 @@ public class BasedGameManager : MonoBehaviourSingletonPersistent<BasedGameManage
GlobalsVariable.QueenA = null;
GlobalsVariable.QueenB = null;
GlobalsVariable.money = levelsMoney[current_level];
fightStarted = false;
}
public void ReloadLevel()
@ -58,23 +57,19 @@ public class BasedGameManager : MonoBehaviourSingletonPersistent<BasedGameManage
public void GoNextLevel()
{
if (current_level < levelNames.Count)
if (current_level <= levelNames.Count)
{
current_level++;
SetGlobals(current_level);
SceneManager.LoadScene(levelNames[current_level]);
SoundManager.Instance.PlayMusic(levelMusics[current_level]);
}
else
{
current_level = 0;
}
throw new Exception("Bro there is no next level like stop pls");
SetGlobals(current_level);
SceneManager.LoadScene(levelNames[current_level]);
SoundManager.Instance.PlayMusic(levelMusics[current_level]);
}
public void Losing()
{
LoseUI.SetActive(true);
this.enabled = false;
}
}

View file

@ -8,7 +8,7 @@ public class StartGame : MonoBehaviour
public void Starting()
{
BasedGameManager.Instance.StartFightForAll();
GameManager.Instance.StartFightForAll();
GameUI.SetActive(true);
GameUI.GetComponent<GameUI>().timerActive = true;
ShopUI.SetActive(false);

View file

@ -0,0 +1,26 @@
using UnityEngine;
public class Transition : MonoBehaviour
{
[SerializeField] private WinCanvas _winCanvas;
[SerializeField] private LoseUI _loseUI;
[SerializeField] private GameUI _gameUI;
// Update is called once per frame
void LateUpdate()
{
if (GlobalsVariable.QueenA == null)
{
_winCanvas.gameObject.SetActive(true);
_gameUI.gameObject.SetActive(false);
}
if (Input.GetKeyDown(KeyCode.Space))
{
print("YOU LOSE");
_loseUI.gameObject.SetActive(true);
_gameUI.gameObject.SetActive(false);
}
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 152b725e5ef4d734a85ca1350a98f253

View file

@ -13,7 +13,7 @@ public class OffensiveBehaviour : AbstractBehaviour
if (GlobalsVariable.QueenA == null) return;
}
CurrentMinecraftUnit.MovementHandler.TargetUnit = GlobalsVariable.QueenB;
CurrentMinecraftUnit.MovementHandler.TargetUnit = CurrentMinecraftUnit.IsTeamA ? GlobalsVariable.QueenB : GlobalsVariable.QueenA;
Vector3 targetPos = CurrentMinecraftUnit.MovementHandler.TargetUnit.transform.position;
Vector3 goalPos = targetPos + (transform.position - targetPos).normalized * distanceGoal;
CurrentMinecraftUnit.MovementHandler.MoveTowards(goalPos);

View file

@ -55,13 +55,13 @@ public class HealthHandler : MonoBehaviour
if (deathState == DeathSate.QueenBDead)
{
print("get good, reload current scene");
BasedGameManager.Instance.ReloadLevel();
GameManager.Instance.ReloadLevel();
}
if (deathState == DeathSate.QueenADead)
{
print("GG going to next scene");
BasedGameManager.Instance.GoNextLevel();
GameManager.Instance.GoNextLevel();
}
}

View file

@ -16,6 +16,8 @@ public class MinecraftUnit : AbstractUnit
[field: SerializeField] public BaseCapacity Capacity { get; private set; }
// Not required
[field: SerializeField] public Animator Animator { get; private set; }
public bool isActive { get; private set; }
@ -66,6 +68,7 @@ public class MinecraftUnit : AbstractUnit
public override void StartFight()
{
isActive = true;
Component[] components = GetComponents<Component>();
foreach (Component component in components)

View file

@ -5,16 +5,18 @@ using UnityEngine.SceneManagement;
public class WinCanvas : MonoBehaviour
{
[SerializeField] TextMeshProUGUI time;
[SerializeField] GameObject gameUI;
private GameUI gameUI;
void Start()
{
gameUI = GameObject.FindWithTag("GameUI").GetComponent<GameUI>();
time.text = gameUI.GetComponent<GameUI>().time.ToString();
}
public void NextLevel()
{
GameManager.Instance.GoNextLevel();
SceneManager.LoadSceneAsync(SceneManager.GetActiveScene().buildIndex + 1);
}
}