package electrosphere.entity;

/**
 *
 * @author amaterasu
 */
public class EntityDataStrings {
    
    
    /*
    Drawable Entity
    */
    public static final String DATA_STRING_POSITION = "position";
    public static final String DATA_STRING_ROTATION = "rotation";
    public static final String DATA_STRING_SCALE = "scale";
    public static final String DATA_STRING_MODEL_PATH = "modelPath";
    public static final String DATA_STRING_ACTOR = "actor";
    public static final String DATA_STRING_DRAW = "drawFlag";
    public static final String DRAW_CAST_SHADOW = "castShadow";
    
    
    /*
    Terrain Entity
    */
    public static final String TERRAIN_IS_TERRAIN = "terrainEntity";
    
    
    /*
    Creature Entity
    */
    public static final String DATA_STRING_CREATURE_IS_CREATURE = "isCreature";
    public static final String DATA_STRING_CREATURE_TYPE = "creatureType";
    public static final String DATA_STRING_CREATURE_CONTROLLER_PLAYER_ID = "creaturePlayerId";
    public static final String DATA_STRING_MOVEMENT_BT = "movementBT";
    public static final String DATA_STRING_MOVEMENT_VECTOR = "movementVector";
    public static final String DATA_STRING_VELOCITY = "velocity";
    public static final String DATA_STRING_ACCELERATION = "acceleration";
    public static final String DATA_STRING_MAX_NATURAL_VELOCITY = "velocityMaxNatural";
    
    /*
    All Camera Types
    */
    
    public static final String DATA_STRING_CAMERA_TYPE = "cameraType";
    public static final String DATA_STRING_CAMERA_TYPE_BASIC = "cameraTypeBasic";
    public static final String DATA_STRING_CAMERA_TYPE_ORBIT = "cameraTypeOrbit";
    public static final String DATA_STRING_CAMERA_EYE = "cameraEye";
    public static final String DATA_STRING_CAMERA_CENTER = "cameraCenter";
    public static final String CAMERA_PITCH = "cameraPitch";
    public static final String CAMERA_YAW = "cameraYaw";
    
    
    /*
    Orbital Camera
    */
    public static final String DATA_STRING_CAMERA_ORBIT_TARGET = "cameraOrbitTarget";
    public static final String DATA_STRING_CAMERA_ORBIT_DISTANCE = "cameraOrbitDistance";
    
    /*
    Light Entity
    */
    public static final String DATA_STRING_LIGHT_TYPE = "lightType";
    public static final String DATA_STRING_LIGHT_TYPE_DIRECTIONAL = "lightTypeDirectional";
    public static final String DATA_STRING_LIGHT_TYPE_POINT = "lightTypePoint";
    public static final String DATA_STRING_LIGHT_TYPE_SPOT = "lightTypeSpot";
    public static final String DATA_STRING_LIGHT_AMBIENT = "lightAmbient";
    public static final String DATA_STRING_LIGHT_DIFFUSE = "lightDiffuse";
    public static final String DATA_STRING_LIGHT_SPECULAR = "lightSpecular";
    public static final String DATA_STRING_LIGHT_CONSTANT = "lightConstant";
    public static final String DATA_STRING_LIGHT_LINEAR = "lightLinear";
    public static final String DATA_STRING_LIGHT_QUADRATIC = "lightQuadratic";
    public static final String DATA_STRING_LIGHT_DIRECTION = "lightDirection";
    public static final String DATA_STRING_LIGHT_CUTOFF = "lightCutoff";
    public static final String DATA_STRING_LIGHT_CUTOFF_OUTER = "lightCutoffOuter";
    
    /*
    UI Entity
    */
    public static final String DATA_STRING_UI_ELEMENT = "uiEntity";
    public static final String DATA_STRING_UI_ELEMENT_FONT = "uiFont";
    
    /*
    Physics Entity
    */
    public static final String PHYSICS_COLLISION_BODY = "physicsRigidBody";
    public static final String PHYSICS_COLLISION_BODY_OFFSET = "physicsRigidBodyOffset";
    public static final String PHYSICS_COLLIDABLE = "physicsCollidable";
    public static final String PHYSICS_MODEL_TEMPLATE = "physicsModelTemplate";
    
    /*
    Gravity Entity
    */
    public static final String GRAVITY_ENTITY = "gravityEntity";
    public static final String GRAVITY_TREE = "gravityTree";
    
    /*
    Collision Entity
    */
    public static final String COLLISION_ENTITY_ID = "collisionEntityId";
    public static final String DATA_STRING_COLLISION_ENTITY = "collisionEntity";
    public static final String DATA_STRING_COLLISION_ENTITY_TYPE_SPHERE = "collisionSphere";
    
    
    public static final String COLLISION_ENTITY_COLLISION_OBJECT = "collisionEntityBulletObject";
    public static final String COLLISION_ENTITY_COLLIDABLE = "collisionEntityCollidable";
    public static final String COLLISION_ENTITY_PARENT = "collisionEntityParent";
    
    public static final String COLLISION_ENTITY_TYPE_PLANE = "collisionTypePlane";
    public static final String COLLISION_ENTITY_TYPE_CUBE = "collisionTypeCube";
    public static final String COLLISION_ENTITY_TYPE_CYLINDER = "collisionTypeCylinder";
    
    
    public static final String COLLISION_ENTITY_DATA_TYPE_HIT = "collisionDataTypeHit";
    public static final String COLLISION_ENTITY_DATA_TYPE_HURT = "collisionDataTypeHurt";
    
    public static final String COLLISION_ENTITY_DATA_PARENT = "collisionDataParent";
    
    public static final String COLLIDABLE_TREE = "collidableTree";
    
    public static final String HITBOX_DATA = "hitboxData";
    
    
    /*
    Attach Entity
    */
    public static final String ATTACH_ENTITY_IS_ATTACHED = "attachIsAttached";
    public static final String ATTACH_PARENT = "attachParent";
    public static final String ATTACH_TARGET_BONE = "attachTargetBone";
    public static final String ATTACH_CHILDREN_LIST = "attachChildrenList";
    
    /*
    Item Entity
    */
    public static final String ITEM_IS_ITEM = "itemIsItem";
    public static final String ITEM_TYPE = "itemType";
    
    
    /*
    Attack behavior tree
    */
    public static final String ATTACK_TREE = "attackTree";
    
    public static final String ATTACK_MOVE_TYPE_ACTIVE = "attackMoveTypeActive";
    public static final String ATTACK_MOVE_TYPE_MELEE_SWING_ONE_HAND = "MELEE_WEAPON_SWING_ONE_HAND";
    
    /*
    Health System
    */
    public static final String LIFE_STATE = "lifeState";
    
    /*
    idle behavior tree
    */
    public static final String IDLE_TREE = "idleTree";
    
    /*
    particle behavior tree
    */
    public static final String IS_PARTICLE = "isParticle";
    public static final String PARTICLE_TREE = "particleTree";
    
    
    /*
    Structure entity
    */
    public static final String STRUCTURE_IS_STRUCTURE = "structureIsStructure";
    public static final String STRUCTURE_TYPE = "structureType";
    
    /*
    Foliage entity
    */
    public static final String FOLIAGE_IS_FOLIAGE = "foliageIsFoliage";
    public static final String FOLIAGE_TYPE = "foliageType";
    
    /*
    Entity categories
    */
    public static final int ENTITY_CATEGORY_CREATURE = 0;
    public static final int ENTITY_CATEGORY_ITEM = 1;
    public static final int ENTITY_CATEGORY_STRUCTURE = 2;
    
}
