예제 #1
0
    public void InitMatchData(ESlefContestType ContestType)
    {
        GameKind_Enum[] GameKindArray = null;
        switch (ContestType)
        {
        case ESlefContestType.TimeContest:
            GameKindArray = TimeMatchGameIdData;
            break;

        case ESlefContestType.PlayerNumberContest:
            GameKindArray = PlayerNumberMatchGameIdData;
            break;
        }
        int GameKey = 0;

        for (int index = 0; index < GameKindArray.Length; ++index)
        {
            GameKey = (int)ContestType * 10000 + (int)GameKindArray[index];
            if (!CurMatchDataDictionary.ContainsKey(GameKey))
            {
                SelfContestRule contestData = new SelfContestRule();
                CurMatchDataDictionary.Add(GameKey, contestData);
            }
            CurMatchDataDictionary[GameKey].playernumber = 0;
            switch (GameKindArray[index])
            {
            case GameKind_Enum.GameKind_LandLords:
            {
                if (ContestType == ESlefContestType.PlayerNumberContest)
                {
                    CurMatchDataDictionary[GameKey].playernumber = SelfContestRule.llrplayerNumberList[0];
                }
                CurMatchDataDictionary[GameKey].precontest   = SelfContestRule.llrprecontestList[0];
                CurMatchDataDictionary[GameKey].finalcontest = SelfContestRule.llrprecontestList[0];
            }
            break;

            case GameKind_Enum.GameKind_GuanDan:
            {
                if (ContestType == ESlefContestType.PlayerNumberContest)
                {
                    CurMatchDataDictionary[GameKey].playernumber = SelfContestRule.gdplayerNumberList[0];
                }
                CurMatchDataDictionary[GameKey].precontest   = SelfContestRule.gdprecontestList[0];
                CurMatchDataDictionary[GameKey].finalcontest = SelfContestRule.gdprecontestList[0];
            }
            break;

            case GameKind_Enum.GameKind_Chess:
            {
                CurMatchDataDictionary[GameKey].precontest   = SelfContestRule.gdprecontestChessList[0];
                CurMatchDataDictionary[GameKey].finalcontest = SelfContestRule.gdprecontestChessList[0];
            }
            break;
            }
            CurMatchDataDictionary[GameKey].cost = SelfContestRule.costList[0];
        }
    }
예제 #2
0
    void RefreshPlayerNumber(int pick, ESlefContestType constType, bool updateState = false)
    {
        int GameKey = (int)constType * 10000 + pick;

        if (CurMatchDataDictionary.ContainsKey(GameKey))
        {
            if (updateState)
            {
                CurMatchDataDictionary[GameKey] = scr_;
            }
            else
            {
                scr_ = CurMatchDataDictionary[GameKey];
            }
        }
    }
예제 #3
0
 public SelfContest()
 {
     InitSelfContest();
     //LoadRulePanel();
     InitSelfContestMsg();
     scr_                   = new SelfContestRule();
     hourcall_              = 1;
     minutecall_            = 0;
     selfcreateNumber_      = 0;
     contestobjects_        = new Dictionary <uint, GameObject>();
     tipsobjects_           = new Dictionary <uint, GameObject>();
     contestImages_         = new Dictionary <string, Sprite>();
     CurMatchDataDictionary = new Dictionary <int, SelfContestRule>();
     for (var TypeIndex = ESlefContestType.PlayerNumberContest;
          TypeIndex < ESlefContestType.ContestTypeCount; ++TypeIndex)
     {
         InitMatchData(TypeIndex);
     }
 }