Esempio n. 1
0
        public override bool HandleEvent(BlzEvent evt)
        {
            if (base.HandleEvent(evt))
            {
                return true;
            }

            // Ici s'effectue la gestion d'events

            switch (evt.Type)
            {
                case EventType.KeyPressed:

                    switch (evt.Key.Code)
                    {
                        case Keyboard.Key.Escape:

                            Window.Close();

                            return true;
                    }

                    break;
            }

            return false;
        }
Esempio n. 2
0
        public override bool HandleEvent(BlzEvent evt)
        {
            if (base.HandleEvent(evt))
            {
                return true;
            }

            // Ici s'effectue la gestion d'events

            switch (evt.Type)
            {
                case EventType.KeyPressed:

                    if (Inputs.IsGameInput(InputType.Back, evt))
                        Window.Close();

                    switch (evt.Key.Code)
                    {
                        case Keyboard.Key.Space:

                            effects.Add(InitParticle());

                            return true;
                    }

                    break;
            }

            return false;
        }
Esempio n. 3
0
        public override bool HandleEvent(BlzEvent evt)
        {
            if (base.HandleEvent(evt))
            {
                return true;
            }

            // Ici s'effectue la gestion d'events

            switch (evt.Type)
            {
                case EventType.KeyPressed:

                    if (Inputs.IsGameInput(InputType.Action))
                    {
                        NextScreen = ScreenType.LoginScreen;

                        return true;
                    }

                    break;
            }

            return false;
        }
Esempio n. 4
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            if (evt.IsHandled)
            {
                return base.OnEvent(evt);
            }

            switch (evt.Type)
            {
                case EventType.MouseWheelMoved:
                    if (Parent.ContainsMouse() &&
                        Mouse.GetPosition(Root.Window).Y > Parent.Center.Y - Parent.Dimension.Y * ((1F - MouseWheelVZone) - .5f))
                    {
                        Scroll(-(Int32)(evt.MouseWheel.Delta * ScaleValue));

                        return true;
                    }

                    break;

                case EventType.MouseButtonPressed:
                    if (evt.MouseButton.Button == Mouse.Button.Left &&
                        ScrollCursor.ContainsMouse())
                    {
                        IsDragged = true;
                        DraggingPoint = Mouse.GetPosition(Root.Window).X - ScrollCursor.Position.X;

                        return true;
                    }

                    break;

                case EventType.MouseButtonReleased:
                    if (IsDragged && evt.MouseButton.Button == Mouse.Button.Left)
                    {
                        IsDragged = false;

                        return true;
                    }

                    break;

                case EventType.MouseMoved:
                    if (IsDragged)
                    {
                        Scroll(-CursorPosition + (Int32)(evt.MouseMove.X - DraggingPoint - Position.X));

                        return true;
                    }

                    break;
            }

            return base.OnEvent(evt);
        }
Esempio n. 5
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            switch (evt.Type)
            {
                case EventType.MouseButtonPressed:

                    if (evt.MouseButton.Button != Mouse.Button.Left)
                        break;

                    if (!IsActive)
                        break;

                    Reduce();

                    return true;

                case EventType.MouseButtonReleased:

                    if (evt.MouseButton.Button != Mouse.Button.Left)
                        break;

                    if (!IsActive)
                        break;

                    Reduce();

                    return true;

                case EventType.KeyPressed:

                    switch (evt.Key.Code)
                    {
                        case Keyboard.Key.Escape:

                            if (!IsActive)
                                break;

                            Reduce();

                            return true;
                    }

                    break;
            }

            return base.OnEvent(evt);
        }
Esempio n. 6
0
        public override bool HandleEvent(BlzEvent evt)
        {
            if (base.HandleEvent(evt))
                return true;

            switch (evt.Type)
            {
                case SFML.Window.EventType.KeyPressed:

                    if (Inputs.IsGameInput(InputType.Back, evt))
                    {
                        Window.Close();
                        NextScreen = ScreenType.GameScreen;
                        return true;
                    }

                    break;
            }

            return false;
        }
Esempio n. 7
0
        public Boolean HandleEvent(BlzEvent evt)
        {
            if (Gui.HandleEvent(evt))
            {
                return true;
            }

            if (evt.IsHandled)
            {
                return true;
            }

            // Ici s'effectue la gestion d'events
            switch (evt.Type)
            {
                case EventType.KeyPressed:

                    if (evt.Key.Code == Keyboard.Key.Escape)
                    {
                        Window.Close();
                        return true;
                    }

                    break;

                case EventType.Resized:

                    Gui.Dimension = new Vector2f((float)Window.Width, (float)Window.Height);
                    GuiView.Reset(new SFML.Graphics.FloatRect(0F, 0F, (float)Window.Width, (float)Window.Height));
                    GuiView.Viewport = new SFML.Graphics.FloatRect(0F, 0F, 1F, 1F);

                    break;
            }

            return false;
        }
Esempio n. 8
0
        public Boolean UpdateState(BlzEvent evt)
        {
            foreach (GameInput gameInput in GameInputs.Values)
                if (gameInput.UpdateState(evt))
                    return true;

            return false;
        }
Esempio n. 9
0
            public bool IsActive(BlzEvent evt, bool releaseMode, double delay, bool resetTimer, bool handleEvent, bool checkEventIsHandled)
            {
                if (!Keys.Contains(evt.Key.Code))
                    return false;

                if (evt.Type != EventType.KeyPressed)
                {
                    if (evt.Type != EventType.KeyReleased)
                        return false;

                    return true;
                }

                if (releaseMode &&
                    !WasReleased)
                    return false;

                if (checkEventIsHandled && EventIsHandled)
                    return false;

                if (!Timer.IsDelayCompleted(delay, resetTimer))
                    return false;

                if (handleEvent)
                {
                    EventIsHandled = true;
                    WasReleased = false;
                    //EventWasReleased = false;
                }

                return true;
            }
Esempio n. 10
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            if (evt.IsHandled)
            {
                if (!BackgroundContainsMouse(ClickOffset))
                    State = EState.Normal;

                return base.OnEvent(evt);
            }

            switch (evt.Type)
            {
                case EventType.MouseMoved:

                    if (BackgroundContainsMouse(ClickOffset))
                    {
                        State = EState.MouseOver;

                        return true;
                    }
                    else
                        State = EState.Normal;

                    break;

                case EventType.MouseButtonReleased:

                    if (!BackgroundContainsMouse(ClickOffset))
                        break;

                    return CallClicked(new MouseButtonEventArgs(evt.MouseButton));

                case EventType.MouseButtonPressed:
                    if (evt.MouseButton.Button == Mouse.Button.Left)
                        if (BackgroundContainsMouse(ClickOffset))
                            return true;

                    break;

                case SFML.Window.EventType.KeyPressed:

                    if (!ShortCutMode)
                        break;

                    if (evt.Key.Code == ShortCutKey)
                    {
                        CallShortCut();

                        return true;
                    }

                    break;
            }

            return base.OnEvent(evt);
        }
Esempio n. 11
0
 public static bool IsGameInput(InputType type, BlzEvent evt, bool releaseMode = false, double delay = DEFAULT_INPUT_DELAY, bool handle = true, bool checkIsHandled = true)
 {
     return Instance.GameInputs[type].IsActive(evt, releaseMode, delay, true, handle, checkIsHandled);
 }
Esempio n. 12
0
        public void Run(Time dt)
        {
            Window.SetView(GuiView);

            Gui.Update(dt);
            Gui.Draw(Window);

            while (WindowEvents.EventHappened())
            {
                BlzEvent evt = new BlzEvent(WindowEvents.GetEvent());

                GameScoring.EventCount++;

                if (HandleEvent(evt))
                {
                    GameScoring.EventHandled++;
                }
            }
        }
Esempio n. 13
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            if (evt.IsHandled)
                return base.OnEvent(evt);

            switch (evt.Type)
            {
                case EventType.MouseButtonPressed:

                    if (!BackgroundContainsMouse())
                        break;

                    if (evt.MouseButton.Button != Mouse.Button.Right)
                        return true;

                    if (Mode != EMode.Scroll)
                        break;

                    if (!PictureSizeIsValid)
                        break;

                    if (!BackgroundContainsMouse())
                        break;

                    InitDrag(GetLocalFromGlobal(new Vector2f(evt.MouseButton.X, evt.MouseButton.Y)));

                    return true;

                case EventType.MouseButtonReleased:

                    if (!BackgroundContainsMouse())
                        break;

                    if (evt.MouseButton.Button != Mouse.Button.Right)
                        return CallScreenClicked(new MouseButtonEventArgs(evt.MouseButton));

                    if (Mode != EMode.Scroll)
                        return CallScreenClicked(new MouseButtonEventArgs(evt.MouseButton));

                    EndDrag();

                    return true;

                case EventType.MouseMoved:

                    if (Mode != EMode.Scroll)
                        break;

                    if (!DragIsActive)
                        break;

                    if (!BackgroundContainsMouse())
                    {
                        EndDrag();
                        break;
                    }

                    Drag(GetLocalFromGlobal(new Vector2f(evt.MouseMove.X, evt.MouseMove.Y)));

                    return true;
            }

            return base.OnEvent(evt);
        }
Esempio n. 14
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            if (evt.IsHandled)
                return base.OnEvent(evt);

            switch (evt.Type)
            {
                case EventType.MouseButtonPressed:

                    if (evt.MouseButton.Button != Mouse.Button.Right)
                        break;

                    if (!Selector.HolderContains())
                        break;

                    ClearSelection();

                    return true;

                case EventType.KeyPressed:

                    switch (evt.Key.Code)
                    {
                        case Keyboard.Key.A:

                            if (!Keyboard.IsKeyPressed(Keyboard.Key.LControl))
                                break;

                            if (SelectedObjects.Count > 0)
                                ClearSelection();
                            else
                                AddAllObjectToSelection();

                            return true;

                        case Keyboard.Key.Delete:

                            if (SelectedObjects.Count == 0)
                                break;

                            RemoveSelectedObjectsFromMap();

                            return true;
                    }

                    break;
            }

            return base.OnEvent(evt);
        }
Esempio n. 15
0
        public override bool OnPredominantEvent(BlzEvent evt)
        {
            switch (evt.Type)
            {
                case SFML.Window.EventType.KeyPressed:

                    if (!TextBox.IsActive)
                        break;

                    switch (evt.Key.Code)
                    {
                        case SFML.Window.Keyboard.Key.Up:

                            Up();

                            return true;

                        case SFML.Window.Keyboard.Key.Down:

                            Down();

                            return true;
                    }

                    break;
            }

            return base.OnPredominantEvent(evt);
        }
Esempio n. 16
0
 public BlazeraProgramOnEventEventArgs(BlzEvent evt)
 {
     Event = evt;
 }
Esempio n. 17
0
        public override bool OnEvent(BlzEvent evt)
        {
            switch (evt.Type)
            {
                case EventType.KeyPressed:

                    if (Inputs.IsGameInput(InputType.Back, evt, false, Inputs.DEFAULT_INPUT_DELAY, false))
                    {
                        CallOnCancellation();
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Action, evt, true))
                        CallOnValidation();

                    if (Inputs.IsGameInput(InputType.Action2, evt))
                    {
                        if (Combat.State == Combat.EState.Placement)
                            Combat.ChangeState(Combat.EState.Starting);
                    }

                    if (Inputs.IsGameInput(InputType.Special0, evt, true))
                        Combat.Map.SwitchGridVisibility();

                    if (Inputs.IsGameInput(InputType.Special1, evt, true))
                        Combat.Map.SwitchObjectAlphaMode();

                    return true;
            }

            return base.OnEvent(evt);
        }
Esempio n. 18
0
 bool CallOnEvent(BlzEvent evt)
 {
     if (OnEvent == null) return false; OnEvent(this, new BlazeraProgramOnEventEventArgs(evt)); return true;
 }
Esempio n. 19
0
        /// <summary>
        /// Starts the program and its main loop
        /// </summary>
        public void Launch()
        {
            IsRunning = true;

            CallOnLaunching();

            Gui.Init();

            GameTime.Instance.Init();

            while (IsRunning)
            {
                Window.DispatchEvents();
                Window.Clear();

                CallOnRunning();

                Gui.Update(GameTime.Dt);
                Gui.Draw(Window);

                while (WindowEvents.EventHappened())
                {
                    BlzEvent evt = new BlzEvent(WindowEvents.GetEvent());

                    if (evt.Type == EventType.KeyPressed || evt.Type == EventType.KeyReleased)
                        Inputs.Instance.UpdateState(evt);

                    if (!Gui.HandleEvent(evt))
                    {
                        CallOnEvent(evt);
                    }
                }

                Window.Display();

                IsRunning = Window.IsOpened();
            }

            CallOnClosing();
        }
Esempio n. 20
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            if (HandlePlayerEvent(evt))
                return true;

            if (evt.IsHandled)
                return base.OnEvent(evt);

            switch (evt.Type)
            {
                case EventType.MouseButtonPressed:

                    if (evt.MouseButton.Button != Mouse.Button.Left)
                        break;

                    if (!MapContainsMouse())
                        break;

                    if (MapClicked == null)
                        break;

                    MouseButtonEvent e = new MouseButtonEvent();
                    Vector2f ePoint = GetMapLocalFromGlobal(new Vector2f(evt.MouseButton.X, evt.MouseButton.Y));
                    e.X = (Int32)ePoint.X;
                    e.Y = (Int32)ePoint.Y;

                    MapClicked(this, new MouseButtonEventArgs(e));

                    return true;
            }

            return base.OnEvent(evt);
        }
Esempio n. 21
0
            public Boolean UpdateState(BlzEvent evt)
            {
                EventIsHandled = false;

                if (evt.Type == EventType.KeyPressed &&
                    Keys.Contains(evt.Key.Code))
                {
                    if (IsDown)
                        WasReleased = false;

                    IsDown = true;

                    return true;
                }

                if (evt.Type != EventType.KeyReleased ||
                    !Keys.Contains(evt.Key.Code))
                    return false;

                IsDown = false;
                WasReleased = true;

                return true;
            }
Esempio n. 22
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            switch (evt.Type)
            {
                case SFML.Window.EventType.KeyReleased:

                    if (!ShortCutMode)
                        break;

                    if (evt.Key.Code == ShortCutKey)
                    {
                        CallShortCut();

                        return true;
                    }

                    break;
            }

            return base.OnEvent(evt);
        }
Esempio n. 23
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            if (Holder == null)
                return base.OnEvent(evt);

            if (evt.IsHandled)
                return base.OnEvent(evt);

            switch (evt.Type)
            {
                case EventType.MouseButtonPressed:

                    if (evt.MouseButton.Button != Mouse.Button.Left)
                        break;

                    if (!HolderContains())
                        break;

                    InitSelection(Holder.GetLocalFromGlobal(new Vector2f(evt.MouseButton.X, evt.MouseButton.Y)));

                    return true;

                case EventType.MouseButtonReleased:

                    if (evt.MouseButton.Button != Mouse.Button.Left)
                        break;

                    if (!IsActive)
                        break;

                    EndSelection(Holder.GetLocalFromGlobal(new Vector2f(evt.MouseButton.X, evt.MouseButton.Y)));

                    return true;

                case EventType.MouseMoved:

                    if (!IsActive)
                        break;

                    MoveCurrentPointTo(Holder.GetLocalFromGlobal(new Vector2f(evt.MouseMove.X, evt.MouseMove.Y)));

                    return true;

                case EventType.LostFocus:
                case EventType.MouseLeft:

                    if (!IsActive)
                        break;

                    EndSelection(Holder.GetLocalFromGlobal(CurrentPoint));

                    return true;

                case EventType.KeyPressed:

                    if (!MoveIsEnabled)
                        break;

                    switch (evt.Key.Code)
                    {
                        case Keyboard.Key.Left:

                            MoveSelection(new Vector2f(-MoveOffset, 0F));

                            return true;

                        case Keyboard.Key.Up:

                            MoveSelection(new Vector2f(0F, -MoveOffset));

                            return true;

                        case Keyboard.Key.Right:

                            MoveSelection(new Vector2f(MoveOffset, 0F));

                            return true;

                        case Keyboard.Key.Down:

                            MoveSelection(new Vector2f(0F, MoveOffset));

                            return true;
                    }

                    break;

            }

            return base.OnEvent(evt);
        }
Esempio n. 24
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            switch (evt.Type)
            {
                case EventType.KeyPressed:
                    /*
                    if (Alignment == BlazeraLib.Alignment.Vertical)
                    {
                        if (Inputs.IsGameInput(DEFAULT_VERTICAL_MENU_DOWN_INPUT_TYPE, evt, SWITCHING_RELASED_MODE, SWITCHING_DEFAULT_DELAY))
                        {
                            Down();
                            return true;
                        }

                        if (Inputs.IsGameInput(DEFAULT_VERTICAL_MENU_UP_INPUT_TYPE, evt, SWITCHING_RELASED_MODE, SWITCHING_DEFAULT_DELAY))
                        {
                            Up();
                            return true;
                        }
                    }
                    else
                    {
                        if (Inputs.IsGameInput(DEFAULT_HORIZONTAL_MENU_RIGHT_INPUT_TYPE, evt, SWITCHING_RELASED_MODE, SWITCHING_DEFAULT_DELAY))
                        {
                            Down();
                            return true;
                        }

                        if (Inputs.IsGameInput(DEFAULT_HORIZONTAL_MENU_LEFT_INPUT_TYPE, evt, SWITCHING_RELASED_MODE, SWITCHING_DEFAULT_DELAY))
                        {
                            Up();
                            return true;
                        }
                    }
                    */
                    if (Inputs.IsGameInput(DEFAULT_VALIDATION_INPUT_TYPE, evt, true))
                    {
                        GetCurrentItem().CallValidated();
                        return true;
                    }

                    if (Inputs.IsGameInput(DEFAULT_CANCELLATION_INPUT_TYPE, evt) && Closable)
                    {
                        Close();
                        return true;
                    }

                    return true;
            }

            return base.OnEvent(evt);
        }
Esempio n. 25
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            if (evt.IsHandled)
            {
                return base.OnEvent(evt);
            }

            if (evt.Type == EventType.MouseButtonPressed)
            {
                if (Contains(Mouse.GetPosition(Root.Window).X,
                                  Mouse.GetPosition(Root.Window).Y))
                {
                    IsActive = true;

                    return true;
                }
                else
                {
                    if (IsActive)
                    {
                        IsActive = false;

                        return true;
                    }
                }
            }

            if (evt.Type == EventType.KeyPressed && IsActive)
            {
                if (evt.Key.Code == Keyboard.Key.Back)
                {
                    RemoveLast();

                    BackHappened = true;

                    return true;
                }

                if (evt.Key.Code == Keyboard.Key.Escape || evt.Key.Code == Keyboard.Key.Return)
                {
                    IsActive = false;

                    return true;
                }

                if (evt.Key.Code == Keyboard.Key.Delete)
                {
                    Reset();

                    return true;
                }
            }

            if (evt.Type == EventType.TextEntered && IsActive)
            {
                if (!BackHappened &&
                    Add((char)evt.Text.Unicode))
                    return true;
            }

            return base.OnEvent(evt);
        }
Esempio n. 26
0
        public override Boolean HandleEvent(BlzEvent evt)
        {
            if (evt.Type == EventType.KeyPressed || evt.Type == EventType.KeyReleased)
                Inputs.Instance.UpdateState(evt);

            return base.HandleEvent(evt);
        }
Esempio n. 27
0
        public override bool OnEvent(BlzEvent evt)
        {
            if (evt.IsHandled)
                return base.OnEvent(evt);

            switch (evt.Type)
            {
                case EventType.KeyPressed:

                    switch (evt.Key.Code)
                    {
                        case Keyboard.Key.Down:

                            if (CursorMode && !Down())
                                break;

                            return true;

                        case Keyboard.Key.Up:

                            if (CursorMode && !Up())
                                break;

                            return true;
                    }

                    break;
            }

            return base.OnEvent(evt);
        }
Esempio n. 28
0
        Boolean HandlePlayerEvent(BlzEvent evt)
        {
            if (!MapIsUpdated)
                return false;

            switch (evt.Type)
            {
                #region player moves
                case EventType.KeyPressed:

                    if (Keyboard.IsKeyPressed(Keyboard.Key.LControl))
                        break;

                    if (Inputs.IsGameInput(InputType.Misc, evt))
                    {
                        MainPlayer.SetRunning();
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Up, evt))
                    {
                        MainPlayer.EnableDirection(Direction.N);
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Right, evt))
                    {
                        MainPlayer.EnableDirection(Direction.E);
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Down, evt))
                    {
                        MainPlayer.EnableDirection(Direction.S);
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Left, evt))
                    {
                        MainPlayer.EnableDirection(Direction.O);
                        return true;
                    }

                    break;

                case EventType.KeyReleased:

                    if (Inputs.IsGameInput(InputType.Misc, evt))
                    {
                        MainPlayer.SetRunning(false);
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Up, evt))
                    {
                        MainPlayer.DisableDirection(Direction.N);
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Right, evt))
                    {
                        MainPlayer.DisableDirection(Direction.E);
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Down, evt))
                    {
                        MainPlayer.DisableDirection(Direction.S);
                        return true;
                    }

                    if (Inputs.IsGameInput(InputType.Left, evt))
                    {
                        MainPlayer.DisableDirection(Direction.O);
                        return true;
                    }

                    break;
                #endregion
            }

            return false;
        }
Esempio n. 29
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            switch (evt.Type)
            {
                case EventType.KeyPressed:

                    if (!ActionKeyPlayingMode)
                        break;

                    if (!IsPlaying)
                        break;

                    if (!Inputs.IsGameInput(InputType.Action, evt, true))
                        break;

                    if (!MessageIsCompleted)
                        break;

                    NextMessage();

                    return true;
            }

            return base.OnEvent(evt);
        }
Esempio n. 30
0
        public override Boolean OnEvent(BlzEvent evt)
        {
            if (evt.IsHandled)
            {
                End();

                ShowCursor(false);

                return base.OnEvent(evt);
            }

            switch (evt.Type)
            {
                case EventType.MouseButtonPressed:

                    if (evt.MouseButton.Button == Mouse.Button.Right)
                    {
                        Empty();

                        if (!MapBox.MapContainsMouse())
                            break;

                        return true;
                    }

                    if (evt.MouseButton.Button != Mouse.Button.Left)
                        break;

                    if (!MapBox.MapContainsMouse())
                        break;

                    Init();

                    Vector2f clickPaintPoint = GetLocalMouseCenter();
                    if (!CanPaint(clickPaintPoint))
                        break;

                    return Paint(clickPaintPoint);

                case EventType.MouseButtonReleased:

                    if (evt.MouseButton.Button != Mouse.Button.Left)
                        break;

                    End();

                    if (!MapBox.MapContainsMouse())
                        break;

                    return true;

                case EventType.MouseMoved:

                    if (!MapBox.MapContainsMouse())
                    {
                        ShowCursor(false);
                        break;
                    }

                    Vector2f movePaintPoint = GetLocalMouseCenter();
                    Boolean canPaint = CanPaint(movePaintPoint);

                    ShowCursor();

                    SetCursorEnability(canPaint);

                    if (!IsPainting)
                        break;

                    if (!canPaint)
                        break;

                    return Paint(movePaintPoint);

                case EventType.KeyPressed:

                    switch (evt.Key.Code)
                    {
                        case Keyboard.Key.P:

                            Mode = EMode.Pot;

                            return true;
                    }

                    break;

                case EventType.KeyReleased:

                    switch (evt.Key.Code)
                    {
                        case Keyboard.Key.P:

                            Mode = EMode.Normal;

                            return true;
                    }

                    break;
            }

            return base.OnEvent(evt);
        }