public static EventResultEntity addEventResult(EventResultEntity eventResultEntity)
 {
     using (ITransaction transaction = session.BeginTransaction())
     {
         session.Save(eventResultEntity);
         transaction.Commit();
     }
     lock (NfswSession.eventResultsLock)
     {
         Access.CurrentSession.EventResults.Add(new EventResult(eventResultEntity));
     }
     return(eventResultEntity);
 }
示例#2
0
 public EventResult(EventResultEntity eventResult)
 {
     Id              = eventResult.id;
     EventId         = eventResult.eventId;
     EventDuration   = TimeSpan.FromMilliseconds(eventResult.eventDurationInMilliseconds).ToString(@"mm\:ss\:fff");
     FinishReason    = eventResult.finishReason;
     Rank            = eventResult.rank;
     GainedExp       = eventResult.gainedExp;
     GainedCash      = eventResult.gainedCash;
     BestLapDuration = eventResult.bestLapDurationInMilliseconds == null ? "-" :
                       TimeSpan.FromMilliseconds((UInt32)eventResult.bestLapDurationInMilliseconds).ToString(@"mm\:ss\:fff");
     PerfectStart = eventResult.perfectStart == null ? "-" :
                    (Boolean)eventResult.perfectStart ? "Yes" : "No";
     TopSpeed = eventResult.topSpeed == null ? "-" :
                (float)eventResult.topSpeed * 3.6f + " km/h";
     PersonaName = eventResult.personaName;
     CarName     = eventResult.carName;
 }
示例#3
0
        public static String launchevent()
        {
            Int32 eventId = Int32.Parse(Access.sHttp.request.Path.Split('/')[4]);

            EventResultEntity eventResultEntity = new EventResultEntity();

            eventResultEntity.carName     = Access.CurrentSession.ActivePersona.SelectedCar.MakeModel;
            eventResultEntity.eventId     = eventId;
            eventResultEntity.personaName = Access.CurrentSession.ActivePersona.Name;
            eventResultEntity             = EventResultManagement.addEventResult(eventResultEntity);
            Access.CurrentSession.ActivePersona.currentEventId        = eventId;
            Access.CurrentSession.ActivePersona.currentEventSessionId = eventResultEntity.id;

            SessionInfo sessionInfo = new SessionInfo();

            sessionInfo.eventId   = eventId;
            sessionInfo.sessionId = eventResultEntity.id;
            return(sessionInfo.SerializeObject());
        }
示例#4
0
        public static String arbitration()
        {
            String arbitrationPacket = Access.sHttp.getPostData();

            Access.CurrentSession.ActivePersona.SelectedCar.Durability -= 5;

            switch (arbitrationPacket.Substring(1, arbitrationPacket.IndexOf("ArbitrationPacket") - 1))
            {
            case "Drag":
            {
                DragArbitrationPacket dragArbitration = arbitrationPacket.DeserializeObject <DragArbitrationPacket>();

                DragEventResult eventResult = new DragEventResult();
                eventResult.accolades  = getAccolades(dragArbitration);
                eventResult.durability = Access.CurrentSession.ActivePersona.SelectedCar.Durability;
                eventResult.entrants.Add((DragEntrantResult)dragArbitration.getEntrantResult());
                eventResult.personaId = Access.CurrentSession.ActivePersona.Id;

                if (EventResultManagement.eventResult != null)
                {
                    EventResultEntity eventResultEntity = EventResultManagement.eventResult;
                    eventResultEntity.eventDurationInMilliseconds = dragArbitration.eventDurationInMilliseconds;
                    eventResultEntity.finishReason = dragArbitration.finishReason.ToString();
                    eventResultEntity.gainedExp    = eventResult.accolades.finalRewards.rep;
                    eventResultEntity.gainedCash   = eventResult.accolades.finalRewards.tokens;
                    eventResultEntity.perfectStart = dragArbitration.perfectStart == 1;
                    eventResultEntity.rank         = dragArbitration.rank;
                    eventResultEntity.topSpeed     = dragArbitration.topSpeed;

                    EventResultManagement.eventResult = eventResultEntity;
                }

                Access.CurrentSession.ActivePersona.currentEventId        = 0;
                Access.CurrentSession.ActivePersona.currentEventSessionId = 0;
                return(eventResult.SerializeObject());
            }

            case "Pursuit":
            {
                PursuitArbitrationPacket pursuitArbitration = arbitrationPacket.DeserializeObject <PursuitArbitrationPacket>();

                PursuitEventResult eventResult = new PursuitEventResult();
                eventResult.accolades  = getAccolades(pursuitArbitration);
                eventResult.durability = Access.CurrentSession.ActivePersona.SelectedCar.Durability;
                eventResult.heat       = pursuitArbitration.heat;
                eventResult.personaId  = Access.CurrentSession.ActivePersona.Id;

                if (EventResultManagement.eventResult != null)
                {
                    EventResultEntity eventResultEntity = EventResultManagement.eventResult;
                    eventResultEntity.copsDeployed = pursuitArbitration.copsDeployed;
                    eventResultEntity.copsDisabled = pursuitArbitration.copsDisabled;
                    eventResultEntity.copsRammed   = pursuitArbitration.copsRammed;
                    eventResultEntity.costToState  = pursuitArbitration.costToState;
                    eventResultEntity.eventDurationInMilliseconds = pursuitArbitration.eventDurationInMilliseconds;
                    eventResultEntity.finishReason      = pursuitArbitration.finishReason.ToString();
                    eventResultEntity.gainedExp         = eventResult.accolades.finalRewards.rep;
                    eventResultEntity.gainedCash        = eventResult.accolades.finalRewards.tokens;
                    eventResultEntity.heat              = eventResult.heat;
                    eventResultEntity.infractions       = pursuitArbitration.infractions;
                    eventResultEntity.rank              = pursuitArbitration.rank;
                    eventResultEntity.roadBlocksDodged  = pursuitArbitration.roadBlocksDodged;
                    eventResultEntity.spikeStripsDodged = pursuitArbitration.spikeStripsDodged;
                    eventResultEntity.topSpeed          = pursuitArbitration.topSpeed;

                    EventResultManagement.eventResult = eventResultEntity;
                }

                CarManagement.car.heatLevel = pursuitArbitration.heat;
                Access.CurrentSession.ActivePersona.currentEventId        = 0;
                Access.CurrentSession.ActivePersona.currentEventSessionId = 0;
                return(eventResult.SerializeObject());
            }

            case "Route":
            {
                RouteArbitrationPacket routeArbitration = arbitrationPacket.DeserializeObject <RouteArbitrationPacket>();

                RouteEventResult eventResult = new RouteEventResult();
                eventResult.accolades  = getAccolades(routeArbitration);
                eventResult.durability = Access.CurrentSession.ActivePersona.SelectedCar.Durability;
                eventResult.entrants.Add((RouteEntrantResult)routeArbitration.getEntrantResult());
                eventResult.personaId = Access.CurrentSession.ActivePersona.Id;

                if (EventResultManagement.eventResult != null)
                {
                    EventResultEntity eventResultEntity = EventResultManagement.eventResult;
                    eventResultEntity.bestLapDurationInMilliseconds = routeArbitration.bestLapDurationInMilliseconds;
                    eventResultEntity.eventDurationInMilliseconds   = routeArbitration.eventDurationInMilliseconds;
                    eventResultEntity.finishReason = routeArbitration.finishReason.ToString();
                    eventResultEntity.gainedExp    = eventResult.accolades.finalRewards.rep;
                    eventResultEntity.gainedCash   = eventResult.accolades.finalRewards.tokens;
                    eventResultEntity.perfectStart = routeArbitration.perfectStart == 1;
                    eventResultEntity.rank         = routeArbitration.rank;
                    eventResultEntity.topSpeed     = routeArbitration.topSpeed;

                    EventResultManagement.eventResult = eventResultEntity;
                }

                Access.CurrentSession.ActivePersona.currentEventId        = 0;
                Access.CurrentSession.ActivePersona.currentEventSessionId = 0;
                return(eventResult.SerializeObject());
            }

            case "TeamEscape":
            {
                TeamEscapeArbitrationPacket teamEscapeArbitration = arbitrationPacket.DeserializeObject <TeamEscapeArbitrationPacket>();

                TeamEscapeEventResult eventResult = new TeamEscapeEventResult();
                eventResult.accolades  = getAccolades(teamEscapeArbitration);
                eventResult.durability = Access.CurrentSession.ActivePersona.SelectedCar.Durability;
                eventResult.entrants.Add((TeamEscapeEntrantResult)teamEscapeArbitration.getEntrantResult());
                eventResult.personaId = Access.CurrentSession.ActivePersona.Id;

                if (EventResultManagement.eventResult != null)
                {
                    EventResultEntity eventResultEntity = EventResultManagement.eventResult;
                    eventResultEntity.bustedCount  = teamEscapeArbitration.bustedCount;
                    eventResultEntity.copsDeployed = teamEscapeArbitration.copsDeployed;
                    eventResultEntity.copsDisabled = teamEscapeArbitration.copsDisabled;
                    eventResultEntity.copsRammed   = teamEscapeArbitration.copsRammed;
                    eventResultEntity.costToState  = teamEscapeArbitration.costToState;
                    eventResultEntity.eventDurationInMilliseconds = teamEscapeArbitration.eventDurationInMilliseconds;
                    eventResultEntity.finishReason      = teamEscapeArbitration.finishReason.ToString();
                    eventResultEntity.gainedExp         = eventResult.accolades.finalRewards.rep;
                    eventResultEntity.gainedCash        = eventResult.accolades.finalRewards.tokens;
                    eventResultEntity.infractions       = teamEscapeArbitration.infractions;
                    eventResultEntity.perfectStart      = teamEscapeArbitration.perfectStart == 1;
                    eventResultEntity.rank              = teamEscapeArbitration.rank;
                    eventResultEntity.roadBlocksDodged  = teamEscapeArbitration.roadBlocksDodged;
                    eventResultEntity.spikeStripsDodged = teamEscapeArbitration.spikeStripsDodged;
                    eventResultEntity.topSpeed          = teamEscapeArbitration.topSpeed;

                    EventResultManagement.eventResult = eventResultEntity;
                }

                Access.CurrentSession.ActivePersona.currentEventId        = 0;
                Access.CurrentSession.ActivePersona.currentEventSessionId = 0;
                return(eventResult.SerializeObject());
            }
            }
            return("");
        }