Ryan Lindeman criou um simples e eficiente sistema que gerencia propriedades de objetos de forma fácil.
Para começar, salve o código daqui como header (.h).
Salve o código daqui como source (.cpp).
Salve o código daqui como header.
Salve o código daqui como source.
Salve o código daqui como header.
E um exemplo básico:
#include "PropertyManager.hpp" int main(int argc, char* argv[]) { PropertyManager properties; // Adicionar uma propriedade properties.Add<sf::Clock>("AnimationClock", sf::Clock()); // Adicionar uma propriedade properties.Add<sf::Sprite>("Sprite", sf::Sprite()); // Adicionar uma propriedade properties.Add<bool>("Visible", true); // Testar uma propriedade if(properties.Get<bool>("Visible") == true) { // Desenhar uma sprite renderWindow.draw(properties.Get<sf::Sprite>("Sprite")); // Obter uma propriedade sf::Clock anClock = properties.Get<sf::Clock>("AnimationClock"); // Reiniciar o relógio de animação anClock.reset(); // Atribuindo valores properties.Set<sf::Clock>("AnimationClock", anClock); } // Se uma propriedade existe if(properties.HasID("NotExist")) { printf("It exists!\n"); } else { printf("It doesn't exist\n"); } return 0; }O que podemos notar é que há bastante código por trás de tudo isso, mas, no final das contas, usaremos bem menos códigos para usar o sistema.
Nenhum comentário:
Postar um comentário