#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