You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.3 KiB
39 lines
1.3 KiB
#pragma once
|
|
#include "components.hpp"
|
|
#include "levelmanager.hpp"
|
|
|
|
|
|
namespace System {
|
|
using namespace components;
|
|
using namespace DinkyECS;
|
|
using std::string;
|
|
|
|
void lighting(GameLevel &level);
|
|
void motion(GameLevel &level);
|
|
void collision(GameLevel &level);
|
|
void death(GameLevel &level);
|
|
void generate_paths(GameLevel &level);
|
|
void enemy_pathing(GameLevel &level);
|
|
void enemy_ai_initialize(GameLevel &level);
|
|
|
|
void init_positions(World &world, SpatialMap &collider);
|
|
void device(World &world, Entity actor, Entity item);
|
|
void plan_motion(World& world, Point move_to);
|
|
std::wstring draw_map(GameLevel level, size_t view_x, size_t view_y, int compass_dir);
|
|
Entity spawn_item(World& world, const string& name);
|
|
bool drop_item(GameLevel& level, Entity item);
|
|
|
|
void enemy_ai(GameLevel &level);
|
|
void combat(GameLevel &level, int attack_id);
|
|
|
|
std::shared_ptr<sf::Shader> sprite_effect(GameLevel &level, Entity entity);
|
|
void player_status(GameLevel &level);
|
|
void distribute_loot(World &world, Entity& ent, nlohmann::json& entity_data);
|
|
|
|
void pickup(GameLevel &level, Entity entity);
|
|
|
|
bool place_in_container(World& world, Entity cont_id, const string& name, Entity world_entity);
|
|
|
|
void remove_from_container(World& world, Entity cont_id, const string& name);
|
|
|
|
}
|
|
|