netfishing/economy/fish_sale_result.gd

54 lines
1.1 KiB
GDScript3
Raw Normal View History

class_name FishSaleResult
extends RefCounted
enum Status {
SUCCESS,
NOT_FOUND,
FAVORITED,
INVALID_VALUE,
INVALID_BUYER,
INVALID_OFFER,
2026-07-26 23:18:51 -04:00
INVALID_SELECTION,
RESERVED,
TRANSACTION_FAILED,
}
var success: bool = false
var status: Status = Status.TRANSACTION_FAILED
var catch_id: StringName
2026-07-26 23:18:51 -04:00
var catch_ids: Array[StringName] = []
var fish_count: int = 0
var fish_name: String = ""
var buyer_id: StringName
var buyer_display_name: String = ""
var buyer_animal_name: String = ""
var base_value: int = 0
var payout: int = 0
var sale_message: String = ""
func is_success() -> bool:
return success and status == Status.SUCCESS
func get_message() -> String:
match status:
Status.SUCCESS:
return sale_message
Status.NOT_FOUND:
2026-07-26 23:18:51 -04:00
return "fish no longer exists."
Status.FAVORITED:
2026-07-26 23:18:51 -04:00
return "favorited fish cannot be sold."
Status.INVALID_VALUE:
2026-07-26 23:18:51 -04:00
return "invalid sale value."
Status.INVALID_BUYER:
2026-07-26 23:18:51 -04:00
return "buyer is unavailable."
Status.INVALID_OFFER:
2026-07-26 23:18:51 -04:00
return "invalid buyer offer."
Status.INVALID_SELECTION:
return "the fish selection is invalid."
Status.RESERVED:
return "reserved fish cannot be sold."
_:
2026-07-26 23:18:51 -04:00
return "transaction failed."