Comments (12)
from h5.
from h5.
To be honest my personal experience with Retyped isn't very good - for all the libraries we use, we just ended up writing our own wrapper classes - much easy to get a consistency experience than the autogenerated one from the typescript definition files used by Retyped. I'm not familiar with Box2D, but if their API is not too crazy might be worth giving it a try.
It's usually as simple as writing a C# method and directly call the javascript code with something like this:
public class MyLib
{
public int DoSomething(string par1, int par2)
{
return Script.Write<int>("myLib.doSomething({0}, {1}", par1, par2);
}
}
The trick is that the compiler will emit directly the parameter variables in the final javascript, so that becomes:
return myLib.doSomething(par1, par2);
If you need more complex data types, you can create lightweight classes using the [ObjectLiteral] attribute. These classes are compiled to plain javascript objects without any of the C# extra code.
from h5.
from h5.
did that mistake in the past too 😄
Just merged the code, thanks for contributing!
For future reference, I'm leaving these two regexs that I used for cleaning the decompiled code:
- Replace
\s+{[\n\r]\s+get[\n\r]\s+{(.|[\s\n\r])*?}[\n\r]\s+set[\n\r]\s+{(.|[\s\n\r])*?}\s+}
with{ get; set; }
- Replace
\s+private .*?__BackingField;\r\n
with
The final package should be published on nuget soon!
from h5.
Thanks for the info! I had I look just now and was able to decompile and get it to compile with my project.
Had a quick test that still didn't quite work, but I'll figure that out tomorrow. :)
from h5.
So unfortunatly the original package used for Retpyed.box2d is used just for node applications. (I failed to notice that before)
I can convert it so it can be loaded in a browser, but I can't get the retyped package to work with that. (in the browser)
Do you have any ideas?
from h5.
Obviously, use static methods if it's a static library, or create an instance of the library and store it locally in the wrapper class if needed
from h5.
Thanks again for the tips!
I ended up using p2.js instead, and decompiled the retyped package for that. That seems to work now!
Would you like to make a nuget package for it? (p2) If you do, I'll open a PR tomorrow.
from h5.
Cool! I wanted to push a new branch, but it it looks like I'm not allowed to.
remote: Permission to theolivenbaum/h5.git denied to thomz12.
from h5.
from h5.
Oh duh!
I've opened a PR now.
from h5.
Related Issues (20)
- FieldBlock: Convert.ChangeType is failed.
- Regression: negative zero is compiled wrong
- Building issues on multiple platforms HOT 11
- Compilation error for null-conditional operator and comparison (value?.Count > 0) HOT 4
- Extremely high RAM consumption in solution with multiple H5 projects. HOT 3
- Typescript definition generation fails for ObjectLiteral fields
- This page is not available HOT 4
- [Help] How to use with MonoGame? HOT 1
- How do I access Bridge.Html5.Document.GetElementById? HOT 5
- H5 wont build in Jenkins with MSBUILD HOT 2
- Deserialize H5 Newtownsoft Json to deserialize a derived type class? HOT 3
- H5 does not respect CamelCasePropertyNamesContractResolver HOT 7
- IReadOnlyCollection is not handled in System.Arrat.getCount HOT 1
- Embedded Resources in H5?
- Consider migration to Gitlab? HOT 5
- Conversion from es5.Promise<TResult> to Task<TResult> with ToTask() returns an Array object instead of TResult HOT 3
- Local functions No build HOT 1
- h5 devs didn't think about non-browser envs
- not support SortedDictionary? HOT 1
- Error using Newtonsoft.Json in H5 project after serialization
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from h5.