EverestAPI / CelesteTAS-EverestInterop

Everest interop for DevilSquirrel's CelesteTAS
https://github.com/EuniverseCat/CelesteTAS
MIT License
67 stars 28 forks source link

Optimize InfoCustom #46

Closed LozenChen closed 1 year ago

LozenChen commented 1 year ago

optimize FormatValue(entity / IEnumerable, ..), make parameterless methods restricted by EnforceLegal

Example Input: {Player.wallSpeedRetentionTimer.toFrame() :} {Player.LastBooster:} {Player.LastBooster.Appear():} {Player.Speed.Length():} {Player.Jump() :} {Player.Jump() .Speed:} {CrystalStaticSpinner.Position:} {Level.Entities:}

Output: Player.wallSpeedRetentionTimer.toFrame() : 0 Player.LastBooster: Celeste.Booster[a-00:11] Player.LastBooster.Appear(): Appear(): Method return void is not supported Player.Speed.Length(): 0.000000000000 Player.Jump() : Jump(): Only method without parameters is supported Player.Jump() .Speed: Jump(): Only method without parameters is supported CrystalStaticSpinner.Position: [a-00:12] 160.000000000000, -184.000000000000 [a-00:13] 176.000000000000, -184.000000000000 [a-00:14] 192.000000000000, -192.000000000000 ... Level.Entities: Celeste.BackgroundTiles, Celeste.MirrorSurfaces, Celeste.Decal * 11, ...

DemoJameson commented 1 year ago

commit history are messy so I will turn off this pr and cherry pick the useful commit from your branch

LozenChen commented 1 year ago

i just realize that i should create this new branch based on your master branch, instead of mine. sorry for the messy commit history