public void EndFight(bool win) { SquadsManagement.instance.enemySquad.Clear(); SquadsManagement.instance.userSquad.Clear(); SquadsManagement.instance.allCards.Clear(); foreach (var s in World.Active.Systems) { s.Enabled = false; } foreach (var e in World.Active.EntityManager.GetAllEntities()) { World.Active.EntityManager.DestroyEntity(e); } var instance = GameObject.Instantiate(endGameScreen); instance.transform.parent = GameObject.Find("Canvas").transform; instance.transform.localPosition = Vector3.zero; instance.transform.localScale = Vector3.one; if (win) { instance.transform.GetChild(0).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = GameManager.BinomLevelList[GameManager.currentBinom].ToString(); instance.transform.GetChild(0).GetChild(3).GetComponent <TMPro.TextMeshProUGUI>().text = GameManager.BinomList[GameManager.currentBinom]; SquadManager.UnitStats reward = GameManager.AllChars[GameManager.rewards[GameManager.BinomList[GameManager.currentBinom]][GameManager.BinomLevelList[GameManager.currentBinom] - 1]]; if (!GameManager.availableUnits.Contains(reward)) { GameManager.availableUnits.Add(reward); } GameManager.BinomLevelList[GameManager.currentBinom] += 1; GameManager.gold += (GameManager.currentBinom + 1) * 200; instance.transform.GetChild(0).GetChild(4).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = reward.fileName; instance.transform.GetChild(0).GetChild(4).GetChild(5).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = reward.initiative.ToString(); instance.transform.GetChild(0).GetChild(4).GetChild(6).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = reward.hp.ToString(); instance.transform.GetChild(0).GetChild(4).GetChild(7).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = reward.amountofdice.ToString(); instance.transform.GetChild(0).GetChild(4).GetChild(4).GetComponent <Image>().sprite = Resources.Load <Sprite>("Units/fig/" + reward.fileName); } else { instance.transform.GetChild(1).GetChild(0).GetComponent <TMPro.TextMeshProUGUI>().text = "YOU LOSE"; instance.transform.GetChild(2).localPosition = new Vector3(-20, 120, 0); Destroy(instance.transform.GetChild(0).gameObject); } spawner.unitNames.Clear(); GameManager.Save actualSave = new GameManager.Save() { gold = GameManager.gold, levels = GameManager.BinomLevelList.ToArray() }; actualSave.availableUnits = new string[GameManager.availableUnits.Count]; for (int i = 0; i < actualSave.availableUnits.Length; i++) { actualSave.availableUnits[i] = GameManager.availableUnits[i].fileName; } actualSave.squad = new string[GameManager.userSquad.Count]; for (int i = 0; i < actualSave.squad.Length; i++) { actualSave.squad[i] = GameManager.userSquad[i].fileName; } GameManager.Serialize(actualSave, "gameData"); }
public Entity CreateUnit(EntityManager entityManager, SquadManager.UnitStats stats) { Entity instance = entityManager.CreateEntity(unitArchetype); entityManager.SetComponentData(instance, new Id() { value = stats.id }); entityManager.SetSharedComponentData(instance, new Team() { value = stats.team }); entityManager.SetComponentData(instance, new Lvl() { value = stats.lvl }); entityManager.SetComponentData(instance, new Translation() { Value = new float3((stats.position % 8) * 2.25f, (stats.position / 8) * 2.25f, 0.4f) }); entityManager.SetComponentData(instance, new HP() { startValue = stats.hp, currentValue = stats.hp }); entityManager.SetComponentData(instance, new Initiative() { value = stats.initiative }); entityManager.SetComponentData(instance, new Attack() { index = stats.attacktype, amountOfCubes = stats.amountofdice, typeOfCubes = stats.dicetype, effect = stats.attackEffect }); entityManager.SetComponentData(instance, new Move() { index = stats.movetype }); entityManager.SetComponentData(instance, new Cost() { value = stats.cost }); entityManager.SetComponentData(instance, new BoardPosition() { cell = stats.position }); entityManager.SetComponentData(instance, new Skill() { skill = stats.skilltype }); animationManager.instance.CreateMassAnimationName(new animationManager.particleAnimation() { name = "UnitCircle", position = new Vector3(stats.position % 8 * 2.25f, stats.position / 8 * 2.25f, -30) }, stats.team); return(instance); }
void IEndDragHandler.OnEndDrag(PointerEventData eventData) { if (GameObject.Find("ReconnaissanceManager").GetComponent <ReconnaissanceManager>().activeCell == null || GameObject.Find("ReconnaissanceManager").GetComponent <ReconnaissanceManager>().activeCell.transform.parent.localPosition.y > 350) { this.transform.SetParent(GameObject.Find("UserSquad").transform); this.transform.localPosition = oldPosition; this.transform.localScale = new Vector3(1.5f, 1.5f, 1); } else { this.transform.parent = GameObject.Find("ReconnaissanceManager").GetComponent <ReconnaissanceManager>().activeCell.transform.parent; this.transform.localPosition = GameObject.Find("ReconnaissanceManager").GetComponent <ReconnaissanceManager>().activeCell.transform.localPosition; SquadManager.UnitStats s = GameManager.userSquad[Id]; s.position = (int)(this.transform.localPosition.x / 100 + this.transform.parent.localPosition.y * 8 / 100); this.transform.localScale = new Vector3(0.5f, 0.5f, 1); GameManager.userSquad[Id] = s; } }
public void StartFight(EntityManager entityManager) { for (int i = 0; i < 64; i++) { var cell = entityManager.CreateEntity(cellArchetype); entityManager.SetComponentData(cell, new Cell() { number = i }); entityManager.SetComponentData <Translation>(cell, new Translation() { Value = new float3((i % 8) * 2.25f, (i / 8) * 2.25f, 15) }); } for (int u = 0; u < GameManager.userSquad.Count; u++) { SquadManager.UnitStats x = GameManager.userSquad[u]; x.ChangeId(GameManager.enemySquad.Count + u); GameManager.userSquad[u] = x; var i = CreateUnit(entityManager, GameManager.userSquad[u]); if (this.unitNames.Contains(GameManager.userSquad[u].fileName)) { entityManager.SetComponentData <UnitType>(i, new UnitType() { index = unitNames.IndexOf(GameManager.userSquad[u].fileName) }); } else { unitNames.Add(GameManager.userSquad[u].fileName); entityManager.SetComponentData <UnitType>(i, new UnitType() { index = unitNames.Count - 1 }); } } for (int u = 0; u < GameManager.enemySquad.Count; u++) { SquadManager.UnitStats x = GameManager.enemySquad[u]; x.ChangeId(u); GameManager.enemySquad[u] = x; var i = CreateUnit(entityManager, GameManager.enemySquad[u]); if (this.unitNames.Contains(GameManager.enemySquad[u].fileName)) { entityManager.SetComponentData <UnitType>(i, new UnitType() { index = unitNames.IndexOf(GameManager.enemySquad[u].fileName) }); } else { unitNames.Add(GameManager.enemySquad[u].fileName); entityManager.SetComponentData <UnitType>(i, new UnitType() { index = unitNames.Count - 1 }); } } Entity sF = entityManager.CreateEntity(); entityManager.AddComponentData <startFlag>(sF, new startFlag() { }); foreach (var s in World.Active.Systems) { if (s != World.Active.GetExistingSystem(typeof(ClearShit))) { s.Enabled = true; } } }