Beispiel #1
0
        private object GetProperty(CFGBlock block, string name, object defaultVar)
        {
            CFGProperty property = block.GetFirstProperty(name);

            if (property == null)
            {
                return(defaultVar);
            }

            return(property.Values[0]);
        }
Beispiel #2
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));
            }
        }
Beispiel #3
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");

            if (plevels != null)
            {
                foreach (string v in plevels.Values)
                {
                    ChallengeLevel level = new ChallengeLevel();
                    level.Level = v;
                    mLevels.Add(level);
                }
            }
        }