75 lines
1.7 KiB
C++
75 lines
1.7 KiB
C++
// Copyright (C) 2007-2025 EQ2EMulator
|
|
// Licensed under GPL v3
|
|
|
|
#ifndef __EQ2_SIGN__
|
|
#define __EQ2_SIGN__
|
|
#include "Spawn.h"
|
|
|
|
#define SIGN_TYPE_GENERIC 0
|
|
#define SIGN_TYPE_ZONE 1
|
|
|
|
using namespace std;
|
|
|
|
class Sign : public Spawn{
|
|
public:
|
|
Sign();
|
|
virtual ~Sign();
|
|
bool IsSign(){ return true; }
|
|
int32 GetWidgetID();
|
|
void SetWidgetID(int32 val);
|
|
void SetWidgetX(float val);
|
|
float GetWidgetX();
|
|
void SetWidgetY(float val);
|
|
float GetWidgetY();
|
|
void SetWidgetZ(float val);
|
|
float GetWidgetZ();
|
|
void SetSignIcon(int8 val);
|
|
Sign* Copy();
|
|
EQ2Packet* serialize(Player *player, int16 version);
|
|
void HandleUse(Client* client, string command);
|
|
int8 GetSignType();
|
|
void SetSignType(int8 val);
|
|
float GetSignZoneX();
|
|
void SetSignZoneX(float val);
|
|
float GetSignZoneY();
|
|
void SetSignZoneY(float val);
|
|
float GetSignZoneZ();
|
|
void SetSignZoneZ(float val);
|
|
float GetSignZoneHeading();
|
|
void SetSignZoneHeading(float val);
|
|
float GetSignDistance();
|
|
void SetSignDistance(float val);
|
|
int32 GetSignZoneID();
|
|
void SetSignZoneID(int32 val);
|
|
const char* GetSignTitle();
|
|
void SetSignTitle(const char* val);
|
|
const char* GetSignDescription();
|
|
void SetSignDescription(const char* val);
|
|
void SetIncludeLocation(bool val);
|
|
bool GetIncludeLocation();
|
|
void SetIncludeHeading(bool val);
|
|
bool GetIncludeHeading();
|
|
void SetLanguage(int8 in_language) { language = in_language; }
|
|
int8 GetLanguage() { return language; }
|
|
|
|
private:
|
|
string description;
|
|
string title;
|
|
int8 sign_type;
|
|
float widget_x;
|
|
float widget_y;
|
|
float widget_z;
|
|
int32 widget_id;
|
|
float zone_x;
|
|
float zone_y;
|
|
float zone_z;
|
|
float zone_heading;
|
|
int32 zone_id;
|
|
float sign_distance;
|
|
bool include_location;
|
|
bool include_heading;
|
|
int8 language;
|
|
};
|
|
|
|
#endif
|