Update Request

  • Ashley

    I was just request some small update if possible.

    First: is the paste and replace when it comes numbers.

    Example:

    In the second image this is what happen when you highlight and paste the value you have in your clipboard it don't replace it just add it to it.

    Second: is when you delete something from project it mess up everything.

    Example:

    In the second image this is what happen just by deleting the sound global variable; the entire line of code got deleted just imagine you have a large project and just by deleting one thing you have to start over.

    what you could do is something like this to state that something is wrong with the line of code and it would be use full if you delete something every line of code to be corrected would be highlighted.

    Last but not least: maybe you could add the option to set our own shortcut key if possible.

    If i have anymore suggestion I'll let you know.

    Please and Thank you.

  • Thanks for detailed presentation. Both issues were mentioned on several occasions, but nothing was done about them.

  • Your welcome,

    I don't know that anybody had mentioned them before cause they may seem like a small problem you could say but it would by go to see some change.

    Its also go to hear that i'm not the only one seeing them.

  • The first problem (pasting) is difficult because that control is handled by our UI library, and it's very difficult to change it. Hopefully it's not too much of a problem.

    The second issue (removing events when things they refer to are deleted) is by design. It is a very difficult problem to leave a condition or action that refers to something that has been deleted. Consider if in your example you did this:

    • delete the 'sound' variable
    • save the project, close and reopen it
    • now the editor has an action with an expression referring to "Sound", but it has no idea what it is
    • then you create a new object type called "Sound" - say, a Sprite or something unrelated to what it used to be
    • the name of an object by itself is a syntax error, e.g. you can't just have the name "Sprite" as an expression. So now the action no longer refers to anything deleted, but is still invalid.

    Another example would be to delete a number variable used in a number parameter, recreate it as a string variable, and then you have an invalid parameter because it's the wrong type. Currently the editor stops this by preventing you changing the type of variables that have any references in events, but deleting and recreating would work around this.

    This is one of those ideas which is far more complicated than you probably imagine it to be. It creates an opportunity to create "valid" conditions and actions (ones that do not refer to anything deleted) which contain a syntax error. This is inconsistent with the rest of the editor, since you are not allowed to create a condition or action if any of its parameters are invalid. IMO this is a major advantage of the event system, since you know everything you're looking at is valid, and you avoid running in to syntax error/invalid code type problems that you get with traditional programming languages. So allowing a loophole to create invalid events seems like it would just make things worse.

    IMO a better solution is to provide tools for reviewing the project, so you can find all references to an object or variable, and view a list of everywhere it's used. Perhaps this list could be shown before deleting anything with a message like "Note that deleting this object/variable will also remove the following places where it is used". Then you also have the opportunity to go and update all those locations, and safely delete the object/variable afterwards without other things disappearing.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ashley

    What if the object was deleted, could the object in the event be replaced with something like "EmptyVoid".

    Also, I think it's smart that it deleted the events, this way there's no broken code. But it would be great if you had a pop up menu showing all the events the object is used in before you click YES to delete it.

  • Ashley

    That sound good,

    I wasn't really thinking about the disadvantage that could happen but you really sum it up in a nutshell the idea you convey fix the problem without cause a problem.

    That is why your the man and we are the customer we voice our opinion and you come up with a solution.

    OK then let see how it unfold from here on.

    thank in advance.

  • What if the object was deleted, could the object in the event be replaced with something like "EmptyVoid".

    I don't think it's any better - that actually modifies a random bunch of your events, so you'd still have to go through and clean up a bunch of "EmptyVoid" expressions or just leave them cluttering up the project.

  • Current "Else" condition is the best example. If you put "else" in wrong place then you can't start the preview

    If you delete something important then highlight events with mistakes and don't let user do anything before fixing that broken events. If the name of that variable or something is an issue here, then why editor can't replace it with something. I'm sure C2 can handle making an internal temporary list containing names of broken variables and simply use these void names in events. And when user fix all broken events then the list could be removed.

    There's a lot of possibilities to make it happen without making a mess, question is if devs want to something about it, or leave it like other unfinished "features".

  • Current "Else" condition is the best example. If you put "else" in wrong place then you can't start the preview

    If you delete something important then highlight events with mistakes and don't let user do anything before fixing that broken events. If the name of that variable or something is an issue here, then why editor can't replace it with something. I'm sure C2 can handle making an internal temporary list containing names of broken variables and simply use these void names in events. And when user fix all broken events then the list could be removed.

    There's a lot of possibilities to make it happen without making a mess, question is if devs want to something about it, or leave it like other unfinished "features".

    This a much better way than just deleting a bunch of events.... if it can't be done with C2, at least put it in C3.

  • I think the problem with simply deleting events is that when the project gains some complexity, it's practically impossible to know where all the events were and what they used to do. Sometimes crucial complex events disappear, and you simply can't perceive they are missing and spend ours trying to find what's wrong. It's even worse when there's lots of events scattered in various places (and/or different event sheets) and they all disappear at once, without leaving any trace of their existence.

    In my opinion a far better way to handle this is to color red the events with invalid references, and make them act like disabled events: they simply don't exist during runtime, only in the editor (under the hood they are commented, or simply not included). This allows to run the game without any annoying errors hindering it's execution.

    An alert icon could then appear at the status bar (or other places) indicating there are broken events. You can choose to fix those events by replacing it's references or leave to fix later if it doesn't interfere with what you are currently testing.

    If a new object/variable/... is created with the same name as a broken reference, the user can be prompted to automatically replace the references in those events or not (obviously only if it's of the same object type). If it's not desired, the bad references are given a new name like "reference2".

    The big advantage of this is that you can see exactly what those events where doing, and replace the bad references with proper ones. It would also help a lot in importing objects from other projects, or even merging projects, since you can have some time to analyze those broken events and figure what variables/behaviors/effects... you need to add to make those objects valid to replace those events again.

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