Moon Cheeser is an infinite runner where the player plays as a mouse gathering cheese pieces and avoiding craters and other astronomical objects, such as comets and planets, on a moon made of cheese.
_on_Singularity_body_entered can be substituted by using composition with a KillingArea
set_astromouse and queue_free polymorphism can be delegated to Level._on_Blackhole_tree_entered
Fix Level.treat_new_node changing type check to aggregation check, using has_node("Gravity") and has_node("KillingArea") to define what a Blackhole has, and handle it proper
Move responsibilities to other classes:
_on_Singularity_body_entered
can be substituted by using composition with aKillingArea
set_astromouse
andqueue_free
polymorphism can be delegated toLevel._on_Blackhole_tree_entered
Level.treat_new_node
changing type check to aggregation check, usinghas_node("Gravity")
andhas_node("KillingArea")
to define what a Blackhole has, and handle it proper