OurSonic.Level.Objects.LevelObject.evalMe C# (CSharp) Method

evalMe() private method

private evalMe ( string js ) : Func
js string
return Func
        private Func<LevelObjectInfo, SonicLevel, Sonic.Sonic, SensorM, LevelObjectPiece, bool> evalMe(string js)
        {
            if (cacheLast[js] == null)
                cacheLast[js] = null;
            if (cacheLast[js] != this.Me<JsDictionary<string, string>>()[js])
                cacheCompiled[js] = null;

            cacheLast[js] = this.Me<JsDictionary<string, string>>()[js];

            if (cacheCompiled[js] == null) {
                cacheCompiled[js] =
                        Script.Reinterpret<Func<LevelObjectInfo, SonicLevel, Sonic.Sonic, SensorM, LevelObjectPiece, bool>>(
                                Script.Eval("(function(object,level,sonic,sensor,piece){" + this.Me<JsDictionary<string, string>>()[js] + "});"));
            }
            return cacheCompiled[js];
        }
    }