29 lines
552 B
C++
29 lines
552 B
C++
#pragma once
|
|
|
|
#include <a8/singleton.h>
|
|
#include <a8/lisp.h>
|
|
|
|
class Creature;
|
|
class SkillScope;
|
|
class LispEnv : public a8::Singleton<LispEnv>
|
|
{
|
|
|
|
private:
|
|
LispEnv() {};
|
|
friend class a8::Singleton<LispEnv>;
|
|
|
|
public:
|
|
|
|
void Init();
|
|
void UnInit();
|
|
|
|
std::shared_ptr<a8::lisp::Value> CompileSkillNumberExpr(const std::string& script);
|
|
float EvalSkillNumberExpr(std::shared_ptr<a8::lisp::Value> expr,
|
|
Buff* buff
|
|
);
|
|
|
|
private:
|
|
|
|
std::shared_ptr<SkillScope> skill_env_;
|
|
};
|