// Token: 0x060019B6 RID: 6582 RVA: 0x0002EF88 File Offset: 0x0002DF88
        public virtual ScoringState Prepare(EntrantInfo entrant, Event evnt)
        {
            TreasureHuntScoringState treasureHuntScoringState = new TreasureHuntScoringState();

            treasureHuntScoringState.CoinsCollected = 0u;
            for (uint num = 0u; num < evnt.EventDef.Num_Coins(); num += 1u)
            {
                if (evnt.EventDef.Coins(num).GetCollectionKey() == 0u)
                {
                    treasureHuntScoringState.CoinsCollected |= 1u << (int)num;
                }
            }
            return(treasureHuntScoringState);
        }
        // Token: 0x060019B2 RID: 6578 RVA: 0x0002EEE8 File Offset: 0x0002DEE8
        public void Fill(LivePacket livePacket, EntrantInfo entrant)
        {
            TreasureHuntLivePacket   treasureHuntLivePacket   = livePacket as TreasureHuntLivePacket;
            TreasureHuntScoringState treasureHuntScoringState = entrant.ScoringState as TreasureHuntScoringState;

            if (null != treasureHuntLivePacket && treasureHuntScoringState != null)
            {
                TreasureHuntEntrantLivePacket treasureHuntEntrantLivePacket = treasureHuntLivePacket.CreateEntrantLivePacket();
                treasureHuntEntrantLivePacket.PersonaId = entrant.PersonaId;
                treasureHuntEntrantLivePacket.SetPersonaName(entrant.Opponent.OpponentName);
                treasureHuntEntrantLivePacket.FinishReason      = treasureHuntScoringState.FinishReason;
                treasureHuntEntrantLivePacket.Rank              = treasureHuntScoringState.Rank;
                treasureHuntEntrantLivePacket.IsLocal           = (entrant.Opponent is LocalHumanOpponent);
                treasureHuntEntrantLivePacket.NumCoinsCollected = (int)treasureHuntScoringState.GetNumberOfCollectedCoins();
            }
        }