Officially supported SOL API

  • Ashley

    Are you willing to add official, documented support for the SOL object and object picking to the Addon SDK?

    Why I'd like to have the SOL API:

    As a POC, I wrote a plugin to allow family objects to pick other family objects/siblings that may exist in in the object's container using the following methods.

    • [Family object] Pick first sibling [Object type/Family type]
    • [Family object] Pick all siblings [Object type/ Family type]
    • I could easily add more useful conditions, but these are all I needed for my game.

    It enables further abstraction of objects, allows event re-use and is extremely useful for keeping event sheets maintainable by combining the power of containers and families.

    BUT, it relies on the undocumented SOL object and picking methods, so I cant use it as I'd be risking breaking my game if the API changes, which I doubt will actually happen as the SOL object and methods are used heavily throughout official plugins.

    Looking forward to hearing from you.

  • Ashley

    I know Scirra is a small team and you probably are getting a ton of messages each day, but I'm hoping to grab to your attention again.

    Any thoughts on this?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • It's a super complicated part of the engine with lots of subtleties and non-obvious bugs if you make the wrong sequence of calls. I think it'd be a lot of work to document and implement all the SOL APIs, and as ever, time is by far our most limited resource.

  • Ashley

    I appreciate the feedback! That's understandable.

    Would it be feasible to take baby steps and document the bare essentials for object picking?

    Thanks.

    Edit

    To be more specific, the methods that I'd request in order to enable the development of my addon:

    • ObjectClass.GetCurrentSol()
    • SolStack.SetSinglePicked(...)
    • SolStack.SetArrayPicked(...)

    https://github.com/Straskal/c3addons/blob/4132421befaa55d256b3ac06e3e2e016570dc903/addons/Straskal_Sibling/c3runtime/instance.js#L69

  • You can't call those methods arbitrarily though, since there are various rules imposed by a suite of optimisations to reduce the overhead of SOL management in the event engine.

  • Okay. There is a part in the ACEs documentation that mentions object picking as if it was intended on being a public API at some point.

    ACEs - isStatic

    Might want to update the verbiage on that.

    There's another way that I can go about writing this addon, but not nearly as intuitive.

    If addon devs need more object and methods available, how to we go about getting that on Scirras backlog? It seems overly complex to request documentation in suggestions & ideas.

  • Ashley

    Never mind about the suggestions & ideas response. Was looking on there and does in fact seem the place to ask for SDK enhancements.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)