Add fish selling, buyer profiles, and player wallet

This commit is contained in:
Alexander Sellite 2026-07-25 16:27:07 -04:00
parent fb04615600
commit d2fe367891
25 changed files with 738 additions and 5 deletions

View file

@ -0,0 +1,45 @@
class_name FishSaleResult
extends RefCounted
enum Status {
SUCCESS,
NOT_FOUND,
FAVORITED,
INVALID_VALUE,
INVALID_BUYER,
INVALID_OFFER,
TRANSACTION_FAILED,
}
var success: bool = false
var status: Status = Status.TRANSACTION_FAILED
var catch_id: StringName
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:
return "Fish no longer exists."
Status.FAVORITED:
return "Favorited fish cannot be sold."
Status.INVALID_VALUE:
return "Invalid sale value."
Status.INVALID_BUYER:
return "Buyer is unavailable."
Status.INVALID_OFFER:
return "Invalid buyer offer."
_:
return "Transaction failed."