I'm planning the development of a cross-platform SDK for games, that will also have a Unity plugin later on(currently supporting Android and iOS).
Currently i'm thinking of the best option for doing developing an SDK that will be cross-platform.
From research i've done, looking over many mobile SDKs for games, it seems that most of them actually have a separate implementation per supported platform.
At first this seems counter-intuitive and not the right way to go (who wants to maintain 2 or more code bases that do the same thing?)
Obviously it isn't a "clear cut" as many companies still choose to implement per platform.
I'd like to know what are the pros and cons for each approach (one implementation per platform vs. a "single" shared code base), and what questions should i be asking myself when deciding which option to choose.
What are the differences (or better off - advantages / disadvantages) of using struct instead of creating a class?
Lets say i have a GameObject entity, and for the sake of this discussion, this entity doesn't have any methods, only fields that it stores.
1. Is struct better off being used than class?
2. Can i inherit from a struct like i do with classes?
3. Performance wise what are the benefits?
I'm currently working on a pool game using the XNA framework.
I have a BallManager object that handles all the balls on the table.
Each ball is an object, and i'd like the BallManager to keep some sort of list to handle all these objects.
My concerns are :
a. This list should be dynamic, meaning that balls that are no longer available will be removed from the list.
b. I'd like to keep some sort of indices to each position in the list, so i could perform something like: checkCollision(i, j) where (i,j) are indices in my ball list.
Which type can i use to perform this? or is there any easier way u can think of ?
I want to switch to DEBUG version of D3D 9, however this selection is disabled under the control panel.
what could cause this? it worked earlier this week...
Is there any way to solve this? (without having to re-install DirectX SDK)