public void SetLaserpointerEnabled(bool enabled) { if (!enabled && PointingAt != null) { PointingAt.PointerExit(this); PointingAt = null; } SetLaserVisible(enabled); _laserIsEnabled = enabled; }
private void SetNewHitTarget(ILaserPointerTarget newTarget) { var targetIsSame = (newTarget == PointingAt || IsLockedAtTarget); if (targetIsSame) { // Update position on Target if (PointingAt != null) { PointingAt.PointerUpdate(this); } return; } if (Controller.ActiveState == InteractiveController.States.PointerCapturedOnClickable) { return; } // Exit old target if (PointingAt != null && !PointingAt.Equals(null)) // Also checking with .Equals because ==Operator is not overridden from MonoBehaviour { PointingAt.PointerExit(this); } PointingAt = newTarget; UpdateStyleIfTargetChanged(); if (NewTargetEnteredEvent != null) { NewTargetEnteredEvent(this, new PointingAtChangedEventArgs(PointingAt, newTarget)); } if (newTarget != null) { newTarget.PointerEnter(this); } }
void UpdateTitle(GameTime gameTime) { elapsedMilliseconds -= gameTime.ElapsedGameTime.Milliseconds; if (toMenu) { //Runs once every time the game returns to the menu (not on every loop), use this for single functions printString.Do(this, new Vector2(65, 180), "start game", 0.1f, 35, fontSheetSprite, fontSheetTexture); printString.Do(this, new Vector2(65, 230), "options", 0.1f, 35, fontSheetSprite, fontSheetTexture); printString.Do(this, new Vector2(58, 280), "bonus content", 0.1f, 35, fontSheetSprite, fontSheetTexture); printString.Do(this, new Vector2(65, 330), "exit", 0.1f, 35, fontSheetSprite, fontSheetTexture); printString.Do(this, new Vector2(0, 0), "Hello", 0.1f, 35, fontSheetSprite, fontSheetTexture); toMenu = false; } currentKeyState = Keyboard.GetState(); if (oldKeyState == null) { oldKeyState = currentKeyState; } currentPadState = GamePad.GetState(PlayerIndex.One); if (oldPadState == null) { oldPadState = currentPadState; } if ((currentKeyState.IsKeyDown(Keys.Down))) // For navigating the Main Menu && (oldKeyState.IsKeyUp(Keys.Down) { if (pointIndex < 3) { pointIndex++; } else { pointIndex = 0; } } if ((currentKeyState.IsKeyDown(Keys.S)) && (oldKeyState.IsKeyUp(Keys.S))) // Alternate button navigation (WASD) ((Subject to change when options are up)) { if (pointIndex < 3) { pointIndex++; } else { pointIndex = 0; } } if ((currentKeyState.IsKeyDown(Keys.Up)) && (oldKeyState.IsKeyUp(Keys.Up))) // For navigating the Main Menu { if (pointIndex > 0) { pointIndex--; } else { pointIndex = 3; } } if ((currentKeyState.IsKeyDown(Keys.W)) && (oldKeyState.IsKeyUp(Keys.W))) // Alternate button navigation (WASD) ((Subject to change when options are up)) { if (pointIndex > 0) { pointIndex--; } else { pointIndex = 3; } } if (pointIndex == 0) { CurrentPoint = PointingAt.PLAY; pointerSprite.UpperLeft = new Vector2(10, 170); } if (pointIndex == 1) { CurrentPoint = PointingAt.OPTIONS; pointerSprite.UpperLeft = new Vector2(10, 220); } if (pointIndex == 2) { CurrentPoint = PointingAt.BONUS; pointerSprite.UpperLeft = new Vector2(10, 270); } if (pointIndex == 3) { CurrentPoint = PointingAt.EXIT; pointerSprite.UpperLeft = new Vector2(10, 320); } if ((currentKeyState.IsKeyDown(Keys.Enter)) && (oldKeyState.IsKeyUp(Keys.Enter))) { if (CurrentPoint == PointingAt.PLAY) { } if (CurrentPoint == PointingAt.OPTIONS) { } if (CurrentPoint == PointingAt.BONUS) { } if (CurrentPoint == PointingAt.EXIT) { Exit(); } } oldKeyState = currentKeyState; }