Files
Leviathan/Client/Game/game/Main/EnvironmentInfo.h
T
2026-06-01 12:46:52 +02:00

164 lines
2.6 KiB
C

#ifndef _ENVIRONMENT_INFO
#define _ENVIRONMENT_INFO
#include "K3DTypes.h"
enum LIGHTS_TYPE
{
LIGHT_NONE = 0,
LIGHT_SPOT,
LIGHT_DIRECT,
LIGHT_OMNI,
};
enum WATER_TYPE
{
MUDDY_TYPE = 0, ///< 흙탕물
RIVER_REFLECTION_TYPE, ///< 강 ( 반사 )
RIVER_NOT_REFLECTION_TYPE, ///< 강 ( 미 반사 )
SEA_TYPE, ///< 바다
MAX_TYPE,
};
enum WATER_ATTRIBUTE
{
ATTRIBUTE_LOW_QUALITY_WATER = 0,
ATTRIBUTE_HIGH_QUALITY_WATER,
ATTRIBUTE_LOW_HIGH_QUALITY_WATER,
ATTRIBUTE_MAX_WATER,
};
struct STRUCT_ENVIRONMENT
{
KColor crFogColor;
KColor crSkyStartColor;
KColor crSkyEndColor;
int nFogMode;
int nFogStart;
int nFogEnd;
int nFogHStart;
int nFogHEnd;
STRUCT_ENVIRONMENT()
{
Init();
}
~STRUCT_ENVIRONMENT()
{
}
void Init()
{
nFogMode = 0;
nFogStart = 0;
nFogEnd = 0;
nFogHStart = 0;
nFogHEnd = 0;
crFogColor = KColor( 255, 255, 255, 255);
crSkyStartColor = KColor( 255, 255, 255 );
crSkyEndColor = KColor( 0, 0, 0, 0 );
}
};
struct STRUCT_LIGHTS
{
K3DVector vPosition;
float fHeight;
KColor cSpecular;
KColor cDiffuse;
KColor cAmbient;
LIGHTS_TYPE nLightType;
STRUCT_LIGHTS()
{
Init();
}
~STRUCT_LIGHTS()
{
}
void Init()
{
vPosition = K3DVector(0.0f, 0.0f, 0.0f);
fHeight = 0.0f;
cSpecular = KColor( 255, 255, 255, 255 );
cDiffuse = KColor( 255, 255, 255, 255 );
cAmbient = KColor( 0, 255, 0, 255 );
nLightType = LIGHT_NONE;
}
};
struct STRUCT_DIRECT_LIGHT
{
K3DVector vDirection;
KColor cSpecular;
KColor cDiffuse;
KColor cAmbient;
STRUCT_DIRECT_LIGHT()
{
vDirection = K3DVector( 0.0f, 0.0f, 0.0f );
cSpecular = KColor( 255, 255, 255, 255 );
cDiffuse = KColor( 255, 255, 255, 255 );
cAmbient = KColor( 0, 255, 0, 255 );
}
};
/// 이동 경로 관련 정보
struct MOVEMENT_PATH_HEADER
{
int nMovementPathID;
MOVEMENT_PATH_HEADER()
{
nMovementPathID = -1;
}
~MOVEMENT_PATH_HEADER()
{
}
};
/// 지역 관련 정보
struct LOCAL_INFO_HEADER
{
int nPriority;
K3DVector vCenterPosition;
float fRadius;
LOCAL_INFO_HEADER()
{
nPriority = 1;
vCenterPosition = K3DVector( 0.0f, 0.0f, 0.0f );
fRadius = 0.0f;
}
~LOCAL_INFO_HEADER()
{
}
};
struct WATERAREA_HEADER
{
K3DVector vLeftTop;
K3DVector vRightBottom;
K3DVector vCenter;
int nWaterAttribute;
int nWaterType;
WATERAREA_HEADER()
{
vLeftTop = K3DVector( 0.0f, 0.0f, 0.0f );
vRightBottom = K3DVector( 0.0f, 0.0f, 0.0f );
vCenter = K3DVector( 0.0f, 0.0f, 0.0f );
nWaterAttribute = 0;
nWaterType = 0;
}
~WATERAREA_HEADER()
{
}
};
#endif