public void Setup(Sprite heroSprite) { _spriteRenderer.sprite = heroSprite; EntityData = new BoardEntityData { Sprite = heroSprite, HealthPoint = Random.Range(1, 5), AttackPoint = Random.Range(1, 5), DefensePoint = Random.Range(1, 5), Element = (ElementType)Random.Range(0, 3), }; }
public static void AttackTarget(BoardEntityData source, BoardEntityData target) { var typeAttackMultiplier = 1; if (source.Element == target.Element) { typeAttackMultiplier = 2; } var modDamage = source.AttackPoint * typeAttackMultiplier; var playerDamage = modDamage - target.DefensePoint; playerDamage = Mathf.Clamp(playerDamage, 1, int.MaxValue); var enemyRemainingHealth = target.HealthPoint - playerDamage; target.HealthPoint = enemyRemainingHealth; }
public void Setup(BoardEntityData boardEntityData) { _statusTextCanvasGroup = statusText.GetComponent <CanvasGroup>(); _statusTextCanvasGroup.alpha = 0; var health = Mathf.Clamp(boardEntityData.HealthPoint, 0, Int32.MaxValue); healthText.text = "HP: " + health; sprite.sprite = boardEntityData.Sprite; attackPointText.text = "AP: " + boardEntityData.AttackPoint; defensePointText.text = "DP: " + boardEntityData.DefensePoint; typeText.text = "TYPE: " + boardEntityData.Element; if (health > 0) { return; } LeanTween.alphaCanvas(_statusTextCanvasGroup, 1, 0.4f); statusText.text = "DEAD"; statusText.color = Color.red; }
private void DisplayEnemyStat(BoardEntityData signalEnemyEntity) { enemyStatDisplay.Setup(signalEnemyEntity); }
private void DisplayHeroStat(BoardEntityData signalHeroEntity) { heroStatDisplay.Setup(signalHeroEntity); }