Super useful features across the board! The last time I was that excited to try out the latest C3 version was when you guys added the 3D camera plugin.
Freaking cool new features!
Woah, the Portals demo is freaking impressive!
I can't wait to check out the 3D image point stuff!
Can't wait to check out the Cryptography plugin docs!
Holy crap, the new example project is awesome!
Congratulations on the release!
Custom actions sound like a great way to organize object / family related "functions". Now I can just create a "Kill" action for the Player object type and handle all logic and visuals there instead of creating a function called killPlayer with "copy picked" or a UID parameter.
Have you tried the "ignore GPU blacklist" option in Chrome/Chromium? It helped me on a few older machines before.
I really appreciate all the work folks, this has been a great year full off useful QoL updates and exciting features. My license is expiring in about two weeks, and I'm already 100% sure I'm going to renew for another year.
I completley forgot about function categories, thanks for the reminder! :)
I have a few organisation tips on my own: I'm also a massive fan of using multiple event sheets; I have a "main" one (which is assigned to a layout) and which is also completely empty apart from event sheet includes.
I divide the rest of the sheets into 3 subfolders: EventHandlers (and I also prefix their name, eg. eCollisions, eTimers), Functions (only for functions: eg. fEnemies, fPlayers) and Values (only for global variables: eg. vConstants, vState). Only "EventHandler" sheets have to be included in Main, since all functions and variables are available without including their sheet. Lately I've also been adding emojis at the end of event sheet names so I can find them quicker when there are a bunch of tabs open.
Just in case this is still relevant (for anyone with the same question): check out the fairly new example titled "Generator Function" for one way; but using generator functions is not required, you can just do that too:
for (const inst of runtime.objects.SomeObjectType.instances())
{
if (inst.instVars.SomeInstanceVariable === 42) {...}
}
Not to mention that we can now pass multiple object instance references to a function. No need to store a list of UIDs in an Array/JSON object or resort to UID CSV+tokenat() trickery anymore :)
"Copy picked" is a huge simplification, good bye UID function parameters! Thanks, folks!
Copy picked sounds extremely useful! I used to pass UIDs to functions as number parameters, but I'm guessing the new way also enables passing multiple object instances and I'm also guessing it will be slightly better for the performance since we can skip a "Pick by UID" condition in the function. Awesome jobs, guys!
Member since 5 Dec, 2017