예제 #1
0
 protected virtual void OnCrash(EventArgs e)
 {
     if (Crashed != null)
     {
         Crashed.Invoke(this, e);
     }
 }
예제 #2
0
        void simconnect_OnRecvEvent(SimConnect sender, SIMCONNECT_RECV_EVENT data)
        {
            logger.LogInformation("OnRecvEvent dwID " + data.dwID + " uEventID " + data.uEventID);
            switch ((SIMCONNECT_RECV_ID)data.dwID)
            {
            case SIMCONNECT_RECV_ID.EVENT_FILENAME:

                break;

            case SIMCONNECT_RECV_ID.QUIT:
                logger.LogInformation("Quit");
                break;
            }

            switch ((EVENTS)data.uEventID)
            {
            case EVENTS.SIM_START:
                logger.LogInformation("Sim start");
                break;

            case EVENTS.SIM_STOP:
                logger.LogInformation("Sim stop");
                break;

            case EVENTS.PAUSED:
                logger.LogInformation("Paused");
                //simconnect.TransmitClientEvent((uint)SimConnect.SIMCONNECT_OBJECT_ID_USER, EVENTS.SEND_UNPAUSE, (uint)0, GROUPID.FLAG, SIMCONNECT_EVENT_FLAG.GROUPID_IS_PRIORITY);
                break;

            case EVENTS.FLIGHTPLAN_ACTIVATED:
                logger.LogInformation("Flight plan activated");

                break;

            case EVENTS.FLIGHTPLAN_DEACTIVATED:
                logger.LogInformation("Flight plan deactivated");
                break;

            case EVENTS.CRASHED:
                logger.LogInformation("Crashed");
                Crashed?.Invoke(this, new EventArgs());
                break;

            case EVENTS.CRASH_RESET:
                logger.LogInformation("Crash reset");
                CrashReset?.Invoke(this, new EventArgs());
                break;

            case EVENTS.POSITION_CHANGED:
                logger.LogInformation("Position changed");
                break;

            case EVENTS.SCREENSHOT:
                logger.LogInformation("Screenshot");

                break;
            }
        }
예제 #3
0
        private void _WebControl_Crashed(object sender, CrashedEventArgs e)
        {
            if ((WebCore.IsShuttingDown) || (!WebCore.IsInitialized))
            {
                return;
            }

            Crashed?.Invoke(this, new BrowserCrashedArgs());
        }
예제 #4
0
 private void Start()
 {
     try
     {
         OnStart();
         Finished.Raise();
     }
     catch (Exception e)
     {
         Crashed.Raise(e);
     }
 }
예제 #5
0
    private void OnTriggerStay(Collider other)
    {
        if (!CheckCollisionTrigger(other.gameObject.layer))
        {
            return;
        }
        var damageTaker = other.GetComponent <IDamageTaker>();

        if (damageTaker == null)
        {
            return;
        }

        damageTaker.TakeDamage(Damage);

        Crashed?.Invoke(this);
    }
예제 #6
0
        //event function
        public void Crash(double distance, TimeSpan time, double place)
        {
            string?model = this is Porsche ? ((Porsche)this).Model.ToString().Replace("_", " ") : null;

            model ??= this is Lamborghini ? ((Lamborghini)this).Model.ToString().Replace("_", " ") : null;
            model ??= this is Bugatti ? ((Bugatti)this).Model.ToString().Replace("_", " ") : null;

            TestDrive(distance, out double averageSpeed, out double fuelings);
            double traveld = averageSpeed * (time.TotalSeconds / 3600.0);

            if (Math.Abs(traveld - place) < 10)
            {
                Crashed?.Invoke($"{model} with car number {RegistrPlate} crashed :(");
            }
            else
            {
                Survived?.Invoke($"{model} with car number {RegistrPlate} did not have an accident and survived!");
            }
        }
예제 #7
0
        internal override void OnMessage(string method, JsonElement?serverParams)
        {
            switch (method)
            {
            case "close":
                Closed?.Invoke(this, EventArgs.Empty);
                break;

            case "crash":
                Crashed?.Invoke(this, EventArgs.Empty);
                break;

            case "domcontentloaded":
                DOMContentLoaded?.Invoke(this, EventArgs.Empty);
                break;

            case "load":
                Load?.Invoke(this, EventArgs.Empty);
                break;

            case "bindingCall":
                BindingCall?.Invoke(
                    this,
                    new BindingCallEventArgs
                {
                    BidingCall = serverParams?.GetProperty("binding").ToObject <BindingCallChannel>(Connection.GetDefaultJsonSerializerOptions()).Object,
                });
                break;

            case "route":
                Route?.Invoke(
                    this,
                    new RouteEventArgs
                {
                    Route   = serverParams?.GetProperty("route").ToObject <RouteChannel>(Connection.GetDefaultJsonSerializerOptions()).Object,
                    Request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.GetDefaultJsonSerializerOptions()).Object,
                });
                break;

            case "popup":
                Popup?.Invoke(this, new PageChannelPopupEventArgs
                {
                    Page = serverParams?.GetProperty("page").ToObject <PageChannel>(Connection.GetDefaultJsonSerializerOptions()).Object,
                });
                break;

            case "pageError":
                PageError?.Invoke(this, serverParams?.GetProperty("error").GetProperty("error").ToObject <PageErrorEventArgs>(Connection.GetDefaultJsonSerializerOptions()));
                break;

            case "fileChooser":
                FileChooser?.Invoke(this, serverParams?.ToObject <FileChooserChannelEventArgs>(Connection.GetDefaultJsonSerializerOptions()));
                break;

            case "frameAttached":
                FrameAttached?.Invoke(this, new FrameEventArgs(serverParams?.GetProperty("frame").ToObject <FrameChannel>(Connection.GetDefaultJsonSerializerOptions()).Object));
                break;

            case "frameDetached":
                FrameDetached?.Invoke(this, new FrameEventArgs(serverParams?.GetProperty("frame").ToObject <FrameChannel>(Connection.GetDefaultJsonSerializerOptions()).Object));
                break;

            case "dialog":
                Dialog?.Invoke(this, new DialogEventArgs(serverParams?.GetProperty("dialog").ToObject <DialogChannel>(Connection.GetDefaultJsonSerializerOptions()).Object));
                break;

            case "console":
                Console?.Invoke(this, new ConsoleEventArgs(serverParams?.GetProperty("message").ToObject <ConsoleMessage>(Connection.GetDefaultJsonSerializerOptions())));
                break;

            case "request":
                Request?.Invoke(this, new RequestEventArgs {
                    Request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.GetDefaultJsonSerializerOptions()).Object
                });
                break;

            case "requestFinished":
                RequestFinished?.Invoke(this, new RequestEventArgs {
                    Request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.GetDefaultJsonSerializerOptions()).Object
                });
                break;

            case "requestFailed":
                RequestFailed?.Invoke(this, serverParams?.ToObject <PageChannelRequestFailedEventArgs>(Connection.GetDefaultJsonSerializerOptions()));
                break;

            case "response":
                Response?.Invoke(this, new ResponseEventArgs {
                    Response = serverParams?.GetProperty("response").ToObject <ResponseChannel>(Connection.GetDefaultJsonSerializerOptions()).Object
                });
                break;

            case "download":
                Download?.Invoke(this, new DownloadEventArgs()
                {
                    Download = serverParams?.GetProperty("download").ToObject <DownloadChannel>(Connection.GetDefaultJsonSerializerOptions()).Object
                });
                break;

            case "worker":
                Worker?.Invoke(
                    this,
                    new WorkerChannelEventArgs
                {
                    WorkerChannel = serverParams?.GetProperty("worker").ToObject <WorkerChannel>(Connection.GetDefaultJsonSerializerOptions()),
                });
                break;
            }
        }
예제 #8
0
        internal override void OnMessage(string method, JsonElement?serverParams)
        {
            switch (method)
            {
            case "close":
                Closed?.Invoke(this, EventArgs.Empty);
                break;

            case "crash":
                Crashed?.Invoke(this, EventArgs.Empty);
                break;

            case "domcontentloaded":
                DOMContentLoaded?.Invoke(this, EventArgs.Empty);
                break;

            case "load":
                Load?.Invoke(this, EventArgs.Empty);
                break;

            case "bindingCall":
                BindingCall?.Invoke(
                    this,
                    new() { BindingCall = serverParams?.GetProperty("binding").ToObject <BindingCallChannel>(Connection.DefaultJsonSerializerOptions).Object });
                break;

            case "route":
                var route   = serverParams?.GetProperty("route").ToObject <RouteChannel>(Connection.DefaultJsonSerializerOptions).Object;
                var request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.DefaultJsonSerializerOptions).Object;
                Route?.Invoke(
                    this,
                    new() { Route = route, Request = request });
                break;

            case "popup":
                Popup?.Invoke(this, new() { Page = serverParams?.GetProperty("page").ToObject <PageChannel>(Connection.DefaultJsonSerializerOptions).Object });
                break;

            case "pageError":
                PageError?.Invoke(this, serverParams?.GetProperty("error").GetProperty("error").ToObject <SerializedError>(Connection.DefaultJsonSerializerOptions));
                break;

            case "fileChooser":
                FileChooser?.Invoke(this, serverParams?.ToObject <FileChooserChannelEventArgs>(Connection.DefaultJsonSerializerOptions));
                break;

            case "frameAttached":
                FrameAttached?.Invoke(this, serverParams?.GetProperty("frame").ToObject <FrameChannel>(Connection.DefaultJsonSerializerOptions).Object);
                break;

            case "frameDetached":
                FrameDetached?.Invoke(this, serverParams?.GetProperty("frame").ToObject <FrameChannel>(Connection.DefaultJsonSerializerOptions).Object);
                break;

            case "dialog":
                Dialog?.Invoke(this, serverParams?.GetProperty("dialog").ToObject <DialogChannel>(Connection.DefaultJsonSerializerOptions).Object);
                break;

            case "console":
                Console?.Invoke(this, serverParams?.GetProperty("message").ToObject <ConsoleMessage>(Connection.DefaultJsonSerializerOptions));
                break;

            case "webSocket":
                WebSocket?.Invoke(this, serverParams?.GetProperty("webSocket").ToObject <WebSocketChannel>(Connection.DefaultJsonSerializerOptions).Object);
                break;

            case "download":
                Download?.Invoke(this, serverParams?.ToObject <PageDownloadEvent>(Connection.DefaultJsonSerializerOptions));
                break;

            case "video":
                Video?.Invoke(this, new() { Artifact = serverParams?.GetProperty("artifact").ToObject <ArtifactChannel>(Connection.DefaultJsonSerializerOptions).Object });
                break;

            case "worker":
                Worker?.Invoke(
                    this,
                    new() { WorkerChannel = serverParams?.GetProperty("worker").ToObject <WorkerChannel>(Connection.DefaultJsonSerializerOptions) });
                break;
            }
        }
예제 #9
0
 /// <summary>
 /// Triggers the ProcessCrashed event.
 /// </summary>
 protected virtual void OnCrashed()
 {
     Crashed?.Invoke(this, EventArgs.Empty);
 }
예제 #10
0
 protected void handleCrash()
 {
     GetParent().RemoveChild(this);
     Crashed?.Invoke();
 }
예제 #11
0
 public static void InvokeCrashed(CrashedEventArgs e)
 {
     Crashed?.Invoke(e);
 }
예제 #12
0
 void onCollided(NodeCollisionStartEventArgs e)
 {
     Crashed?.Invoke();
 }