netfishing/economy/art_shop_stock.gd

64 lines
1.9 KiB
GDScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

class_name ArtShopStock
extends RefCounted
const ART_KIT_ITEM_ID: StringName = &"art_kit"
const ART_KIT_PRICE: int = 50
const UPGRADE_PRICE: int = 50
const MARKER_PRODUCTS: Array[StringName] = [
&"marker_ocean_teal",
&"marker_coral",
&"marker_sunny",
&"marker_leaf",
&"marker_blue",
&"marker_violet",
&"marker_charcoal",
]
const BRUSH_PRODUCTS: Array[StringName] = [
&"brush_2x",
&"brush_3x",
&"brush_4x",
]
const GRID_PRODUCTS: Array[StringName] = [
&"grid_32x",
&"grid_64x",
&"grid_128x",
]
static func get_price(product_id: StringName) -> int:
if product_id == ART_KIT_ITEM_ID:
return ART_KIT_PRICE
return UPGRADE_PRICE if PlayerArtUnlocks.is_product_id(product_id) else -1
static func get_display_name(product_id: StringName) -> String:
if product_id == ART_KIT_ITEM_ID:
return "Art Kit"
var color_id: StringName = PlayerArtUnlocks.color_id_for_product(product_id)
if not color_id.is_empty():
return "%s marker" % SurfaceDrawingPalette.get_display_name(color_id)
var brush_size: int = PlayerArtUnlocks.brush_size_for_product(product_id)
if brush_size > 0:
return "%d× brush" % brush_size
var grid_size: int = PlayerArtUnlocks.grid_size_for_product(product_id)
if grid_size > 0:
return "%d×%d grid" % [grid_size, grid_size]
return "Unknown art supply"
static func get_description(product_id: StringName) -> String:
if product_id == ART_KIT_ITEM_ID:
return "Press P in the game world to paint!"
var color_id: StringName = PlayerArtUnlocks.color_id_for_product(product_id)
if not color_id.is_empty():
return "Unlocks this marker color in the Paint UI."
var brush_size: int = PlayerArtUnlocks.brush_size_for_product(product_id)
if brush_size > 0:
return "Unlocks the %d× brush in the Paint UI." % brush_size
var grid_size: int = PlayerArtUnlocks.grid_size_for_product(product_id)
if grid_size > 0:
return "Unlocks the %d×%d grid in the Paint UI." % [
grid_size, grid_size,
]
return ""