public CombatController SpawnCombatAvatar(Vector3 location, Quaternion rotation, bool asPC) { dead = false; if (currentHealth <= 0) { currentHealth = 1; } GameObject combatPrefab = (GameObject)Resources.Load("Prefabs/Combat/" + avatarFileName, typeof(GameObject)); avatar = GameObject.Instantiate(combatPrefab, location, rotation) as GameObject; healthBar = avatar.transform.Find("Canvas").transform.Find("HealthBar").GetComponent <IndicatorBar>(); healthBar.SetSliderMax(MaxHealth()); healthBar.SetSlider(currentHealth); manaBar = avatar.transform.Find("Canvas").transform.Find("ManaBar").GetComponent <IndicatorBar>(); manaBar.SetSliderMax(MaxMana()); manaBar.SetSlider(currentMana); avatar.AddComponent <ActionMove>(); avatar.AddComponent <ActionBasicAttack>(); if (asPC) { combatController = avatar.AddComponent <PlayerController>(); } else { combatController = avatar.AddComponent <EnemyController>(); } combatController.SetCharacterSheet(this); GameObject.FindObjectOfType <TurnManager>().combatants.Add(combatController); // List<Action> specialMoves = new List<Action> { }; return(combatController); }
public void ReceiveDamage(int amount) { currentHealth -= amount; if (currentHealth <= 0) { currentHealth = 0; dead = true; combatController.Die(); GameObject.Destroy(avatar); } healthBar.SetSlider(currentHealth); }