The (ab) use of iObject
Jorrit Tyberghein <[email protected]>
| Newsgroups | gmane.comp.graphics.crystalspace.devel |
|---|---|
| Message-ID | <CAA49VV+MHmPCcwpboCUJgirnuYhhWJpsr+0nvrPgz9j2uqx8Ww@mail.gmail.com> |
Hi all, In CS we use the iObject system for various things. For example collections are iObjects' which have other iObjects' as children. So a mesh, sector, or other CS object is attached to a collection by having the collection as its parent. Also there is iSaverFile. This interface represents a CS file to save too. Engine objects (like meshes and so on) are attached to iSaverFile so that the saver plugin knows which objects to save. See the problem? An iObject can have only one parent. So what does one have to do when one wants to use collections and in addition iSaverFile? There are other examples. CEL also uses iObject for some usages (but luckily in a safe direction from a CS object to an internal CEL object) and also the new physics will (I believe) use iObject. I think the problem is that iObject is a very generic interface and as such I think it should only be used for generic situations. The original purpose of iObject was an interface that allowed a game developer to attach game logic to CS objects. That's exactly what CEL is doing. But that's not what CS collection system and iSaverFile are doing. I think it would be best if fundamental and internal CS facilities not touch this generic iObject system but instead have their own specific system. That way collisions are less likely and you can actually use things together. So for example, the collection system in CS should not base itself on the iObject system at all but use a custom parent/child relationship. Opinions please? -- Project Manager of Crystal Space (http://www.crystalspace3d.org) and CEL (http://cel.crystalspace3d.org) Support Crystal Space. Donate at https://sourceforge.net/donate/index.php?group_id=649 Personal page: http://users.telenet.be/jorritTyberghein/ ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Crystal-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/crystal-develop