private object GetProperty(CFGBlock block, string name, object defaultVar) { CFGProperty property = block.GetFirstProperty(name); if (property == null) { return(defaultVar); } return(property.Values[0]); }
public ChallengePage(CFGBlock block) : this() { //Read title mTitle = block.Value; //Read description CFGProperty cfgp = block.GetFirstProperty("desc"); if (cfgp != null) { mDesc = cfgp.Values[0]; } CFGBlock[] blocks = block.GetBlocks("trophy"); foreach (CFGBlock b in blocks) { mChallenges.Add(new Challenge(b)); } }
public Challenge(CFGBlock block) : this() { mName = block.Value; mID = Convert.ToInt32(GetProperty(block, "Id", mID)); mSmallDesc = (string)GetProperty(block, "SmallDesc", String.Empty); mDesc = (string)GetProperty(block, "Desc", String.Empty); mReqOrangePegs = Convert.ToInt32(GetProperty(block, "NumOrange", 0)); mReqScore = Convert.ToInt32(GetProperty(block, "ScoreReq", 0)); mReqStyleScore = Convert.ToInt32(GetProperty(block, "StyleScoreReq", 0)); mReqUniqueStyleShots = Convert.ToInt32(GetProperty(block, "UniqueStyleShotsReq", 0)); mReqClearLevel = ((string)GetProperty(block, "ClearLevel", "false") == "true"); mCharacter = (string)GetProperty(block, "Characters", String.Empty); mBalls = Convert.ToInt32(GetProperty(block, "Balls", 0)); //Powerups CFGProperty[] cfgps = block.GetProperties("Powerups"); string[] ppsv = new string[0]; if (cfgps.Length > 0) { ppsv = cfgps[0].Values.ToArray(); } foreach (string p in ppsv) { string pv = p.Replace(" ", ""); pv = p.Replace("\t", ""); string[] args = pv.Split('='); if (args.Length != 2) { continue; } string powerupName = args[0]; int powerupCount = Convert.ToInt32(args[1]); SetPowerup(powerupName, powerupCount); } mScoreReset = ((string)GetProperty(block, "ScoreReset", "false") == "true"); mNoFreeballs = ((string)GetProperty(block, "NoFreeballs", "false") == "true"); mNoGreenPegs = ((string)GetProperty(block, "NoGreens", "false") == "true"); mNoForceWin = ((string)GetProperty(block, "NoForceWin", "false") == "true"); mFreeballBucketCovered = ((string)GetProperty(block, "FreeballCovered", "false") == "true"); mNoEndOnWin = ((string)GetProperty(block, "NoEndOnWin", "false") == "true"); mGravityMod = Convert.ToSingle(GetProperty(block, "GravityMod", 0.0f)); mProjectileSpeedMod = Convert.ToSingle(GetProperty(block, "ProjSpeedMod", 0.0f)); CFGProperty plevels = block.GetFirstProperty("Levels"); if (plevels != null) { foreach (string v in plevels.Values) { ChallengeLevel level = new ChallengeLevel(); level.Level = v; mLevels.Add(level); } } }
private object GetProperty(CFGBlock block, string name, object defaultVar) { CFGProperty property = block.GetFirstProperty(name); if (property == null) return defaultVar; return property.Values[0]; }
public Challenge(CFGBlock block) : this() { mName = block.Value; mID = Convert.ToInt32(GetProperty(block, "Id", mID)); mSmallDesc = (string)GetProperty(block, "SmallDesc", String.Empty); mDesc = (string)GetProperty(block, "Desc", String.Empty); mReqOrangePegs = Convert.ToInt32(GetProperty(block, "NumOrange", 0)); mReqScore = Convert.ToInt32(GetProperty(block, "ScoreReq", 0)); mReqStyleScore = Convert.ToInt32(GetProperty(block, "StyleScoreReq", 0)); mReqUniqueStyleShots = Convert.ToInt32(GetProperty(block, "UniqueStyleShotsReq", 0)); mReqClearLevel = ((string)GetProperty(block, "ClearLevel", "false") == "true"); mCharacter = (string)GetProperty(block, "Characters", String.Empty); mBalls = Convert.ToInt32(GetProperty(block, "Balls", 0)); //Powerups CFGProperty[] cfgps = block.GetProperties("Powerups"); string[] ppsv = new string[0]; if (cfgps.Length > 0) ppsv = cfgps[0].Values.ToArray(); foreach (string p in ppsv) { string pv = p.Replace(" ", ""); pv = p.Replace("\t", ""); string[] args = pv.Split('='); if (args.Length != 2) continue; string powerupName = args[0]; int powerupCount = Convert.ToInt32(args[1]); SetPowerup(powerupName, powerupCount); } mScoreReset = ((string)GetProperty(block, "ScoreReset", "false") == "true"); mNoFreeballs = ((string)GetProperty(block, "NoFreeballs", "false") == "true"); mNoGreenPegs = ((string)GetProperty(block, "NoGreens", "false") == "true"); mNoForceWin = ((string)GetProperty(block, "NoForceWin", "false") == "true"); mFreeballBucketCovered = ((string)GetProperty(block, "FreeballCovered", "false") == "true"); mNoEndOnWin = ((string)GetProperty(block, "NoEndOnWin", "false") == "true"); mGravityMod = Convert.ToSingle(GetProperty(block, "GravityMod", 0.0f)); mProjectileSpeedMod = Convert.ToSingle(GetProperty(block, "ProjSpeedMod", 0.0f)); CFGProperty plevels = block.GetFirstProperty("Levels"); foreach (string v in plevels.Values) { ChallengeLevel level = new ChallengeLevel(); level.Level = v; mLevels.Add(level); } }