feature/Coin #32
@ -1,10 +1,14 @@
|
||||
[gd_scene load_steps=6 format=2]
|
||||
[gd_scene load_steps=8 format=2]
|
||||
|
||||
[ext_resource path="res://CameraLimit.gdns" type="Script" id=1]
|
||||
[ext_resource path="res://characters/player/Player.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://levels/Prototype.tmx" type="PackedScene" id=3]
|
||||
[ext_resource path="res://assets/backgrounds/mountains.png" type="Texture" id=4]
|
||||
[ext_resource path="res://collectables/coin/Coin.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://assets/coin.png" type="Texture" id=6]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=1]
|
||||
bg_color = Color( 0, 0, 0, 0.541176 )
|
||||
|
||||
[node name="Prototype" type="Node2D"]
|
||||
|
||||
@ -47,3 +51,35 @@ position = Vector2( 72, 450 )
|
||||
|
||||
[node name="coin2" parent="." instance=ExtResource( 5 )]
|
||||
position = Vector2( 234, 450 )
|
||||
|
||||
[node name="CoinHUD" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Panel" type="Panel" parent="CoinHUD"]
|
||||
margin_left = 144.0
|
||||
margin_top = 18.0
|
||||
margin_right = 288.0
|
||||
margin_bottom = 54.0
|
||||
custom_styles/panel = SubResource( 1 )
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="CoinHUD"]
|
||||
margin_left = 144.0
|
||||
margin_top = 18.0
|
||||
margin_right = 184.0
|
||||
margin_bottom = 58.0
|
||||
texture = ExtResource( 6 )
|
||||
|
||||
[node name="Label" type="Label" parent="CoinHUD"]
|
||||
margin_left = 198.0
|
||||
margin_top = 18.0
|
||||
margin_right = 238.0
|
||||
margin_bottom = 36.0
|
||||
text = "X"
|
||||
|
||||
[node name="Coins" type="Label" parent="CoinHUD"]
|
||||
margin_left = 216.0
|
||||
margin_top = 18.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 32.0
|
||||
text = "##"
|
||||
|
||||
[connection signal="ready" from="CoinHUD/Coins" to="Player" method="_on_CoinHUD_ready"]
|
||||
|
@ -0,0 +1,40 @@
|
||||
#include "coin/CoinCounter.h"
|
||||
#include <Control.hpp>
|
||||
|
||||
using namespace godot;
|
||||
|
||||
void CoinCounter::_register_methods()
|
||||
{
|
||||
register_method("_state_enter", &CoinCounter::_state_enter);
|
||||
register_method("_state_exit", &CoinCounter::_state_exit);
|
||||
register_method("_on_body_entered", &CoinCounter::_on_CoinHUD_ready);
|
||||
}
|
||||
|
||||
CoinCounter::CoinCounter()
|
||||
{
|
||||
}
|
||||
|
||||
CoinCounter::~CoinCounter()
|
||||
{
|
||||
}
|
||||
|
||||
void CoinCounter::_init()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CoinCounter::_state_enter()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CoinCounter::_state_exit()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CoinCounter::_on_CoinHUD_ready()
|
||||
{
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
#ifndef ALAI_COIN_COUNTER
|
||||
#define ALAI_COIN_COUNTER
|
||||
|
||||
#include "state_machine/State.h"
|
||||
|
||||
#include <Godot.hpp>
|
||||
#include <Node.hpp>
|
||||
#include <AnimatedSprite.hpp>
|
||||
|
||||
namespace godot
|
||||
{
|
||||
/**
|
||||
* @brief This class controls what happens when the Coin is in the collected state.
|
||||
*
|
||||
*/
|
||||
class CoinCounter : public State
|
||||
{
|
||||
GODOT_CLASS(CoinCounter, State)
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief The animated sprite of the Coin.
|
||||
*
|
||||
*/
|
||||
AnimatedSprite *animated_sprite;
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief This method registers classes with Godot.
|
||||
*
|
||||
* @details This method registers methods, properties, and signals with the Godot engine.
|
||||
*/
|
||||
static void _register_methods();
|
||||
|
||||
/**
|
||||
* @brief Construct a new CoinCounter object.
|
||||
*
|
||||
*/
|
||||
CoinCounter();
|
||||
|
||||
/**
|
||||
* @brief Destroy the CoinCounter object.
|
||||
*
|
||||
*/
|
||||
~CoinCounter();
|
||||
|
||||
/**
|
||||
* @brief Initialize the class from Godot.
|
||||
*
|
||||
* @details This method is called just once when the Godot engine connects to the instance of the class.
|
||||
*/
|
||||
void _init();
|
||||
|
||||
/**
|
||||
* @brief Called when the collected state of the coin is entered.
|
||||
*
|
||||
*/
|
||||
void _state_enter();
|
||||
|
||||
/**
|
||||
* @brief Called when the collected state of the coin is exited.
|
||||
*
|
||||
*/
|
||||
void _state_exit();
|
||||
|
||||
/**
|
||||
* @brief Called when the animation of the collected coin has finished.
|
||||
*
|
||||
*/
|
||||
|
||||
void _on_CoinHUD_ready();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user