beyond-all-reason / spring

A powerful free cross-platform RTS game engine
https://beyond-all-reason.github.io/spring/
Other
215 stars 102 forks source link

Unify Lua API for world objects #1374

Open sprunk opened 7 months ago

sprunk commented 7 months ago

Bill of materials to be done before starting this ticket:


After #1373, features units and projectiles will have unique IDs so (for example) Spring.SetUnitPosition(unitID, xyz) and Spring.SetFeaturePosition(featureID, xyz) will be redundant. There would be able to be a single Spring.SetPosition(thingID, xyz).

Add unified interfaces where possible. Keep the old ones as aliases to the new ones.

A-Lias commented 7 months ago

I noticed that CProjectile is actually not a CSolidObject, but is a CExpGenSpawnable, which is a CWorldObject. You might consider modifying this title to avoid any confusion, since it sounds like you want these changes to include projectiles where possible.