Example #1
0
 public override void OnAgentStay(HackGameAgent agent, HackGameBoard board, HackGameBoardElement_Node node)
 {
     if (!Empty && agent is HackGameAgent_Player)
     {
         PlayerHacking = (HackGameAgent_Player)agent;
         PlayerHacking.SetHacking(true);
         //our first time in!
         board.GetMedia().StartHackLoopSound();
         HackBackgroundTextUpdateTimer = HackBackgroundTextUpdateTimerMax;
     }
 }
        /// <summary>
        /// Load graphics content for the game.
        /// </summary>
        public override void LoadContent()
        {
            if (content == null)
                content = new ContentManager(ScreenManager.Game.Services, "Content");

            ourGame = ((Game1)(ScreenManager.Game));

            gameFont = content.Load<SpriteFont>("gamefont");

            drawing = new HackNodeGameBoardMedia(ScreenManager.Game, content);
            board = new HackGameBoard((Game1)ScreenManager.Game, this, drawing);

            //USE YOUR CURRENT WAVE TO LOAD UP A NEW MAP.

            board.LoadWave(ourGame);
            player = new HackGameAgent_Player(board);
            board.AddAgent(player);

            int maxtrails = 50;
            float maxAlpha = 0.85f;
            float minAlpha = 0.00f;
            for (int i = 0; i < maxtrails; i++)
            {
                HackGameAgent_Trail t = new HackGameAgent_Trail(board, MathHelper.Lerp(minAlpha, maxAlpha, (float)(maxtrails-i)/maxtrails), drawing.PlayerTexture);
                if (i % 2 != 0 || i < 5)
                {
                    t.SetCurrentState(HackGameAgent.HackGameAgent_State.HackGameAgent_State_Inactive);
                }
                player.AddTrail(t);
                board.AddAgent(t);
            }
            ScreenManager.Game.ResetElapsedTime();

            ourGame.LoadStopTime = DateTime.Now;
            ourGame.LoadTime = (float)(ourGame.LoadStopTime.Ticks - ourGame.LoadStartTime.Ticks) / (float)TimeSpan.TicksPerSecond;
        }
Example #3
0
 public override void OnAgentExit(HackGameAgent agent, HackGameBoard board, HackGameBoardElement_Node node)
 {
     if (agent is HackGameAgent_Player)
     {
         ((HackGameAgent_Player)(agent)).SetHacking(false);
         PlayerHacking = null;
         board.GetMedia().StopHackLoopSound();
         //reset timer
         HackTimerRemaining = HackTimerMax;
         HackBackgroundTextUpdateTimer = 0.0f;
     }
 }
Example #4
0
        public void DrawSelf(HackNodeGameBoardMedia drawing, SpriteBatch spriteBatch, GraphicsDevice GraphicsDevice, HackGameAgent_Player player)
        {
            Vector2 offset = GetCurrentOffset();

            spriteBatch.Draw(drawing.LowerUI_Shell, DrawLocation_Shell + offset, Color.White);
            //spriteBatch.Draw(drawing.LowerUI_AlertShell, DrawLocation_AlertShell + offset, Color.White);
            //spriteBatch.Draw(drawing.LowerUI_BonusShell, DrawLocation_BonusShell + offset, Color.White);

            //Draw the numbers
            spriteBatch.DrawString(drawing.LowerUI_Score_Font, scorestring.outputstring, DrawLocation_ScoreText + offset, Color.Red);

            //Draw the alert lights
            //spriteBatch.Draw(AlertLightOne_Flash.IsOn() ? drawing.LowerUI_Alert_Light_On : drawing.LowerUI_Alert_Light_Off, DrawLocation_AlertLightOne + offset, Color.White);
            //spriteBatch.Draw(AlertLightTwo_Flash.IsOn() ? drawing.LowerUI_Alert_Light_On : drawing.LowerUI_Alert_Light_Off, DrawLocation_AlertLightTwo + offset, Color.White);
            //spriteBatch.Draw(AlertLightThree_Flash.IsOn() ? drawing.LowerUI_Alert_Light_On : drawing.LowerUI_Alert_Light_Off, DrawLocation_AlertLightThree + offset, Color.White);

            //Draw the target slice
            float currentTargetCompletion = 0.0f;
            if (board != null && board.GetTargetCashToExit() > 0)
            {
                currentTargetCompletion = (float)((double)(GetScore()) / (double)(board.GetTargetCashToExit()));
            }

            Texture2D chosenTargetSprite;
            if (currentTargetCompletion >= 1.0f)
            {
                chosenTargetSprite = drawing.TargetSlice_100_Percent;
            }
            else if (currentTargetCompletion >= 0.75f)
            {
                chosenTargetSprite = drawing.TargetSlice_75_Percent;
            }
            else if (currentTargetCompletion >= 0.50f)
            {
                chosenTargetSprite = drawing.TargetSlice_50_Percent;
            }
            else if (currentTargetCompletion >= 0.25f)
            {
                chosenTargetSprite = drawing.TargetSlice_25_Percent;
            }
            else
            {
                chosenTargetSprite = drawing.TargetSlice_0_Percent;
            }

            if (chosenTargetSprite != null)
            {
                spriteBatch.Draw(chosenTargetSprite, DrawLocation_TargetSlices + offset, Color.White);
            }
        }
Example #5
0
 public void DrawSelf(HackNodeGameBoardMedia drawing, SpriteBatch spriteBatch, GraphicsDevice GraphicsDevice, HackGameAgent_Player player)
 {
     if (newlyactive)
     {
         newlyactive = false;
         active = true;
         currentTickerPos = GraphicsDevice.Viewport.Width - tickerCharWidth;
         stringDrawLength = drawing.Ticker_Font.MeasureString(currentTicker).X;
         if (!overriding && newActiveTime <= 0)
         {
             drawing.StartMessageSound();
         }
     }
     if (active)
     {
         //Draw the ticker
         spriteBatch.DrawString(drawing.Ticker_Font, currentTicker, new Vector2(currentTickerPos, drawLocationY), Color.Red);
     }
 }
Example #6
0
        public void SetInitialRandom(HackGameBoard board, HackGameAgent_Player player)
        {
            //get all "nodes"
            List<Point> allNodes = new List<Point>();
            for (int i = 0; i < board.GetGameBoardSize(); i++)
            {
                for (int k = 0; k < board.GetGameBoardSize(); k++)
                {
                    if (board.board[i, k].type == HackGameBoardElementBaseType.HackGameBoardElementBaseType_Node &&
                        board.board[i, k].GetCurrentState() == HackGameBoardElement.HackGameBoardElement_State.HackGameBoardElement_State_Active)
                    {
                        if (player.getCurrentBoardLocation() != new Point(k, i))
                        {
                            allNodes.Add(new Point(k, i));
                        }
                    }
                }
            }

            if (allNodes.Count > 0)
            {
                Point newCur = allNodes[board.r.Next(0, allNodes.Count)];
                setCurrentBoardLocation(newCur, board);
            }
            else
            {
                Kill(0);
            }
        }
Example #7
0
        public void SetToPlayerData(HackGameAgent_Player player)
        {
            SetToOtherAgentData((HackGameAgent)(player));
            //now set special zoom
            if (player.GetCurrentState() == HackGameAgent_State.HackGameAgent_State_SpawningIn)
            {
                specialZoom = player.getSpawnInZoom();
            }
            else if (player.GetCurrentState() == HackGameAgent_State.HackGameAgent_State_ExitingOut)
            {
                specialZoom = player.getExitOutZoom();
            }

            else
            {
                specialZoom = 1.0f;
            }
        }