Files
ZombieGame-Rawr/inc/IExamInterface.h
github-classroom[bot] 294e9ab735 Initial commit
2025-05-08 08:33:11 +00:00

53 lines
1.8 KiB
C++

#pragma once
#include "IBaseInterface.h"
class IExamInterface : public IBaseInterface
{
public:
IExamInterface();
~IExamInterface();
//WORLD & ENTITIES
virtual WorldInfo World_GetInfo() const = 0;
virtual StatisticsInfo World_GetStats() const = 0;
virtual std::vector<HouseInfo> GetHousesInFOV() const = 0;
virtual std::vector<EnemyInfo> GetEnemiesInFOV() const = 0;
virtual std::vector<PurgeZoneInfo> GetPurgeZonesInFOV() const = 0;
virtual std::vector<ItemInfo> GetItemsInFOV() const = 0;
virtual const FOVStats& FOV_GetStats() const = 0;
virtual AgentInfo Agent_GetInfo() const = 0;
//NAVMESH
virtual Elite::Vector2 NavMesh_GetClosestPathPoint(Elite::Vector2 goal) const = 0;
//INVENTORY
virtual bool Inventory_AddItem(UINT slotId, ItemInfo item) = 0;
virtual bool Inventory_UseItem(UINT slotId) = 0;
virtual bool Inventory_RemoveItem(UINT slotId) = 0;
virtual bool Inventory_GetItem(UINT slotId, ItemInfo& item) = 0;
virtual UINT Inventory_GetCapacity() const = 0;
//ITEMS
virtual bool GrabNearestItem(ItemInfo& item) = 0;
virtual bool GrabItem(const ItemInfo& item) = 0;
virtual bool DestroyItem(const ItemInfo& item) = 0;
//DEBUG
virtual Elite::Vector2 Debug_ConvertScreenToWorld(Elite::Vector2 screenPos) const = 0;
virtual Elite::Vector2 Debug_ConvertWorldToScreen(Elite::Vector2 worldPos) const = 0;
//INPUT
virtual bool Input_IsKeyboardKeyDown(Elite::InputScancode key) const = 0;
virtual bool Input_IsKeyboardKeyUp(Elite::InputScancode key) const = 0;
virtual bool Input_IsMouseButtonDown(Elite::InputMouseButton button) const = 0;
virtual bool Input_IsMouseButtonUp(Elite::InputMouseButton button) const = 0;
virtual Elite::MouseData Input_GetMouseData(Elite::InputType type, Elite::InputMouseButton button = Elite::InputMouseButton(0)) const = 0;
//EVENT
virtual void RequestShutdown() const = 0;
};