Esempio n. 1
0
        public GuiHud(Player player)
        {
            this.player = player;
            this.bounds = new Rectangle(0, 0, 1280, 720);
            this.active = true;

            Game1.defaultPriorityGui = this;
        }
Esempio n. 2
0
        public GuiWidgetItemSlot createInventorySlot(Rectangle setBounds, Tuple<WidgetType, int> id, ItemRestriction type, Color[] colors, Player player)
        {
            GuiWidgetItemSlot widget;
            widget = new GuiWidgetItemSlot(setBounds, id, type, colors, player);

            widgets.Add(widget);
            return widget;
        }
Esempio n. 3
0
        public GuiWidgetItemSlot(Rectangle setBounds, Tuple<WidgetType, int> id, ItemRestriction restriction, Color[] colors, Player player)
        {
            this.id = id;
            bounds = setBounds;

            this.restriction = restriction;

            this.colors = colors;

            this.player = player;
        }
Esempio n. 4
0
        private void ResolveActors()
        {
            for (int i = 0; i < actors.Length; i++)
            {   //Resolve actors to their own lists.
                if (actors[i] is Player)
                {
                    Player castPlayer = (Player)actors[i];
                    this.player = castPlayer;
                }

                if (actors[i] is Enemy)
                {
                    Enemy castEnemy = (Enemy)actors[i];
                    this.enemies.Add(castEnemy);
                }

                if (actors[i] is Npc)
                {
                    Npc castNpc = (Npc)actors[i];
                    npcs.Add(castNpc);
                }
            }
        }
Esempio n. 5
0
        public static Player CreatePlayer(Vector2 position, int layer)
        {
            Player p = new Player(Vector2.Zero, 1);
            p.Initialize();
            //Rectangle finalCamera = new Rectangle((int)position.X - cameraRect.Width / 2, (int)position.Y - cameraRect.Height / 2, cameraRect.Width, cameraRect.Height);

            World.entityLivings.Insert(0, p);
            World.camera.FocusTarget = p;
            //camera.Move(position);
            p.position = position;
            return p;
        }
Esempio n. 6
0
        public void LoadWorldFromFile(string mapFilePath, bool playerDefaultPos = true)
        {
            tiles.Clear();
            entityLivings.Clear();
            itemEntities.Clear();

            player = Player.CreatePlayer(new Vector2(0, 0), 1);

            string[] data = Utilities.ReadFile(mapFilePath, "<data>");
            
            int numberTiles = Int32.Parse(data[0]), 
                numberEntities = Int32.Parse(data[1]);

            for (int i = 0; i < numberTiles; i++)
            {
                string[] tileData = Utilities.ReadFile(mapFilePath, "<tile" + (i + 1) + ">");
                string type = tileData[0];

                switch (type)
                {
                    case "static":
                        {
                            Rectangle bounds = Utilities.CreateRectangleFromStrings(tileData[1].Split(','));
                            string texName = tileData[2];
                            int createLayer = Int32.Parse(tileData[3]);
                            string rawisWall = tileData[4];
                            bool isWall = rawisWall == "true" ? true : false;
                            TileStatic.CreateTileStatic(bounds, texName, createLayer, isWall, ParseDirections.ParseStringToDirections(tileData[5]));

                            break;
                        }
                    case "trigger":
                        {
                            string triggerType = tileData[1];

                            string[] bounds = tileData[2].Split(',');

                            switch (triggerType)
                            {
                                case "dialogue":
                                    {
                                        string rawtriggerOnce = tileData[3];
                                        bool triggerOnce = rawtriggerOnce == "true" ? true : false;

                                        string dialogueKey = tileData[4];

                                        TileTrigger.CreateTileTriggerDialogue(Utilities.CreateRectangleFromStrings(bounds), triggerOnce, dialogueKey);
                                        break;
                                    }
                                case "damage":
                                    {
                                        TileTrigger.CreateTileTriggerDamageBox(Utilities.CreateRectangleFromStrings(bounds), false, 0); //todo implement damage tile trigger
                                        break;
                                    }
                                case "kill":
                                    {
                                        TileTrigger.CreateTileTriggerKillBox(Utilities.CreateRectangleFromStrings(bounds), false);
                                        break;
                                    }
                            }
                            break;
                        }
                }
            }

            for (int i = 0; i < numberEntities; i++ )
            {
                string[] entityData = Utilities.ReadFile(mapFilePath, "<entity" + (i + 1) + ">");

                string type = entityData[0];

                int id = Int32.Parse(entityData[1]);

                Vector2 pos = Utilities.CreateVector2FromStrings(entityData[2].Split(','));
                int layer = Int32.Parse(entityData[3]);
                switch(type)
                {
                    case "enemy":
                        {
                            Enemy.CreateEnemy(pos, layer, id);
                            break;
                        }
                    case "item":
                        {
                            //ItemEntity.CreateItemEntity(pos, )
                            break;
                        }
                }
            }
        }
Esempio n. 7
0
        public void Load()
        {
            Player data = JsonConvert.DeserializeObject<Player>(File.ReadAllText("player.json"));

            player = data;
            player.Initialize();
            //LoadWorldFromFile(player.location, false);
        }
Esempio n. 8
0
        public void LoadWorld(int id)
        {
            Logger.Log("Loading world id " + id, true);

            //Clear ALL enemies/projectiles/tiles/etc
            entityLivings.Clear();
            tiles.Clear();

            if (id == 0)
            {
                player = Player.CreatePlayer(new Vector2(0, 0), 1);

                TileStatic.CreateTileStatic(new Rectangle(0, 0, 512, 512), Assets.tile_grass1, 0);
                TileStatic.CreateTileStatic(new Rectangle(512, 0, 64, 512), Assets.tile_rockwall, 4, true, Directions.West);
                TileStatic.CreateTileStatic(new Rectangle(0, 512, 512, 64), Assets.tile_rockwall, 4, true, Directions.North);
                TileStatic.CreateTileStatic(new Rectangle(512, 512, 64, 64), Assets.tile_rockwall, 4, true, Directions.NorthWest);
                //TileTrigger.CreateTileTrigger(new Rectangle(64, 0, 64, 64), true, 5, "<intro_3>");
                TileTrigger.CreateTileTriggerDialogue(new Rectangle(64, 0, 64, 64), false, "<default>");
                TileTrigger.CreateTileTriggerKillBox(new Rectangle(128, 0, 64, 64), false);

                ItemEntity.CreateItemEntity(new Vector2(576 + 64, 576), Vector2.Zero, ItemStack.CreateItemStack(ItemWeapon.CreateItemWeapon(0), 1), 1);
                ItemEntity.CreateItemEntity(new Vector2(576 + 128, 576 - 36), Vector2.Zero, ItemStack.CreateItemStack(ItemWeapon.CreateItemWeapon(1), 58), 1);

                Enemy.CreateEnemy(new Vector2(576, 0), 2, 0);

                ambientColor = new Color(25, 25, 50, 100);

            }  

            if (id == 1)
            {
                player = Player.CreatePlayer(Vector2.Zero, 1);
                Enemy.CreateEnemy(new Vector2(500, 300), 1, 0);
                Enemy.CreateEnemy(new Vector2(300, 500), 1, 1);

                TileStatic.CreateTileStatic(new Rectangle(128, 128, 64, 64), "tile_grass1", 0);
                TileStatic.CreateTileStatic(new Rectangle(128, 360, 128, 64), "tile_grass1", 0);
            }
            drawnTileRenderTarget = false;
        }
Esempio n. 9
0
 public GuiInventory(Player player)
 {
     this.player = player;
     this.bounds = new Rectangle(0, 0, 1280, 720);
     this.active = false;
 }