piranha305's Forum Posts

  • var emailObject = runtime.objects.EmailBodyInput.getFirstPickedInstance();

    var emailBody = emailObject.Text()

    you need to get an instance first.

  • Hey I would like work with on projects, if you have discord you can reach out piranha305#8396

    Here is my itch page, piranha305.itch.io

    I have also made several plug-ins and I'm pretty good with js/typescript

  • does each object, gets its own tab in the extension? how would that scale to many objects? would there be an easier way to filter? this is amazing btw...

  • i don't think this is intended behavior but with the grid layout the icons show up outside of the frame?

    are these meant to be confined to the panel?

  • you could potentially use it iterate thru a loop at different points and time. it could defer handling the next element.

    when you use it in a for each loop, I don't think there is an actual difference.

    but the generator has some methods like next() that lets you control when to handle the next item in the collection, here is a silly test

    drive.google.com/file/d/1CCLP2SWMNAX1xuDCV1B3vMrB2DwWe0_2/view

    where I have used these in the past, is for a card game, I have a deck data structure that had a generator function to return the elements, and i would just call deck.next() to get the next card. but this could also be accomplished using a stack or a queue with pop/dequeue,

    where generator excel is the value it returns is lazily evaluated so it's more memory efficient. instead of pulling the entire set in memory it only pull the elements its retrieved

  • One of the main challenges I encounter, especially in Construct, is maintainability. As projects evolve, you often discover better ways to implement systems or need to tweak your ideas, requiring a refactor of your logic. I find this process quite tedious in Construct. While changes are possible, the effort required to modify your logic seems to grow exponentially, compared to general programming languages where there are more tools to manage complexity, like layers of abstraction, code reuse through inheritance, and composition.

    In Construct, your options are more limited. You can use families to group logic, bundle it into addons, or subclass through JavaScript, but it's not as flexible. Personally, I've been relying more on TypeScript to define functionality, and I hook into game lifecycle events like "on layout start" and "on created" to manage game flow.

    I really wish the integration between events and the JavaScript API was more seamless. There have been improvements like signals and instance signals, which are great, but I think in an ideal world you would not need a separate SDK, you should be able to define Plugins and Behaviors directly in construct.

    I already know of at least one easy way to hack around the sdk2 limitations and expand the api to include whatever internal calls I want anyway - its just "slightly" more bothersome than just installing a plugin - until someone releases tool to automate it. At which point, poor little Timmy IS going to use that hack.

    It's probably best not to do this, this could incite more stricter changes to the API's which would not help anyone, and just create a worse ecosystem for construct, and create a worse relationship between addon devs and the folks making the engine.

    I think there is plenty of time, to migrate and test, and request api changes. before v1 gets sunset. I worry statement like these will just antagonize the dev's instead of bringing positive change.

    Ashley

    I Added a feature request, those event sheet classes have function to manipulate the SOL, maybe those are not needed verbatim, but some interface into the SOL would be a good use case

    github.com/Scirra/Construct-feature-requests/issues/359

    Instead of manipulating the SOL from event sheet classes, it might make more sense to do that per object class instead.

  • What I do without having to delete all the data, you can go into dev console, and just delete the local-storage key that has your addon. there is also one for dev addons.

    Dev Console > Application > IndexDB > localforage

    you can delete c3-addon-list or c3-dev-addon-list

    Ashley

    As far as I understand right now (and I could be mistaken) but based on previous conversations it seems the Event Manager classes in SDK v1 will not be supported in SDK v2?

    construct.net/en/forum/construct-3/plugin-sdk-10/sdk-v2-183377

    As a response only the looping condition was mentioned, but what about other use cases of using the Event classes?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Having the abilities to create plugins/behaviors from within construct would be game changing.

    But in the mean time, Have you tried c3ide2, by skymen there is currently a branch with some v2 templates, and the cli should be updated soon.

    github.com/ConstructFund/c3ide2-framework/tree/add_sdk_v2_templates

    there is also a typescript framework by MasterPose that supports v2,

    github.com/MasterPose/c3-framework-core

    both of these are much better than the original c3ide and support v2, they are also more robust and imo provide a much better developer experience.

  • I had put in a feature request for this.

    github.com/Scirra/Construct-feature-requests/issues/270

    Ashley

    with sdk v2, what is the correct way to dispatch script interface events?

    normally on the instance class, we had a wrapper function DispatchScriptEvent

    which took a few parameters,

    DispatchScriptEvent(name, cancelable, additionalProperties)

    when looking at sdkv2, DispatchScriptEvent does not exists on the exposed interface.

    dispatchEvent, exists on the object, but that does not take an overload for additional parameters? will a wrapper like DispatchScriptEvent be added? is the guidance to manually add additional parameters to the c3.event after it's been initialized?

    	const event = new C3.Event("event-id", true);
    	event.additionalData = {...};
    	this.dispatchEvent(event);
    
  • Check out the game I created for the GMTK Game JAM 2024

    https://piranha305.itch.io/the-bacterium

    It's an RTS game where you play as the immune system, and you have to fight bacteria.

    If you created a game for the game jam, give it a rate as well https://itch.io/jam/gmtk-2024/rate/2912680

    Subscribe to Construct videos now

    if you participated in the jam, post your games and i'll play them and also rate!

    Tagged:

    TBH I don't think construct has to change how its handled internally, I think this can be solved with a good example project of a volume slider, demonstrating how to do the conversion?