Thanks!
Yes, any character on top of any kind of tracks can be handled. Well, at least if these tracks correspond to the kind of paths described by the rail tracks:
* a straight track of any length
* a 90 degree circular turn of any radius
* a switch consisting of a straight part and a 90 degree circular turn, whereby the turn's radius is 3/4 of the length of the straight part
Some of these properties could be parametrised, of course. And it's of course also possible to write additional itemScripts to calculate the connection points and waypoints of other tracks/shapes. There's a bunch of reusable infrastructure in the RAILS_ConnectedTrackBase.itemScript (via INCLUDE/USING)
Initially, the main reason it needed to be a character was because there is no ItemMoveTo() call in itemScripts. Now that the movement happens via the story anyway, I can use CharacterMoveToPosition() there.
There are a couple of extra caveats for items though:
• I will have to implement explicit rotations for the moving item in that case, since unlike a character, a moving item does not automatically orient itself to the target
• I make quite a bit of use of CharacterItemEvent() to send messages to the tracks that the cart (character) is on top of them (item). Since there's no ItemItemEvent(), I have to find another way to tell a track that it should update the cart's internal state to tell it where it should move to next
• I have to see how I can reuse as much code as possible from the track itemScripts for when the moving actor is a an item instead of a character (mainly CharacterSetVar() and CharacterEvent()
That said: if you want boats on the water, maybe plain triggers are actually easier? The main reason I created this was to avoid having to place tons of triggers on top of all of your track objects, so that you don't have to create the same path twice. And also to be able to visually design paths, and so that when you change the path you don't have to change both the visual path and the triggers.
Since you'd have an invisible path on the water, even the advantage of being able to visually design the path would be (largely?) lost. Well, maybe you could use regular cart tracks and then move them off-stage when the level gets loaded, but I'm not sure whether off-stage items can send and receive events. Or maybe you wanted to use a kind of track that's mostly transparent and then place it below the water?