コード例 #1
0
        public void Draw(GameTime gameTime, GraphicsDevice graphicsDevice, SpriteBatch spriteBatch, Matrix spriteScale)
        {
            // So we know the screen is rendering
            graphicsDevice.Clear(Color.Orange);
            spriteBatch.Begin();
            guiSystem.Draw(spriteBatch);
            spriteBatch.End();

            // Draw Scrollable Lists
            ChallengeSelectionList.Draw(spriteBatch);
        }
コード例 #2
0
ファイル: GUISystem.cs プロジェクト: lachjames/NorthernLights
    public override void Draw()
    {
        using (new GUILayout.AreaScope(windowRect))
        {
            using (new GUILayout.VerticalScope())
            {
                // Draw the scrollable item picker
                scroll.Draw();

                getItems.Draw();
                switchToGiveItems.Draw();
                close.Draw();
            }
        }
    }
コード例 #3
0
        public override void Draw(SpriteBatch spriteBatch, GameTime gameTime)
        {
            if (SimulationGame.IsWorldBuilderOpen)
            {
                spriteBatch.Draw(backgroundOverlay, Bounds.ToXnaRectangle(), backgroundColor);
                base.Draw(spriteBatch, gameTime);

                if (placementType != PlacementType.NoType && placementType != PlacementType.Inspect && placementType != PlacementType.WorldPartDetails)
                {
                    switch (placementMode)
                    {
                    case PlacementMode.Manage:
                        manageObjectList.Draw(spriteBatch, gameTime);

                        if (manageObjectList.SelectedElement != null)
                        {
                            editBtn.Draw(spriteBatch, gameTime);
                            createNewFromBtn.Draw(spriteBatch, gameTime);
                            removeBtn.Draw(spriteBatch, gameTime);
                        }
                        break;

                    case PlacementMode.ChooseTileset:
                        tilesetSelectionList.Draw(spriteBatch, gameTime);
                        break;

                    case PlacementMode.CreateFromTileset:
                        tileSetSelectionView.Draw(spriteBatch, gameTime);

                        if (tileSetSelectionView.SelectedSpritePosition != null)
                        {
                            createBtn.Draw(spriteBatch, gameTime);
                            createIfNotExistBtn.Draw(spriteBatch, gameTime);
                        }

                        break;
                    }

                    manageBtn.Draw(spriteBatch, gameTime);
                    createFromJsonBtn.Draw(spriteBatch, gameTime);

                    if (placementType != PlacementType.LivingEntityPlacement)
                    {
                        createFromTilesetBtn.Draw(spriteBatch, gameTime);
                    }
                }
                else if (placementType == PlacementType.WorldPartDetails)
                {
                    changePersistencyBtn.Draw(spriteBatch, gameTime);
                    createWorldLinkBtn.Draw(spriteBatch, gameTime);
                    createInteriorBtn.Draw(spriteBatch, gameTime);

                    if (SimulationGame.Player.InteriorID != Interior.Outside)
                    {
                        changeInteriorDimensionsBtn.Draw(spriteBatch, gameTime);
                        removeInteriorBtn.Draw(spriteBatch, gameTime);
                    }

                    worldPartDetailsTextView.Draw(spriteBatch, gameTime);
                }
                else if (placementType == PlacementType.Inspect)
                {
                    if (inspectView.SelectedGameObjects.Count > 0)
                    {
                        editInstanceBtn.Draw(spriteBatch, gameTime);
                        removeInstanceBtn.Draw(spriteBatch, gameTime);
                        showInstanceTypeBtn.Draw(spriteBatch, gameTime);
                        selectedObjectDetailTextView.Draw(spriteBatch, gameTime);
                    }
                    else if (inspectView.SelectedWorldLink != null)
                    {
                        editInstanceBtn.Draw(spriteBatch, gameTime);
                        removeInstanceBtn.Draw(spriteBatch, gameTime);

                        selectedObjectDetailTextView.Draw(spriteBatch, gameTime);
                    }
                }

                if ((placementMode == PlacementMode.Manage && manageObjectList.SelectedElement != null) ||
                    (placementMode == PlacementMode.CreateFromTileset && tileSetSelectionView.SelectedObject != null))
                {
                    placeView.Draw(spriteBatch, gameTime);

                    if (placeView.Bounds.Contains(SimulationGame.MouseState.Position))
                    {
                        if (SimulationGame.KeyboardState.IsKeyDown(Keys.LeftControl) || SimulationGame.KeyboardState.IsKeyDown(Keys.RightControl))
                        {
                            WorldBuilderUtils.DrawPreview(spriteBatch, SimulationGame.MouseState.Position.ToVector2(), (placementMode == PlacementMode.Manage) ? ((ObjectListItem)manageObjectList.SelectedElement).GetObject() : tileSetSelectionView.SelectedObject);
                        }
                        else
                        {
                            var isBlockSelected = false;

                            if (placementMode == PlacementMode.Manage)
                            {
                                if (((ObjectListItem)manageObjectList.SelectedElement) is BlockListItem)
                                {
                                    isBlockSelected = true;
                                }
                            }
                            else if (placementMode == PlacementMode.CreateFromTileset)
                            {
                                if (tileSetSelectionView.SelectedObject is BlockType)
                                {
                                    isBlockSelected = true;
                                }
                            }

                            if (isBlockSelected)
                            {
                                var worldBlockPosition = GeometryUtils.GetBlockFromReal((int)SimulationGame.RealWorldMousePosition.X, (int)SimulationGame.RealWorldMousePosition.Y);

                                WorldBuilderUtils.DrawPreview(spriteBatch, SimulationGame.ConvertWorldPositionToUIPosition(worldBlockPosition.X * WorldGrid.BlockSize.X, worldBlockPosition.Y * WorldGrid.BlockSize.Y), (placementMode == PlacementMode.Manage) ? ((ObjectListItem)manageObjectList.SelectedElement).GetObject() : tileSetSelectionView.SelectedObject);
                            }
                            else
                            {
                                var worldBlockPosition = GeometryUtils.GetChunkPosition((int)SimulationGame.RealWorldMousePosition.X, (int)SimulationGame.RealWorldMousePosition.Y, 16, 16);

                                WorldBuilderUtils.DrawPreview(spriteBatch, SimulationGame.ConvertWorldPositionToUIPosition(worldBlockPosition.X * 16, worldBlockPosition.Y * 16), (placementMode == PlacementMode.Manage) ? ((ObjectListItem)manageObjectList.SelectedElement).GetObject() : tileSetSelectionView.SelectedObject);
                            }
                        }
                    }
                }
                else
                {
                    inspectView.Draw(spriteBatch, gameTime);
                }
            }
        }