Esempio n. 1
0
        private void btnAddSearchResultsToPipeline_Click(Object sender, EventArgs e)
        {
            try
            {
                if (this.selectedUser == null)
                {
                    Log("You have to select the user who will become the owner of given level.", Color.Orange);
                    return;
                }

                LevelResult selected = (LevelResult)this.dataGridViewLevelResults.CurrentRow?.DataBoundItem;
                if (selected == null)
                {
                    Log("You have to select level from the grid below.", Color.Orange);
                    return;
                }

                this.AddToPipeline(new[] { new LevelModel(this.selectedUser, selected.LevelId, selected.Version) });

                Log("Successfully added 1 item to the pipeline.");
            }
            catch (Exception ex)
            {
                Log(String.Concat("Error occured while adding item to pipeline:\n", ex), Color.Red);
            }
        }
Esempio n. 2
0
 protected BaseLevel()
 {
     RemainingLives    = StartingLives;
     _waveHasEnded     = true;
     CurrentWaveNumber = 0;
     LevelResults      = CreateResults();
 }
Esempio n. 3
0
    private string createResultJsonUsing(int score)
    {
        _levelResult = new LevelResult(score, SceneManager.GetActiveScene().name);
        String json = JsonUtility.ToJson(_levelResult);

        return(json);
    }
Esempio n. 4
0
    private void ChangeLevelResultImage(int levelToChange, LevelResult resultToSet)
    {
        switch (resultToSet)
        {
        case LevelResult.Locked:
            levelIconTransforms[levelToChange - 1].GetComponent <SpriteRenderer>().sprite = levelResultsSprites[0];
            return;

        case LevelResult.Unlocked:
            levelIconTransforms[levelToChange - 1].GetComponent <SpriteRenderer>().sprite = levelResultsSprites[1];
            return;

        case LevelResult.Done1Star:
            levelIconTransforms[levelToChange - 1].GetComponent <SpriteRenderer>().sprite = levelResultsSprites[2];
            return;

        case LevelResult.Done2Star:
            levelIconTransforms[levelToChange - 1].GetComponent <SpriteRenderer>().sprite = levelResultsSprites[2];
            return;

        case LevelResult.Done3Star:
            levelIconTransforms[levelToChange - 1].GetComponent <SpriteRenderer>().sprite = levelResultsSprites[2];
            return;

        default:
            return;
        }
    }
Esempio n. 5
0
    public void ChangeLevelResult(int levelToChange, LevelResult resultToSet)
    {
        if (levelToChange < 1 || levelToChange > MAX_LEVELS)
        {
            return;
        }                                                                 //Improper inputs, no need for this method
        if (GetLevelResult(levelToChange) == resultToSet)
        {
            return;
        }                                                             //Nothing is changing, no need for this method

        //********** Level Results ************
        LevelResult currentLevelResult = GetLevelResult(levelToChange);

        levelResults[levelToChange - 1] = resultToSet;
        ChangeLevelResultImageIfNeeded(levelToChange, currentLevelResult, resultToSet);

        //********** Stars Earned *************
        StarImages currentStarEarned = new StarImages(starEarned[3 * levelToChange - 3],
                                                      starEarned[3 * levelToChange - 2],
                                                      starEarned[3 * levelToChange - 1]);

        SetNewStarsEarnedArray(levelToChange, resultToSet);
        ChangeStarImagesIfNeeded(levelToChange, currentStarEarned, resultToSet);
    }
Esempio n. 6
0
 private void ChangeLevelResultImageIfNeeded(int levelToChange, LevelResult currentLevelResult, LevelResult resultToSet)
 {
     if (DoesLevelImageNeedChanging(currentLevelResult, resultToSet))
     {
         ChangeLevelResultImage(levelToChange, resultToSet);
     }
 }
        public async Task <IActionResult> GetUser(string uuid, string type)
        {
            if (!LevelHead.objlist.ContainsKey(type))
            {
                ErrorResult rs = new ErrorResult();
                rs.success = false;
                rs.cause   = $"Type {type} not exists";
                return(StatusCode(500, rs));
            }

            HypixelAPI api = new HypixelAPI();
            await api.Fetch(uuid);

            if (api.isErr)
            {
                ErrorResult rs = new ErrorResult();
                rs.success = false;
                rs.cause   = api.ErrMsg;
                return(StatusCode(500, rs));
            }
            LevelHead.objlist.TryGetValue(type, out TypeObj value);
            if (value == null)
            {
                return(StatusCode(500, new ErrorResult($"Type {type} wasnt found on field.")));
            }
            string      k  = api.getValue(type, value);
            LevelResult ls = new LevelResult();

            ls.level    = k;
            ls.strlevel = k;
            ls.success  = true;
            Console.WriteLine($"/user/{uuid}/{type}");
            return(StatusCode(200, ls));
        }
Esempio n. 8
0
        public YieldInstruction DisplayLevelResult(LevelResult result)
        {
            _wipeScore.gameObject.SetActive(true);
            var str = "全部消除,通关成功!";

            switch (result)
            {
            case LevelResult.FailToFindNode:
                str = "泡泡满了,通关失败";
                break;

            case LevelResult.FailToMoveDown:
                str = "不能下移,通关失败!";
                break;
            }

            var pre     = Manager.Instance.Records.First.Next?.Value.Score ?? 0;
            var now     = Manager.Instance.Records.First.Value.Score;
            var tweener = DOTween.To(() => pre, x => _wipeScore.text = $"{x:d4}", now, 1.2f);

            tweener.onPlay     = () => _wipeScore.gameObject.SetActive(true);
            tweener.onComplete = () => _wipeScore.gameObject.SetActive(false);

            _wipeLevel.text = str;
            return(_wipeLevel.rectTransform.DOAnchorPosY(200, 2f).SetEase(Ease.InOutQuad).WaitForCompletion());
        }
Esempio n. 9
0
        static bool Prefix(GameModeController __instance, LevelResult result)
        {
            //Main.mod.Logger.Log("level finsih called");
            if (!Main.enabled || !Main.settings.helicopterWait)
            {
                return(true);
            }

            if (result != LevelResult.Success || (HeroController.GetPlayersOnHelicopterAmount() == 0))
            {
                return(true);
            }

            //Main.mod.Logger.Log(HeroController.GetPlayersOnHelicopterAmount() + " == " + HeroController.GetPlayersAliveCount());
            if (HeroController.GetPlayersOnHelicopterAmount() == HeroController.GetPlayersAliveCount())
            {
                Helicopter_Leave_Patch.attachCalled = false;
                Main.heli.Leave();
                //Main.mod.Logger.Log("after helicopter leave");
                return(true);
            }
            else
            {
                Main.control = __instance;
                return(false);
            }
        }
Esempio n. 10
0
        /// <summary>
        ///     This is to local compute score
        /// </summary>
        /// <param name="levelResult"></param>
        /// <returns></returns>
        LevelMetricQueryResult IGameScoreService.GetLevelScore(LevelResult levelResult)
        {
            int score = Data.DTO.Services.CardGame.Score(levelResult.WordsCount, levelResult.OpeningQuantity);

            var levelScore = new LevelMetricQueryResult(levelResult.LevelId, score);

            return(levelScore);
        }
Esempio n. 11
0
        public static void RecordChapterResults(LevelResult result)
        {
            var existingResultIndex = Data.ChapterResults.FindIndex(l => l.LevelNumber == result.LevelNumber);

            if (existingResultIndex > -1)
            {
                Data.ChapterResults.RemoveAt(existingResultIndex);
            }
            Data.ChapterResults.Add(result);
            Data.CurrentPlayDateTime = result.InGameDateTime;
        }
Esempio n. 12
0
        public static LevelResult ToLevelResult(this LevelMetricQuery levelMetricQuery)
        {
            var levelResult = new LevelResult
            {
                LevelId         = levelMetricQuery.GameLevelId,
                OpeningQuantity = levelMetricQuery.WordPairIdOpenCounts.Sum(s => s.Value),
                WordsCount      = levelMetricQuery.WordPairIdOpenCounts.Count * 2
            };

            return(levelResult);
        }
Esempio n. 13
0
 public void Reset()
 {
     RemainingLives              = StartingLives;
     CurrentWaveNumber           = 0;
     _lastEnemyWaveTime          = 0;
     _waveHasEnded               = true;
     _currentlyGeneratingNewWave = false;
     LastWave           = null;
     IsReadyForNextWave = false;
     LevelResults       = CreateResults();
 }
Esempio n. 14
0
    public void SaveGameResult(int score)
    {
        var result = new LevelResult()
        {
            LevelName       = previousScene,
            LevelFinalScore = score,
            Completed       = true
        };

        GameController.gameController.SaveFinalScore(result);
    }
Esempio n. 15
0
    void Awake()
    {
        audioSource = GetComponent <AudioSource>();

        startingCooldown = new Cooldown(readyDurationMillis, false);
        endingCooldown   = new Cooldown(endingDurationMillis, false);
        levelState       = new LevelState();
        levelResult      = new LevelResult();

        levelState.OnStateChange += OnLevelStateChange;
    }
Esempio n. 16
0
    public override bool Equals(Object obj)
    {
        // Check for null values and compare run-time types.
        if (obj == null || GetType() != obj.GetType())
        {
            return(false);
        }

        LevelResult p = (LevelResult)obj;

        return(p.LevelName == LevelName);
    }
Esempio n. 17
0
    public void LoadLevelResults()
    {
        mLevelResults = new Dictionary <ChapterLevel, LevelResult>();

        if (!File.Exists(Application.persistentDataPath + "//.BubbleRockLevelResult"))
        {
            return;
        }

        BinaryReader Reader = new BinaryReader(File.OpenRead(Application.persistentDataPath + "//.BubbleRockLevelResult"));

        string title = Reader.ReadString();

        if (title != "BubbleRockLevelResult")
        {
            Debug.Log("Bad title");
            return;
        }
        int version = Reader.ReadInt32();

        if (version != 2)
        {
            Debug.Log("Bad version");
            return;
        }


        while (true)
        {
            string name = Reader.ReadString();
            if (name == "End")
            {
                break;
            }
            if (name != "LR")
            {
                Debug.Log("Bad data? LevelResult");
                return;
            }
            GAMETYPE gametype = (GAMETYPE)Reader.ReadInt32();
            int      chapter  = Reader.ReadInt32();
            int      level    = Reader.ReadInt32();
            Debug.Log("GAMETYPE: " + gametype + " Chapter: " + chapter + " Level: " + level);

            ChapterLevel mChapterLevel = new ChapterLevel(gametype, chapter, level);

            BinaryFormatter bf           = new BinaryFormatter();
            LevelResult     mLevelResult = (LevelResult)bf.Deserialize(Reader.BaseStream);
            mLevelResults.Add(mChapterLevel, mLevelResult);
        }

        Reader.Close();
    }
Esempio n. 18
0
    private void OnGameOver(LevelResult result)
    {
        previousLevelResult = result;
        PackedScene scene = GD.Load <PackedScene>("res://levels/SceneTransition.tscn");

        RemoveChild(currentScene);

        currentScene = scene.Instance();
        currentScene.Connect("ready", this, "PlayFadeOutGameOverAnimation");

        AddChild(currentScene);
    }
Esempio n. 19
0
    public async void StartLevel(int wave, int altitude, LevelResult prevLevelResult)
    {
        this.wave            = wave;
        this.altitude        = (float)altitude;
        this.prevLevelResult = prevLevelResult;

        GD.Print("Level " + wave + " starting");

        enemyCount = altitude / (30 + wave * 3);

        GD.Print("enemy count: " + enemyCount);

        string[] potentialEnemies;
        if (wave < 4)
        {
            potentialEnemies = new string[] { "Bat", "Rat" };
        }
        else if (wave < 7)
        {
            potentialEnemies = new string[] { "Bat", "Rat", "DemonWalker", "Hellhound" };
        }
        else
        {
            potentialEnemies = new string[] { "Bat", "Hellhound", "DemonWalker", "Rat" };
        }

        int c = enemyCount;

        await ToSignal(GetTree().CreateTimer(1f), "timeout");

        for (int i = 0; i < c; i++)
        {
            try
            {
                Enemy currentEnemey = spawner.SpawnRandomEnemy(potentialEnemies);
                currentEnemey.Connect("OnEnemyDeath", this, "OnEnemyDeath");
                GD.Print("Spawned enemy#" + i);

                await ToSignal(GetTree().CreateTimer(2f), "timeout");
            }
            catch (Exception e)
            {
                GD.Print(e.Message);

                enemyCount--;

                if (enemyCount <= 0)
                {
                    LeaveLevel();
                }
            }
        }
    }
Esempio n. 20
0
    public void OnMovingDownMenuReady()
    {
        musicPlayer.Play();
        if (previousLevelResult == null)
        {
            previousLevelResult         = new LevelResult();
            previousLevelResult.waveNum = 1;
        }

        MovingDown movingDown = (MovingDown)FindNode("MovingDown", true, false);

        movingDown.OnLevelCompleted(previousLevelResult, this);
    }
Esempio n. 21
0
    public void OnGameOverMenuReady()
    {
        musicPlayer.Play();
        if (previousLevelResult == null)
        {
            previousLevelResult         = new LevelResult();
            previousLevelResult.waveNum = 1;
        }

        GameOver gameOver = (GameOver)FindNode("GameOver", true, false);

        gameOver.OnLevelCompleted(previousLevelResult, this);
    }
Esempio n. 22
0
    void ShowEndScreen(LevelResult result)
    {
        if (result.lvlResult == LevelResult.Result.win)
        {
            winScreen.SetActive(true);
            activeScreen = winScreen;
        }

        if (result.lvlResult == LevelResult.Result.loose)
        {
            looseScreen.SetActive(true);
            activeScreen = looseScreen;
        }
    }
Esempio n. 23
0
        private LevelResult ComputeBestMove(MinMax levelType, int depth, int maxDepth)
        {
            var         nextLevelType = MinMax.Min;
            var         symbol        = this.PreferredSymbol;
            var         winningScore  = 1000000000;
            LevelResult result        = new LevelResult(depth, -10, 0);

            if (levelType == MinMax.Min)
            {
                symbol        = Board.GetOpponentSymbol(this.PreferredSymbol);
                nextLevelType = MinMax.Max;
                winningScore  = -1000000000;
                result        = new LevelResult(depth, 10, 0);
            }
            var lm = Board.GetUnPlayedMoves().ToList();

            foreach (var move in lm)
            {
                Board.MarkCell(symbol, move);
                if (Board.CheckWin())
                {
                    Board.BackTrackMove();
                    return(new LevelResult(depth, winningScore, move));;
                }
                if (depth > maxDepth)
                {
                    Board.BackTrackMove();
                    var randomMove      = new Random();
                    var randomMoveIndex = randomMove.Next(lm.Count());
                    return(new LevelResult(depth, winningScore, lm[randomMoveIndex]));
                }
                LevelResult lr = new LevelResult(depth, 0, maxDepth);
                if (!Board.CheckDraw())
                {
                    lr = ComputeBestMove(nextLevelType, depth + 1, maxDepth);
                }
                if (levelType == MinMax.Min && (result.Result > lr.Result || (result.Result == lr.Result && result.Level > lr.Level)))
                {
                    result = lr;
                }
                if (levelType == MinMax.Max && (result.Result < lr.Result || (result.Result == lr.Result && result.Level > lr.Level)))
                {
                    result = lr;
                }
                lr.Move = move;
                Board.BackTrackMove();
            }
            return(result);
        }
Esempio n. 24
0
        private LevelResult CreateResults()
        {
            var levelNumberString = Regex.Replace(MapName, "[^0-9.]", "");

            int.TryParse(levelNumberString, out int levelNumber);
            var levelResult = new LevelResult
            {
                LevelName       = MapName,
                LevelNumber     = levelNumber,
                DateTimeStarted = DateTime.Now,
                WasVictorious   = HasReachedVictory(),
            };

            return(levelResult);
        }
Esempio n. 25
0
        public static void SendLevelCompleteEvent(LevelResult results)
        {
            var eventResults = new
            {
                LevelNumber     = results.LevelNumber,
                LevelName       = results.LevelName,
                LevelStarted    = results.DateTimeStarted,
                LevelFinished   = results.DateTimeFinished,
                InGameTime      = results.InGameDateTime,
                TimePlayed      = results.TimePlayed,
                EnemiesDefeated = results.EnemiesDefeated,
                WavesCompleted  = results.WavesCompleted,
            };

            AddDeferredEvent("LevelComplete", eventResults);
        }
Esempio n. 26
0
        private IEnumerator SetLevelResult(LevelResult result)
        {
            yield return(_gamePanel.DisplayLevelResult(result));

            if (result == LevelResult.Pass)
            {
                var newRecord = Records.First.Value;
                ++newRecord.Level;
                Records.First.Value = newRecord;
                InitLevelData(newRecord.Level);
            }
            else
            {
                _startPanel.gameObject.SetActive(true);
            }
        }
Esempio n. 27
0
 static void Prefix(GameModeController __instance, LevelResult result)
 {
     if (Main.settings.loopCurrent && result == LevelResult.Success)
     {
         if (!Main.enabled || !Main.settings.loopCurrent)
         {
             return;
         }
         //Main.mod.Logger.Log("current level num after finish called: " + LevelSelectionController.CurrentLevelNum);
         //LevelSelectionController.CurrentLevelNum -= 1;
         //GameModeController.RestartLevel();
         bool temp = Main.settings.disableConfirm;
         Main.settings.disableConfirm = true;
         PauseMenu_RestartLevel_Patch.Prefix(null);
         Main.settings.disableConfirm = temp;
     }
 }
Esempio n. 28
0
    void StartGame()
    {
        start = AudioSettings.dspTime;

        totalSongBeats = (int)Math.Round(source.clip.length * activeMetronome.BPM / 60);
        source.PlayScheduled(start + delay);
        activeMetronome.SetStartTime(start + delay);
        timeline.Init();

        foreach (BasePlanet f in followers)
        {
            Beat        += f.OnBeat;
            BeatSuccess += f.OnBeatSuccess;
            BeatFailed  += f.OnBeatFailed;
        }


        totalTicks         = 0;
        currentBeatInfoIdx = 0;
        lastTouchedBeat    = 0;

        songBeats            = leSong.GetBeats();
        lastRelevantBeat     = songBeats.Count > 0 ? songBeats[songBeats.Count - 1] : -1;
        currentBeatMarkerIdx = 0;
        bool offLimits = false;

        while (!offLimits)
        {
            if (songBeats[currentBeatMarkerIdx] < timeline.maxBeats)
            {
                timeline.AddBeat(songBeats[currentBeatMarkerIdx]);
                currentBeatMarkerIdx++;
            }
            else
            {
                offLimits = true;
            }
        }
        levelResult = LevelResult.Continue;
        running     = true;

        if (tutorialManager && tutorialManager.TutorialEnabled)
        {
            tutorialManager.StartTutorial(0, 1);
        }
    }
Esempio n. 29
0
    private static void EndLevel(LevelResult result)
    {
        KnifeSpawner.DisableSpawn();
        gameOngoing = false;
        KnifeSpawner.DisableSpawn();
        KnifeSpawner.DisableTrow();
        onLevelEnd.Invoke(result);

        if (result.lvlResult == LevelResult.Result.win)
        {
            levelWon = true;
        }
        else
        {
            levelWon = false;
        }
    }
Esempio n. 30
0
    public void Start()
    {
        previousLevelResult          = new LevelResult();
        previousLevelResult.waveNum  = 0;
        previousLevelResult.altitude = 120;

        musicPlayer = GetNode <AudioStreamPlayer2D>("MainMusicPlayer");
        musicPlayer.Play();

        PackedScene scene = GD.Load <PackedScene>("res://levels/MainMenu.tscn");

        currentScene = scene.Instance();

        this.Connect("LevelCompleted", this, "OnLevelCompleted");
        currentScene.Connect("StartNextLevel", this, "OnStartNextLevel");

        AddChild(currentScene);
    }
Esempio n. 31
0
        public bool LoadFromDB(string strPassword, string strMMUsername, string strMMPassword, string strFirstname, string strLastname)
        {
            string strSQL = "SELECT  UserID, FirstName, LastName, Passwrd, MMUsername, MMPassword, Ref, Res, Education, Skill FROM tblUsers WHERE (FirstName LIKE '" + strFirstname + "') AND (LastName LIKE '" + strLastname + "') AND (Passwrd LIKE '" + strPassword + "') AND (MMUsername LIKE '" + strMMUsername + "') AND (MMPassword LIKE '" + strMMPassword + "')";
            DataTable dt=CCLib.Common.DataAccess.GetDataTable(strSQL);
            if (dt.Rows.Count > 0)
            {
            FirstName = dt.Rows[0]["firstname"].ToString();
            LastName = dt.Rows[0]["lastname"].ToString();
            //aspects
            string strAspectRef = dt.Rows[0]["Ref"].ToString();
            string strAspectRes = dt.Rows[0]["Res"].ToString();
            ClientAspects = new AspectResultSet();
            for (int i = 0; i<strAspectRes.Length; i++)
            {
                AspectResult ar =new AspectResult();
                ar.AspectRef = Convert.ToInt32(strAspectRef.Substring(i*3,3));
                ar.AspectResponse = Convert.ToInt32(strAspectRes.Substring(i,1));
                ClientAspects.Add(ar);

            }
            string strLevels = dt.Rows[0]["Education"].ToString();
            ClientLevels = new LevelResultSet();
            for (int i = 0; i<strLevels.Length; i=i+3)
            {
                LevelResult lv =new LevelResult();
                lv.LevelRef = Convert.ToInt32(strLevels.Substring(i,3));
                //JM 02/11/2006 changed from lv.LevelRef = Convert.ToInt32(strLevels.Substring(i*3,3));
                lv.LevelResponse = true;
                ClientLevels.Add(lv);
            }
            ClientSkills = new SkillsResultSet();
            string strSkills = dt.Rows[0]["Skill"].ToString();
            for (int i = 1; i<=strSkills.Length; i++)
            {
                SkillsResult sr =new SkillsResult();
                sr.SkillsResponse  = Convert.ToInt32(strSkills.Substring(i-1,1));
                sr.SkillsRef = i;
                ClientSkills.Add(sr);
            }
            //calculate Aspect Indicator
            AspectIndicator =1;
            if (ClientAspects.Count >=39) {AspectIndicator=2;};
            if (ClientAspects.Count >=116) {AspectIndicator=4;};
            if (ClientSkills.Count >= 44) { SkillsIndicator = 1; };

            return (true);
            }
            else
            {
            return (false);
            }
        }
Esempio n. 32
0
        public bool LoadFromPortfolio(string strPortfolioId, int intMMID)
        {
            string strSQL ="";
            strSQL = "SELECT p.FirstName, p.LastName, m.Ref AS MatchMakerRef, m.Res AS MatchMakerRes, m.Education AS MatchMakerEducation, m.Skill AS MatchMakerSkill FROM Portfolio AS p INNER JOIN Port_SavedMatchMaker AS m ON p.PortfolioID = m.PortfolioID WHERE (p.portfolioid=" + strPortfolioId + " and m.SavedMatchMakerID=" + intMMID + ")";
            DataTable dt = CCLib.Common.DataAccess.GetDataTable(strSQL);
            if (dt.Rows.Count > 0)
            {
                FirstName = dt.Rows[0]["firstname"].ToString();
                LastName = dt.Rows[0]["lastname"].ToString();
                //aspects
                string strAspectRef = dt.Rows[0]["MatchMakerRef"].ToString();
                string strAspectRes = dt.Rows[0]["MatchMakerRes"].ToString();
                ClientAspects = new AspectResultSet();
                for (int i = 0; i < strAspectRes.Length; i++)
                {
                    AspectResult ar = new AspectResult();
                    ar.AspectRef = Convert.ToInt32(strAspectRef.Substring(i * 3, 3));
                    ar.AspectResponse = Convert.ToInt32(strAspectRes.Substring(i, 1));
                    ClientAspects.Add(ar);

                }
                string strLevels = dt.Rows[0]["MatchMakerEducation"].ToString();
                ClientLevels = new LevelResultSet();
                for (int i = 0; i < strLevels.Length; i=i+3)
                {
                    LevelResult lv = new LevelResult();
                    lv.LevelRef = Convert.ToInt32(strLevels.Substring(i, 3));
                    lv.LevelResponse = true;
                    ClientLevels.Add(lv);
                }
                ClientSkills = new SkillsResultSet();
                string strSkills = dt.Rows[0]["MatchMakerSkill"].ToString();
                for (int i = 1; i <= strSkills.Length; i++)
                {
                    SkillsResult sr = new SkillsResult();
                    sr.SkillsResponse = Convert.ToInt32(strSkills.Substring(i - 1, 1));
                    sr.SkillsRef = i;
                    ClientSkills.Add(sr);
                }
                //calculate Aspect Indicator
                AspectIndicator = 1;
                if (ClientAspects.Count >= 39) { AspectIndicator = 2; };
                if (ClientAspects.Count >= 116) { AspectIndicator = 4; };
                if (ClientSkills.Count >= 44) { SkillsIndicator = 1; };

                return (true);
            }
            else
            {
                return (false);
            }
        }
        //int intTotalAspectCount = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            // Put user code to initialize the page here

            #region Properties For The Base Class and Check Login
            LoginID = Request.QueryString["LoginID"];
            base.LoginInfo = CCLib.Login.GetLoginInfo(LoginID);

            base.Redirect();
            base.PageTitle = TextCode(300);
            base.Section = "mm";
            base.CSS = "global_css";
            base.HeadTag = "<STYLE TYPE='TEXT/CSS'><!--.MMBackLink {text-decoration:none;}.MMBackLink:hover {text-decoration:underline}.PrintLink {color: #FFFFFF; font-size:10px; text-decoration:underline;}.PrintLink:hover {color: #FFFFFF;font-size:10px; font-weight:bold}--></STYLE>";
            base.BodyTag = @" ALINK=#990000 style='background-image:url(/media/shared/bg_else.gif); background-repeat:no-repeat; background-color:#FFFFFF;' LEFTMARGIN=0 LINK=#003366 TEXT=#000000 TOPMARGIN=0 VLINK=#666666 MARGINWIDTH='0' MARGINHEIGHT='0'";
            base.LeftBar = @"<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH='100%'><TR BGCOLOR=#336699 VALIGN=top><TD BACKGROUND='../media/mm/i_top_bar_bg.gif'><IMG HEIGHT=23 SRC='../media/mm/i_c_mm_icon.gif' WIDTH=24 alt=''><IMG HEIGHT=23 SRC='../media/mm/h_c_mm.gif' WIDTH=141 alt='" + TextCode(300) + "'>";

            #endregion Properties For The Base Class and Check Login

            // Put user code to initialize the page here

            LevelResult levelResult;

            ClientStorage clientStorage = new ClientStorage();
            clientStorage.Retrieve(LoginID);

            //do we need to save the values??
            if (Request["ChkChange"] != null)
            {
            // save them away

            levelResult = clientStorage.ClientLevels.Find(delegate(LevelResult lv){return lv.LevelRef  == 1;});
            if (levelResult == null)
            {
                   //it's not there so add to resultset
                    levelResult = new LevelResult();
                    levelResult.LevelRef = 1;
                    clientStorage.ClientLevels.Add(levelResult);
            }
                // then we set the value...
            if (Request["chkLevel001"]  !=null)
            {
                    levelResult.LevelResponse = true;
            }
            else
            {
                    levelResult.LevelResponse = false;
            }

            levelResult = clientStorage.ClientLevels.Find(delegate(LevelResult lv){return lv.LevelRef  == 2;});
            if (levelResult == null)
            {
                   //it's not there so add to resultset
                    levelResult = new LevelResult();
                    levelResult.LevelRef = 2;
                    clientStorage.ClientLevels.Add(levelResult);
            }
                // then we set the value...
            if (Request["chkLevel002"]!=null)
            {
                    levelResult.LevelResponse = true;
            }
            else
            {
                    levelResult.LevelResponse = false;
            }

            levelResult = clientStorage.ClientLevels.Find(delegate(LevelResult lv){return lv.LevelRef  == 3;});
            if (levelResult == null)
            {
                   //it's not there so add to resultset
                    levelResult = new LevelResult();
                    levelResult.LevelRef = 3;
                    clientStorage.ClientLevels.Add(levelResult);
            }
                // then we set the value...
            if (Request["chkLevel003"]  != null)
            {
                    levelResult.LevelResponse = true;
            }
            else
            {
                    levelResult.LevelResponse = false;
            }

            //now we save it back
            clientStorage.Save(LoginID);
            //now we redirect

            Response.Redirect("k_list_matched.aspx?LoginID=" + LoginID);

            }

            // default the checkboxes
            chkLevel001.Checked = false;
            chkLevel002.Checked = false;
            chkLevel003.Checked = false;

            // load the levels
            levelResult = clientStorage.ClientLevels.Find(delegate(LevelResult lv){return lv.LevelRef  == 1;});
            if (levelResult!=null)
            {
            chkLevel001.Checked = levelResult.LevelResponse;
            }

            levelResult = clientStorage.ClientLevels.Find(delegate(LevelResult lv) { return lv.LevelRef == 2; });
            if (levelResult != null)
            {
            chkLevel002.Checked = levelResult.LevelResponse;
            }

            levelResult = clientStorage.ClientLevels.Find(delegate(LevelResult lv) { return lv.LevelRef == 3; });
            if (levelResult != null)
            {
            chkLevel003.Checked = levelResult.LevelResponse;
            }
        }