public override SkryptInstance Construct(Arguments arguments) { var rayCastHit = new RaycastHit { point = SkryptTypeConverter.FromSkryptVector3(arguments.GetAs <Vector3Instance>(0)), normal = SkryptTypeConverter.FromSkryptVector3(arguments.GetAs <Vector3Instance>(1)) }; return(Construct(rayCastHit)); }
public static SkryptObject Move(SkryptEngine engine, SkryptObject self, Arguments arguments) { var module = self as BotModule; var location = SkryptTypeConverter.FromSkryptVector3(arguments.GetAs <Vector3Instance>(0)); module._botBehaviour.navMeshAgent.SetDestination(location); return(null); }
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); }