MattFiler / OpenCAGE

A modding toolkit for Alien: Isolation that gives access to scripting, assets, configurations, and behaviour trees.
http://opencage.co.uk
MIT License
271 stars 12 forks source link

Enhancement : copy / paste an cloned object (across zones) #182

Open ghramsey opened 1 year ago

ghramsey commented 1 year ago

I'm not sure how to describe this;

I want to be able to lock this door: image from the systec lobby side. I cloned the 'tinybutton' object that locks the door from the hallway side.

I've had good success with cloning buttons swapping their direction and placing them straight on the other side of the door frame. Not in ths insance. The button is in the stairway_section zone and the clone is in lobbyhub. image

I'll need to create a proxy.
Is there any way to makes this process easier some how copy a cloned object into a proxy event without reinventing the wheel.

In this case it's not too too hard to add door open / close, emergency override and such events to a new door button object (I've messed with this before) , but some more complex objects might benefit more.

MattFiler commented 1 year ago

I'm not too sure what the problem is here, but I suspect a tool addition won't solve it - seems more like a discussion :)

If you're trying to move the button to be visible in zones across multiple composites there are ways of proxying for zones?

ghramsey commented 1 year ago

So. I think I was unclear and as I said I was not sure how to fully describe it. It was also late when I wrote that.

The door goes between LOBBYHUB and STAIRWELL_SECTION. The button and door are on the STAIRWELL_SECTION zone.

I want a button also on the LOBBYHUB zone too. I was merely cloning the button and placing it's coordinates such that it crosses into LOBBYHUB. This is wrong and makes the button do nothing due to zoning.

To do this correct required a new tinybutton object in Lobby and a proxy from stairwell to this object b/c there is logic that enables it when the server hub is opened. Then I had to make a proxy to the door so the tinybutton could make it work.

I guess I was asking for a way to simpliy these steps and make the links easier. In the instant case of the button being able to clone it with it's parameters intact and move it across to the lobby would have made it easier. It would not relieve the requirement for proxies. I've updated this ticket title. I suspect what I'm after is not really feasable though.

MattFiler commented 1 year ago

Ah I see, so the request is to be able to duplicate entities across composites?

Doing that creates a lot of complexity because of dependencies entities have on objects within the same composite - it works well for simple things but becomes tricky with more complicated things.

I've been thinking about making it easier to copy parameters (particularly transforms) for a while. Would that be useful instead?

ghramsey commented 1 year ago

Yes. I realize now what I asked for is probably too complex due to just those dependant links.

Easier copying of transforms would be great. How about an integral "scratch pad"?
Just to hold the parameters for such an occasion as I encountered with the button across composites? Would speed up reproduction a bunch.

Perhaps a way to output this to a more permanant file as an option, but that's not needed.
This would give an easier view than going back and forth manually.

I used a second instance of commands editor on a 2nd monitor to work from and copying information manually. This works, but I still spend a lot of time going between composites and searching for the item I'm looking to copy. And if didn't have at least two monitors or a massive single monitor this would be quite tedious.

Thanks again for entertaining my wild notions. And your continued development..

MattFiler commented 1 year ago

I've been thinking about updating the UI to use dockable panels, supporting the ability to select multiple entities at once.

I'm not sure if you're familiar with Unity, but basically something similar to the inspector there, where you can select a GameObject, lock the inspector to that GameObject, and then open another inspector to view other objects. I think it'd make working around multiple entities a lot easier. Making them dockable panels would let you drag them wherever you'd want.

ghramsey commented 1 year ago

No familliarity with Unity at all. I have zero development background.
I have jumped into modding from a fully blind perspective.
The learning curve has been steep without that foundation, but not too terrible.

That outline sounds good. Dockable windows would help organize the workspace.