コード例 #1
0
ファイル: Character.cs プロジェクト: dknoma/RealPogGaming
        protected bool TryDamage(int dmg, GameObject target)
        {
            // TODO: Check if target can be damaged.
            Debug.Log(string.Format("\t{0} dealt {1} damage to {2}", name, dmg, target.name));
            Character unit = target.GetComponent <Character>();

            unit.ModifyCurrentHp(-dmg);
            Debug.Log(string.Format("{0}'s HP: {1}", target.name, unit.GetCurrentHp()));
            // If HP is still positive, return
//		if (unit.GetCurrentHp() > 0) return true;
////		unit.TryIncapacitate();	// Incapacitate the unit. Cannot act until revived
////		units.Remove(target); // Remove unit from the list if no more HP
////		RemoveTargetFromQueue(unit);
//		Debug.LogFormat("contains {0}: {1}", target, units.Contains(target));
//		// TODO: if party member, make incapacitated: can be revived
//		if(target.CompareTag("Enemy")) {
//			RemoveTargetFromQueue(unit); // Remove enemy from queue, does not perform any more actions
//			enemies.Remove(target);
//			target.SetActive(false);
//			expToGive += unit.expToGrant;
//			if(enemies.Count == 0) {
//				EndBattle(WinStatus.Win);
//			}
//		}
//		if(target.CompareTag("Ally")) {
////			Player player = target.GetComponent<Player>();
////			PlayerStatBar statBar = UIManager.um.GetPlayerStatBar(player.slot);
////			statBar.UpdateHpBar(0);
////			PlayerManager.pm.IncapacitateUnit(unit.GetComponent<Player>());
//
//			// Allies do not get removed from queue in case their turn comes around when revived
//			if(PlayerManager.pm.AllAlliesIncapacitated()) {
//				EndBattle(WinStatus.Lose);
//			}
//		}
            return(true);
        }