예제 #1
0
        // Token: 0x0600174F RID: 5967 RVA: 0x00029B68 File Offset: 0x00028B68
        public void FillPursuitPacket(ICallback callback)
        {
            EntrantInfo entrantInfo = base.Entrants.Find((EntrantInfo e) => e.Opponent is LocalHumanOpponent);

            if (entrantInfo != null)
            {
                base.ScoringMethod.Fill(this.pursuitInfo, entrantInfo);
            }
            callback.Respond(this.pursuitInfo);
            callback.Destroy();
            callback = null;
        }
예제 #2
0
 // Token: 0x060016D2 RID: 5842 RVA: 0x00027E28 File Offset: 0x00026E28
 public void Do(long personaId, uint effectKey)
 {
     if (this.Event is InstancedEvent)
     {
         EntrantInfo entrantInfo = this.InstancedEvent.FindEntrant(personaId);
         if (entrantInfo != null)
         {
             powerup_gamegroup powerup_gamegroup = new powerup_gamegroup(effectKey);
             uint rank           = (uint)entrantInfo.ScoringState.Rank;
             uint indexMagnitude = GameCore.Math.Math.Clamp <uint>(rank, 0u, powerup_gamegroup.Num_magnitude() - 1u);
             uint indexRange     = GameCore.Math.Math.Clamp <uint>(rank, 0u, powerup_gamegroup.Num_range() - 1u);
             this.InstancedEvent.DoEffect(entrantInfo, powerup_gamegroup, indexMagnitude, indexRange);
         }
     }
 }
예제 #3
0
        // Token: 0x06001750 RID: 5968 RVA: 0x00029BC8 File Offset: 0x00028BC8
        public void TimingOut(XmlString xmlString)
        {
            EventTimingOut eventTimingOut;

            if (XSD2CPP.ReadEventTimingOut(xmlString, out eventTimingOut) && this.EventSessionId == eventTimingOut.EventSessionId)
            {
                this.timingOutBeginning      = Simulation.GetTick();
                this.timingOutInMilliseconds = eventTimingOut.TimeInMilliseconds;
                LocalHumanOpponent localHumanOpponent = base.Manager.OpponentManager.FindLocalOpponent();
                if (localHumanOpponent != null)
                {
                    EntrantInfo entrantInfo = base.FindEntrant(localHumanOpponent.PersonaId);
                    if (entrantInfo != null && !entrantInfo.ScoringState.HasFinishReason)
                    {
                        Hud.EnableGadget("RaceCountdownTimer", true);
                    }
                }
            }
        }
예제 #4
0
        // Token: 0x06001701 RID: 5889 RVA: 0x0002865C File Offset: 0x0002765C
        public virtual void FillArbitratedPacket(ICallback callback)
        {
            ArbitratedPacket arbitratedPacket = this.arbitratedPacket;

            arbitratedPacket.Reset();
            this.ScoringMethod.Fill(arbitratedPacket, this);
            this.ScoringMethod.Sort(this.Entrants);
            int count = this.Entrants.Count;

            for (int i = 0; i < count; i++)
            {
                EntrantInfo entrantInfo = this.Entrants[i];
                if (entrantInfo.ScoringState == null)
                {
                    break;
                }
                entrantInfo.ScoringState.Rank = i + 1;
                this.ScoringMethod.Fill(arbitratedPacket, entrantInfo);
            }
            callback.Respond(arbitratedPacket);
            callback.Destroy();
            callback = null;
        }
예제 #5
0
        // Token: 0x06001708 RID: 5896 RVA: 0x00028B84 File Offset: 0x00027B84
        public virtual bool IsPowerupRestricted(Restriction restriction, long personaId)
        {
            EntrantInfo entrantInfo = this.FindEntrant(personaId);

            return(entrantInfo == null || this.ScoringMethod.IsPowerupRestricted(restriction, entrantInfo, this));
        }
예제 #6
0
 // Token: 0x06001753 RID: 5971 RVA: 0x00029C8F File Offset: 0x00028C8F
 public void DoEffect(EntrantInfo entrant, powerup_gamegroup effect, uint indexMagnitude, uint indexRange)
 {
     base.ScoringMethod.DoEffect(entrant, effect, indexMagnitude, indexRange);
 }