private void Start() { //// health bar //if (healthBar) healthBar.gameObject.SetActive(true); //else //{ // healthBar = transform.Find("PieceCanvas").Find("HealthBar").GetComponent<Image>(); // if(healthBar) healthBar.gameObject.SetActive(true); //} animState = GetComponent <AnimState>(); int pieceIdx = GenericDataMgr.genericData_SO.GetPieceIdxByCode(code); piece = GenericDataMgr.genericData_SO.ChessPieces[pieceIdx]; int upgrade = PlayerDataMgr.playerData_SO.ChessPieces[pieceIdx].upgrade; // Health int basic_health = piece.health; int up_health = piece.upgrades[upgrade].health; maxHealth = basic_health + up_health; currHealth = maxHealth; status = STATUS.GOOD; if (doesHealthStateChangeSprite) { SetColor(false); } }
// GenericData에서 damage와 range를 받아옵니다. protected void SetProperties() { int pieceIdx = GenericDataMgr.genericData_SO.GetPieceIdxByCode(code); if (pieceIdx < 0) { Debug.Log(gameObject.name + " Attacker SetProperties Method Failed"); return; } piece_gen = GenericDataMgr.genericData_SO.ChessPieces[pieceIdx]; ChessPiece_Player piece_Player = PlayerDataMgr.playerData_SO.ChessPieces[pieceIdx]; int upgrade; if (piece_Player != null) { upgrade = piece_Player.upgrade; } else { upgrade = 0; } // Damage int basic_damage = piece_gen.damage; int up_damage = piece_gen.upgrades[upgrade].damage; damage = basic_damage + up_damage; // Skill Effectiveness float basic_effectiveness = piece_gen.skillEffectiveness; float up_effectiveness = piece_gen.upgrades[upgrade].skillEffectiveness; skillEffectiveness = basic_effectiveness + up_effectiveness; // Range range = piece_gen.range; // AttackCoolTime attackCoolTime = piece_gen.attackCoolTime; }