From 44100b2b0db52f371e161c646c910ee47dc6dfc5 Mon Sep 17 00:00:00 2001 From: SyntaX Date: Sat, 23 Nov 2019 14:23:09 +0100 Subject: [PATCH 1/4] collector singleton for collectibles --- WikiJam/Level/Level.tscn | 8 ++++---- WikiJam/Player/Footsteps.gd | 2 +- WikiJam/Player/Player.gd | 12 ++++++------ WikiJam/Util/Collector.gd | 11 +++++++++++ WikiJam/project.godot | 3 ++- 5 files changed, 24 insertions(+), 12 deletions(-) create mode 100644 WikiJam/Util/Collector.gd diff --git a/WikiJam/Level/Level.tscn b/WikiJam/Level/Level.tscn index 7b64608..d11eacb 100644 --- a/WikiJam/Level/Level.tscn +++ b/WikiJam/Level/Level.tscn @@ -2,12 +2,12 @@ [ext_resource path="res://Player/Player.tscn" type="PackedScene" id=1] -[sub_resource type="NavigationMesh" id=1] +[sub_resource type="NavigationMesh" id=3] [sub_resource type="BoxShape" id=2] extents = Vector3( 10, 1, 10 ) -[sub_resource type="PlaneMesh" id=3] +[sub_resource type="PlaneMesh" id=4] size = Vector2( 20, 20 ) [node name="Level" type="Spatial"] @@ -18,7 +18,7 @@ size = Vector2( 20, 20 ) editor/display_folded = true [node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="Navigation"] -navmesh = SubResource( 1 ) +navmesh = SubResource( 3 ) [node name="StaticBody" type="StaticBody" parent="Navigation/NavigationMeshInstance"] @@ -27,6 +27,6 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 ) shape = SubResource( 2 ) [node name="MeshInstance" type="MeshInstance" parent="Navigation/NavigationMeshInstance"] -mesh = SubResource( 3 ) +mesh = SubResource( 4 ) skeleton = NodePath("") material/0 = null diff --git a/WikiJam/Player/Footsteps.gd b/WikiJam/Player/Footsteps.gd index 63c8c89..4f7872d 100644 --- a/WikiJam/Player/Footsteps.gd +++ b/WikiJam/Player/Footsteps.gd @@ -7,5 +7,5 @@ onready var steps = [ func play_footstep(): - #Logger.trace("Footstep") + Logger.trace("Footstep") steps[0].play() \ No newline at end of file diff --git a/WikiJam/Player/Player.gd b/WikiJam/Player/Player.gd index 5bb24cb..c26fe15 100644 --- a/WikiJam/Player/Player.gd +++ b/WikiJam/Player/Player.gd @@ -49,13 +49,13 @@ func _ready(): func _physics_process(delta): - process_input() - process_movement(delta) + _process_input() + _process_movement(delta) func _process(_delta): - process_animations() + _process_animations() -func process_input(): +func _process_input(): # Walking var input_movement_vector = Vector2() if Input.is_action_pressed("move_fwrd"): @@ -81,7 +81,7 @@ func process_input(): _is_sprinting = Input.is_action_pressed("move_sprint") -func process_movement(delta): +func _process_movement(delta): _vel.y += delta * GRAVITY # set movement speed @@ -94,7 +94,7 @@ func process_movement(delta): _vel = move_and_slide(_vel, Vector3(0, 1, 0), 0.05, 4, deg2rad(MAX_SLOPE_ANGLE)) -func process_animations(): +func _process_animations(): _animation.playback_speed = _vel.length() / MOVE_SPEED diff --git a/WikiJam/Util/Collector.gd b/WikiJam/Util/Collector.gd new file mode 100644 index 0000000..05cc7e0 --- /dev/null +++ b/WikiJam/Util/Collector.gd @@ -0,0 +1,11 @@ +extends Node + +var _collectibles: Array + + +func addCollectible (coll): + _collectibles.append(coll) + + +func getCount (): + return _collectibles.size() \ No newline at end of file diff --git a/WikiJam/project.godot b/WikiJam/project.godot index b9dfac1..c624f29 100644 --- a/WikiJam/project.godot +++ b/WikiJam/project.godot @@ -57,12 +57,13 @@ _global_script_class_icons={ [application] config/name="WikiJam" -run/main_scene="res://Level/Fortaleza.tscn" +run/main_scene="res://Level/Level.tscn" config/icon="res://icon.png" [autoload] Logger="*res://Util/gs_logger/logger.gd" +Collector="*res://Util/Collector.gd" [input] From 497521127aae72b29c8aa83cdaa46d8e7378af3a Mon Sep 17 00:00:00 2001 From: SyntaX Date: Sat, 23 Nov 2019 14:35:50 +0100 Subject: [PATCH 2/4] fixed namings --- WikiJam/Level/Fortaleza.tscn | 26 +++++++++++++++----------- WikiJam/Player/Player.tscn | 2 +- WikiJam/project.godot | 2 +- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/WikiJam/Level/Fortaleza.tscn b/WikiJam/Level/Fortaleza.tscn index b56c9ed..8db721e 100644 --- a/WikiJam/Level/Fortaleza.tscn +++ b/WikiJam/Level/Fortaleza.tscn @@ -11,14 +11,14 @@ size = Vector2( 500, 500 ) [sub_resource type="SpatialMaterial" id=2] albedo_color = Color( 0.537255, 0.741176, 0.517647, 1 ) -[sub_resource type="ConcavePolygonShape" id=5] +[sub_resource type="ConcavePolygonShape" id=3] data = PoolVector3Array( 250, 0, 250, -250, 0, 250, 250, 0, -250, -250, 0, 250, -250, 0, -250, 250, 0, -250 ) -[sub_resource type="ProceduralSky" id=3] +[sub_resource type="ProceduralSky" id=4] -[sub_resource type="Environment" id=4] +[sub_resource type="Environment" id=5] background_mode = 2 -background_sky = SubResource( 3 ) +background_sky = SubResource( 4 ) [node name="Fortaleza" type="Spatial"] @@ -33,7 +33,7 @@ material/0 = SubResource( 2 ) [node name="StaticBody" type="StaticBody" parent="Navigation/NavigationMeshInstance/Ground"] [node name="CollisionShape" type="CollisionShape" parent="Navigation/NavigationMeshInstance/Ground/StaticBody"] -shape = SubResource( 5 ) +shape = SubResource( 3 ) [node name="Walls" type="Spatial" parent="Navigation/NavigationMeshInstance"] editor/display_folded = true @@ -66,7 +66,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, 30 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, 40 ) [node name="Wall10" parent="Navigation/NavigationMeshInstance/Walls" instance=ExtResource( 1 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -44.8466, 0, 44.213 ) +transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -44.8466, 0, 44.213 ) [node name="Wall16" parent="Navigation/NavigationMeshInstance/Walls" instance=ExtResource( 1 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -49.1376, 0, 40.1174 ) @@ -132,13 +132,13 @@ transform = Transform( -0.819152, 0, -0.573576, 0, 1, 0, 0.573576, 0, -0.819152, transform = Transform( 0.906308, 0, -0.422618, 0, 1, 0, 0.422618, 0, 0.906308, -52.1376, 0, -30.8826 ) [node name="Wall11" parent="Navigation/NavigationMeshInstance/Walls" instance=ExtResource( 1 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -34.8466, 0, 44.213 ) +transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -34.8466, 0, 44.213 ) [node name="Wall12" parent="Navigation/NavigationMeshInstance/Walls" instance=ExtResource( 1 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -24.8466, 0, 44.213 ) +transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -24.8466, 0, 44.213 ) [node name="Wall15" parent="Navigation/NavigationMeshInstance/Walls" instance=ExtResource( 1 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 31.1534, 0, 44.213 ) +transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 31.1534, 0, 44.213 ) [node name="Wall13" parent="Navigation/NavigationMeshInstance/Walls" instance=ExtResource( 1 )] transform = Transform( 0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, -15.8466, 0, 46.213 ) @@ -154,11 +154,15 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 74 ) [node name="SmallBuilding" parent="Navigation/NavigationMeshInstance" instance=ExtResource( 3 )] [node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = SubResource( 4 ) +environment = SubResource( 5 ) [node name="DirectionalLight" type="DirectionalLight" parent="WorldEnvironment"] transform = Transform( 0.965926, 0.212012, -0.148453, 0, 0.573576, 0.819152, 0.258819, -0.79124, 0.554032, 0, 0, 0 ) shadow_enabled = true -[node name="Spatial" parent="." instance=ExtResource( 4 )] +[node name="Player" parent="." instance=ExtResource( 4 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) +body_nodepath = NodePath("Body") +animation_nodepath = NodePath("WalkAnimationPlayer") +ui_nodepath = NodePath("HUD") +camera_nodepath = NodePath("Camera") diff --git a/WikiJam/Player/Player.tscn b/WikiJam/Player/Player.tscn index 31d2bd8..7f8f429 100644 --- a/WikiJam/Player/Player.tscn +++ b/WikiJam/Player/Player.tscn @@ -42,7 +42,7 @@ tracks/1/keys = { } ] } -[node name="Spatial" type="KinematicBody"] +[node name="Player" type="KinematicBody"] script = ExtResource( 1 ) body_nodepath = NodePath("Body") animation_nodepath = NodePath("WalkAnimationPlayer") diff --git a/WikiJam/project.godot b/WikiJam/project.godot index c624f29..025125d 100644 --- a/WikiJam/project.godot +++ b/WikiJam/project.godot @@ -57,7 +57,7 @@ _global_script_class_icons={ [application] config/name="WikiJam" -run/main_scene="res://Level/Level.tscn" +run/main_scene="res://Level/Fortaleza.tscn" config/icon="res://icon.png" [autoload] From 108c5bd67c20b255bfb4d1e975eb2e978cd60f5b Mon Sep 17 00:00:00 2001 From: SyntaX Date: Sat, 23 Nov 2019 14:49:20 +0100 Subject: [PATCH 3/4] added basic collectible --- WikiJam/Level/Fortaleza.tscn | 20 +++++++++++++------- WikiJam/Level/Objects/Crystal.gd | 8 ++++++++ WikiJam/Level/Objects/Crystal.tscn | 20 ++++++++++++++++++++ WikiJam/Player/Footsteps.gd | 2 +- WikiJam/Player/Player.gd | 1 + WikiJam/Util/Collector.gd | 1 + 6 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 WikiJam/Level/Objects/Crystal.gd create mode 100644 WikiJam/Level/Objects/Crystal.tscn diff --git a/WikiJam/Level/Fortaleza.tscn b/WikiJam/Level/Fortaleza.tscn index 8db721e..d662f19 100644 --- a/WikiJam/Level/Fortaleza.tscn +++ b/WikiJam/Level/Fortaleza.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://Level/Objects/Wall.tscn" type="PackedScene" id=1] [ext_resource path="res://Level/Objects/LongBuilding.tscn" type="PackedScene" id=2] [ext_resource path="res://Level/Objects/SmallBuilding.tscn" type="PackedScene" id=3] -[ext_resource path="res://Player/Player.tscn" type="PackedScene" id=4] +[ext_resource path="res://Level/Objects/Crystal.tscn" type="PackedScene" id=4] +[ext_resource path="res://Player/Player.tscn" type="PackedScene" id=5] [sub_resource type="PlaneMesh" id=1] size = Vector2( 500, 500 ) @@ -153,6 +154,15 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 74 ) [node name="SmallBuilding" parent="Navigation/NavigationMeshInstance" instance=ExtResource( 3 )] +[node name="Crystal" parent="." instance=ExtResource( 4 )] +transform = Transform( 1, 0, 0, 0, -4.37114e-008, -1, 0, 1, -4.37114e-008, 0, 2, -15 ) + +[node name="Crystal2" parent="." instance=ExtResource( 4 )] +transform = Transform( 1, 0, 0, 0, -4.37114e-008, -1, 0, 1, -4.37114e-008, 0, 2, -32.1406 ) + +[node name="Crystal3" parent="." instance=ExtResource( 4 )] +transform = Transform( 1, 0, 0, 0, -4.37114e-008, -1, 0, 1, -4.37114e-008, -20.2151, 2, -32.1406 ) + [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource( 5 ) @@ -160,9 +170,5 @@ environment = SubResource( 5 ) transform = Transform( 0.965926, 0.212012, -0.148453, 0, 0.573576, 0.819152, 0.258819, -0.79124, 0.554032, 0, 0, 0 ) shadow_enabled = true -[node name="Player" parent="." instance=ExtResource( 4 )] +[node name="Player" parent="." instance=ExtResource( 5 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) -body_nodepath = NodePath("Body") -animation_nodepath = NodePath("WalkAnimationPlayer") -ui_nodepath = NodePath("HUD") -camera_nodepath = NodePath("Camera") diff --git a/WikiJam/Level/Objects/Crystal.gd b/WikiJam/Level/Objects/Crystal.gd new file mode 100644 index 0000000..7aa8225 --- /dev/null +++ b/WikiJam/Level/Objects/Crystal.gd @@ -0,0 +1,8 @@ +extends Spatial + + +func _ready(): + Collector.addCollectible(self) + + +#TODO: handle collisions \ No newline at end of file diff --git a/WikiJam/Level/Objects/Crystal.tscn b/WikiJam/Level/Objects/Crystal.tscn new file mode 100644 index 0000000..5e3b8fa --- /dev/null +++ b/WikiJam/Level/Objects/Crystal.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Level/Objects/Crystal.gd" type="Script" id=1] + +[sub_resource type="CapsuleMesh" id=1] + +[sub_resource type="CapsuleShape" id=2] + +[node name="Crystal" type="Spatial"] +transform = Transform( 1, 0, 0, 0, -4.37114e-008, -1, 0, 1, -4.37114e-008, 0, 2, 0 ) +script = ExtResource( 1 ) + +[node name="MeshInstance" type="MeshInstance" parent="."] +mesh = SubResource( 1 ) +material/0 = null + +[node name="StaticBody" type="StaticBody" parent="."] + +[node name="CollisionShape" type="CollisionShape" parent="StaticBody"] +shape = SubResource( 2 ) diff --git a/WikiJam/Player/Footsteps.gd b/WikiJam/Player/Footsteps.gd index 4f7872d..63c8c89 100644 --- a/WikiJam/Player/Footsteps.gd +++ b/WikiJam/Player/Footsteps.gd @@ -7,5 +7,5 @@ onready var steps = [ func play_footstep(): - Logger.trace("Footstep") + #Logger.trace("Footstep") steps[0].play() \ No newline at end of file diff --git a/WikiJam/Player/Player.gd b/WikiJam/Player/Player.gd index c26fe15..d59bed3 100644 --- a/WikiJam/Player/Player.gd +++ b/WikiJam/Player/Player.gd @@ -75,6 +75,7 @@ func _process_input(): # jumping if Input.is_action_just_pressed("move_jump") and is_on_floor(): + Logger.info("current collection count: " + String(Collector.getCount())) _vel.y = JUMP_SPEED # sprinting diff --git a/WikiJam/Util/Collector.gd b/WikiJam/Util/Collector.gd index 05cc7e0..dfe003f 100644 --- a/WikiJam/Util/Collector.gd +++ b/WikiJam/Util/Collector.gd @@ -4,6 +4,7 @@ var _collectibles: Array func addCollectible (coll): + Logger.info("appending new collectible: " + String(coll.get_instance_id())) _collectibles.append(coll) From 31c7af0d7172de298ae41ce39255ee502bc0b19f Mon Sep 17 00:00:00 2001 From: SyntaX Date: Sat, 23 Nov 2019 15:37:52 +0100 Subject: [PATCH 4/4] player can now collect crystals and win the game --- WikiJam/Level/Objects/Crystal.gd | 5 +---- WikiJam/Level/Objects/Crystal.tscn | 16 ++++++++-------- WikiJam/Player/Player.gd | 30 +++++++++++++++++++++--------- WikiJam/Player/Player.tscn | 3 ++- WikiJam/Player/UI/HUD.gd | 24 ++++++++++++++++-------- WikiJam/Util/Collector.gd | 1 + 6 files changed, 49 insertions(+), 30 deletions(-) diff --git a/WikiJam/Level/Objects/Crystal.gd b/WikiJam/Level/Objects/Crystal.gd index 7aa8225..c7e40e3 100644 --- a/WikiJam/Level/Objects/Crystal.gd +++ b/WikiJam/Level/Objects/Crystal.gd @@ -2,7 +2,4 @@ extends Spatial func _ready(): - Collector.addCollectible(self) - - -#TODO: handle collisions \ No newline at end of file + Collector.addCollectible(self) \ No newline at end of file diff --git a/WikiJam/Level/Objects/Crystal.tscn b/WikiJam/Level/Objects/Crystal.tscn index 5e3b8fa..3aefd1d 100644 --- a/WikiJam/Level/Objects/Crystal.tscn +++ b/WikiJam/Level/Objects/Crystal.tscn @@ -2,19 +2,19 @@ [ext_resource path="res://Level/Objects/Crystal.gd" type="Script" id=1] -[sub_resource type="CapsuleMesh" id=1] - [sub_resource type="CapsuleShape" id=2] +[sub_resource type="CapsuleMesh" id=1] + [node name="Crystal" type="Spatial"] transform = Transform( 1, 0, 0, 0, -4.37114e-008, -1, 0, 1, -4.37114e-008, 0, 2, 0 ) script = ExtResource( 1 ) -[node name="MeshInstance" type="MeshInstance" parent="."] +[node name="CrystalBody" type="StaticBody" parent="."] + +[node name="CollisionShape" type="CollisionShape" parent="CrystalBody"] +shape = SubResource( 2 ) + +[node name="MeshInstance" type="MeshInstance" parent="CrystalBody"] mesh = SubResource( 1 ) material/0 = null - -[node name="StaticBody" type="StaticBody" parent="."] - -[node name="CollisionShape" type="CollisionShape" parent="StaticBody"] -shape = SubResource( 2 ) diff --git a/WikiJam/Player/Player.gd b/WikiJam/Player/Player.gd index d59bed3..c482360 100644 --- a/WikiJam/Player/Player.gd +++ b/WikiJam/Player/Player.gd @@ -2,10 +2,9 @@ extends KinematicBody # export variables export(NodePath) var body_nodepath -#export(NodePath) var lookingAt_nodepath +export(NodePath) var camera_nodepath export(NodePath) var animation_nodepath export(NodePath) var ui_nodepath -export(NodePath) var camera_nodepath # const const GRAVITY = -24.8 @@ -20,7 +19,6 @@ const INTERACT_DISTANCE = 4 # private members var _body: Spatial var _camera: Camera -#var _lookCast: RayCast var _animation: AnimationPlayer var _interface: Control var _dir = Vector3(); @@ -39,22 +37,23 @@ func _ready(): _animation = get_node(animation_nodepath) as AnimationPlayer assert(null != _animation) - # Setup mouse look - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - #_lookCast = get_node(lookingAt_nodepath) as RayCast - #_lookCast.cast_to = Vector3(0, 0, INTERACT_DISTANCE) - _interface = get_node(ui_nodepath) as Control assert(null != _interface) + + # Setup mouse look + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) func _physics_process(delta): _process_input() _process_movement(delta) + _process_collision() + func _process(_delta): _process_animations() + func _process_input(): # Walking var input_movement_vector = Vector2() @@ -75,7 +74,6 @@ func _process_input(): # jumping if Input.is_action_just_pressed("move_jump") and is_on_floor(): - Logger.info("current collection count: " + String(Collector.getCount())) _vel.y = JUMP_SPEED # sprinting @@ -99,6 +97,20 @@ func _process_animations(): _animation.playback_speed = _vel.length() / MOVE_SPEED +func _process_collision(): + var collCount = get_slide_count() + if collCount > 0: + #Logger.debug("Collide count: ", collCount) + for i in collCount: + var collision = get_slide_collision(i) + #Logger.debug("Collided with: ", collision.collider.name) + #TODO: replace with groups + if collision.collider.name == "CrystalBody": + #Logger.debug("removing crystal...") + collision.collider.queue_free() + _interface.increaseScore() + + func _input(event): # capture mouse movement if event is InputEventMouseMotion: diff --git a/WikiJam/Player/Player.tscn b/WikiJam/Player/Player.tscn index 7f8f429..efd8d30 100644 --- a/WikiJam/Player/Player.tscn +++ b/WikiJam/Player/Player.tscn @@ -45,9 +45,9 @@ tracks/1/keys = { [node name="Player" type="KinematicBody"] script = ExtResource( 1 ) body_nodepath = NodePath("Body") +camera_nodepath = NodePath("Camera") animation_nodepath = NodePath("WalkAnimationPlayer") ui_nodepath = NodePath("HUD") -camera_nodepath = NodePath("Camera") [node name="Body" type="Spatial" parent="."] @@ -73,6 +73,7 @@ pitch_scale = 1.5 [node name="HUD" parent="." instance=ExtResource( 4 )] script = ExtResource( 5 ) +label_nodepath = NodePath("LabelScore") [node name="LabelScore" type="Label" parent="HUD"] margin_left = 15.0 diff --git a/WikiJam/Player/UI/HUD.gd b/WikiJam/Player/UI/HUD.gd index 68638f9..d68cafb 100644 --- a/WikiJam/Player/UI/HUD.gd +++ b/WikiJam/Player/UI/HUD.gd @@ -1,13 +1,21 @@ extends Control -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" +export(NodePath) var label_nodepath + +const SCORE = 100 + +var _labelScore: Label +var _score: int = 0 + -# Called when the node enters the scene tree for the first time. func _ready(): - pass # Replace with function body. + _labelScore = get_node(label_nodepath) as Label + assert(null != _labelScore) -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass + +func increaseScore(): + _score += SCORE + _labelScore.text = "Score: " + String(_score) + if (_score / SCORE == Collector.getCount()): + Logger.info("YOU WON!") + \ No newline at end of file diff --git a/WikiJam/Util/Collector.gd b/WikiJam/Util/Collector.gd index dfe003f..c504a8e 100644 --- a/WikiJam/Util/Collector.gd +++ b/WikiJam/Util/Collector.gd @@ -5,6 +5,7 @@ var _collectibles: Array func addCollectible (coll): Logger.info("appending new collectible: " + String(coll.get_instance_id())) + Logger.info("current collection count: " + String(Collector.getCount())) _collectibles.append(coll)