Add Art Kit painting upgrades
This commit is contained in:
parent
0edbfabdb1
commit
1406a0abc7
34 changed files with 1530 additions and 165 deletions
64
economy/art_shop_stock.gd
Normal file
64
economy/art_shop_stock.gd
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
class_name ArtShopStock
|
||||
extends RefCounted
|
||||
|
||||
const ART_KIT_ITEM_ID: StringName = &"art_kit"
|
||||
const ART_KIT_PRICE: int = 1000
|
||||
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 ""
|
||||
Loading…
Add table
Add a link
Reference in a new issue