Is there a cleaner way to set all the properties when declaring a new object?
Here's a script I'm writing:
void generateLevel(){
MatchManager.levelInfo generatedLevel;
generatedLevel.baseWidth = 5;
generatedLevel.tableWidth = 32;
generatedLevel.tableHeight = 20;
generatedLevel.playerDefenseZoneWidth = generatedLevel.tableWidth / 4;
generatedLevel.AIDefenseZoneWidth = generatedLevel.tableWidth / 4;
generatedLevel.numberOfPlayerBalls = 0;
generatedLevel.numberOfAIBalls = 0;
generatedLevel.numberOfPlayerBallsInDeck = 0;
generatedLevel.numberOfAIBallsInDeck = 0;
generatedLevel.numberOfBalls = 0;
generatedLevel.basePlayerOwnership = 0;
generatedLevel.baseAIOwnership = 0;
//
//
...how do I organize this better?
Comment
Best Answer
Answer by SorenaCoder · Jul 27, 2016 at 01:15 PM
I don't know what is your levelInfo and how you assign generated level , but this is the pattern I use :
struct WeaponTransform
{
public Vector3 position;
public Vector3 scale;
public Vector3 rotation;
}
class A
{
private WeaponTransform m_IdleWeaponTransform;
void Initialize()
{
m_IdleWeaponTransform = new WeaponTransform
{
position = new Vector3(-0.0113f, -0.0106f, -0.1065f),
rotation = new Vector3(0.82902f, 157.3625f, 278.6339f),
scale = new Vector3(1, 1, 1)
};
}
}
Answer by TomBrien · Jul 27, 2016 at 01:29 PM
Thanks, I had that in mind but was just getting the syntax all wrong.