static Program() { _engine = new SkryptEngine(); _engine.SetValue("print", new MethodDelegate(Print)); _engine.SetValue("input", new MethodDelegate(Input)); _engine.SetValue("benchmark", new MethodDelegate(Benchmark)); _engine.FastAdd(new ImproModule(_engine)); _engine.FastAdd(new JSONModule(_engine)); _engine.SetValue("error", (e, s, i) => { throw new FatalErrorException(i.GetAs <StringInstance>(0)); }); }
public static SkryptEngine CreateEngine(Options engineOptions = null) { var engine = new SkryptEngine(engineOptions); var hitResultType = engine.FastAdd(new HitResultType(engine)); engine .AddExportTypeMapper(typeof(Vector3Instance), (v) => SkryptTypeConverter.FromSkryptVector3((Vector3Instance)v)) .AddExportTypeMapper(typeof(Vector2Instance), (v) => SkryptTypeConverter.FromSkryptVector2((Vector2Instance)v)) .AddImportTypeMapper(typeof(RaycastHit), (e, v) => hitResultType.Construct((RaycastHit)v)) .AddImportTypeMapper(typeof(Vector3), (e, v) => SkryptTypeConverter.ToSkryptVector3(e, (Vector3)v)) ; engine.ErrorHandler = new ErrorHandler(engine); return(engine); }