#ifdef SSQC

#include "plats.h"

#define FUNC_LIFT_SPAWNFIELDS(v) \
    SPAWNFIELD_PARSESTRING(path_target, v)

typedef struct path_node_s
{
	vector origin;
	
	path_node_s *prev;
	path_node_s *next;
} path_node_t;

class func_lift : func_plat
{
    func_lift();

    nonvirtual void Lift_Setup();
    nonvirtual void Lift_Reset();
    nonvirtual void Lift_GeneratePath();
    nonvirtual void Lift_Physics();
    nonvirtual void Lift_GoUp();
    nonvirtual void Lift_GoDown();
    nonvirtual void Lift_Use(); 
    nonvirtual void Lift_Reset();

    virtual void ParseSpawnField(string key, string value);

    string path_target;

    path_node_t *node_list;
    path_node_t *node_current;
};

#endif