Example #1
0
    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));
    }
Example #2
0
    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);
    }
Example #3
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);
    }