public static bool TryParse(string s, out ArenaRecord result)
    {
        result = Invalid;
        if (string.IsNullOrEmpty(s))
        {
            return(false);
        }
        char[]   separator = new char[] { ',' };
        string[] strArray  = s.Split(separator);
        if (strArray.Length != 3)
        {
            return(false);
        }
        int num  = 0;
        int num2 = 0;

        if (!int.TryParse(strArray[0], out num) || !int.TryParse(strArray[1], out num2))
        {
            return(false);
        }
        int num3 = 0;

        if (!int.TryParse(strArray[2], out num3))
        {
            return(false);
        }
        result.wins       = num;
        result.losses     = num2;
        result.isFinished = num3 == 1;
        return(true);
    }
예제 #2
0
        public ArenaPreFight(int id, ArenaRecord arena)
        {
            Id              = id;
            Arena           = arena;
            DefendersTeam   = new ArenaPreFightTeam(TeamEnum.TEAM_DEFENDER, this);
            ChallengersTeam = new ArenaPreFightTeam(TeamEnum.TEAM_CHALLENGER, this);

            DefendersTeam.MemberAdded   += OnMemberAdded;
            ChallengersTeam.MemberAdded += OnMemberAdded;

            DefendersTeam.MemberRemoved   += OnMemberRemoved;
            ChallengersTeam.MemberRemoved += OnMemberRemoved;
        }
 private void CheckArenaGameStarted(BnetPlayer player)
 {
     if (PresenceMgr.Get().GetStatus(player) == PresenceStatus.ARENA_GAME)
     {
         ArenaRecord     record;
         BnetGameAccount hearthstoneGameAccount = player.GetHearthstoneGameAccount();
         if (((hearthstoneGameAccount != null) && ArenaRecord.TryParse(hearthstoneGameAccount.GetArenaRecord(), out record)) && (record.wins >= 8))
         {
             object[] args = new object[] { "5ecaf0ff", player.GetBestName(), record.wins };
             this.AddToast(GameStrings.Format("GLOBAL_SOCIAL_TOAST_FRIEND_ARENA_START_WITH_MANY_WINS", args));
         }
     }
 }
    private void CheckArenaRecordChanged(BnetPlayer player)
    {
        ArenaRecord     record;
        BnetGameAccount hearthstoneGameAccount = player.GetHearthstoneGameAccount();

        if ((hearthstoneGameAccount != null) && ArenaRecord.TryParse(hearthstoneGameAccount.GetArenaRecord(), out record))
        {
            if (record.isFinished)
            {
                if (record.wins >= 3)
                {
                    object[] args = new object[] { "5ecaf0ff", player.GetBestName(), record.wins, record.losses };
                    this.AddToast(GameStrings.Format("GLOBAL_SOCIAL_TOAST_FRIEND_ARENA_COMPLETE", args));
                }
            }
            else if ((record.wins == 0) && (record.losses == 0))
            {
                object[] objArray2 = new object[] { "5ecaf0ff", player.GetBestName() };
                this.AddToast(GameStrings.Format("GLOBAL_SOCIAL_TOAST_FRIEND_ARENA_START", objArray2));
            }
        }
    }
예제 #5
0
        public ArenaPreFight CreateArenaPreFight(ArenaRecord arena)
        {
            var fight = new ArenaPreFight(m_idProvider.Pop(), arena);

            return(fight);
        }