diff --git a/.$architecture.drawio.png.bkp b/.$architecture.drawio.png.bkp new file mode 100644 index 0000000..c83ffee Binary files /dev/null and b/.$architecture.drawio.png.bkp differ diff --git a/.$architecture.drawio.png.dtmp b/.$architecture.drawio.png.dtmp new file mode 100644 index 0000000..d9ee756 --- /dev/null +++ b/.$architecture.drawio.png.dtmp @@ -0,0 +1,635 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.run/ZoFo.run.xml b/.run/ZoFo.run.xml new file mode 100644 index 0000000..315a66b --- /dev/null +++ b/.run/ZoFo.run.xml @@ -0,0 +1,20 @@ + + + + \ No newline at end of file diff --git a/AnimationsFileCreator/Program.cs b/AnimationsFileCreator/Program.cs index 45c6a06..4203494 100644 --- a/AnimationsFileCreator/Program.cs +++ b/AnimationsFileCreator/Program.cs @@ -1,13 +1,11 @@ -using DangerousD.GameCore.Graphics; -using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework; using Newtonsoft.Json; using System; using NativeFileDialogSharp; using System.IO; using System.Linq; using System.Reflection.Metadata; -using Zofo.GameCore.ZoFo_grafics; - +using ZoFo.GameCore.Graphics; namespace AnimationsFileCreator { class Program diff --git a/GameSettings.txt b/GameSettings.txt new file mode 100644 index 0000000..f5dcd93 --- /dev/null +++ b/GameSettings.txt @@ -0,0 +1 @@ +{"IsFullScreen":false,"MainVolume":1.0,"MusicVolume":1.0,"SoundEffectsVolume":1.0,"Resolution":{"X":1440,"Y":900}} \ No newline at end of file diff --git a/MonogameLibrary/UI/Elements/ItemDisplayLabel.cs b/MonogameLibrary/UI/Elements/ItemDisplayLabel.cs new file mode 100644 index 0000000..1e637fb --- /dev/null +++ b/MonogameLibrary/UI/Elements/ItemDisplayLabel.cs @@ -0,0 +1,79 @@ +using Microsoft.Xna.Framework.Graphics; +using MonogameLibrary.UI.Base; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using MonogameLibrary.UI.Enums; +using System; +using System.Collections.Generic; +using System.Security.Cryptography.X509Certificates; +using System.Text; +using System.Threading; +using Microsoft.Xna.Framework.Content; + +namespace MonogameLibrary.UI.Elements; + +public class ItemDisplayLabel : DrawableUIElement +{ + public int count; + public string itemTextureName; + private Texture2D itemTexture; + public Color fontColor1; + protected UIManager Manager; + public string fontName1; + public string text1; + public float scale1; + private DrawableUIElement icon; + + + public ItemDisplayLabel(UIManager manager) : base(manager) + { + Manager = manager; + } + + public void Initialize() + { + icon = new DrawableUIElement(Manager) + { + rectangle = new Rectangle(rectangle.X + rectangle.Height / 3 / 2, rectangle.Y + rectangle.Height / 3 / 2, rectangle.Height / 3 * 2, rectangle.Height / 3 * 2), + mainColor = Color.White, textureName = itemTextureName + }; + Label itemName = new Label(Manager) + { + rectangle = new Rectangle(rectangle.X + rectangle.Height / 3 / 2 + rectangle.Height / 3 * 2, rectangle.Y + rectangle.Height / 3 / 2, rectangle.Width / 3, rectangle.Height / 3 * 2), + fontColor = fontColor1, text = text1, scale = scale1, fontName = fontName1, mainColor = Color.Transparent + }; + Label itemCount = new Label(Manager) + { + rectangle = new Rectangle(rectangle.X + rectangle.Width - (int)(rectangle.Height / 3 * 2.5), rectangle.Y + rectangle.Height / 3 / 2, rectangle.Height / 3 * 2, rectangle.Height / 3 * 2), + fontColor = fontColor1, text = count.ToString(), scale = scale1, fontName = fontName1, mainColor = Color.Transparent + }; + } + + public override void LoadTexture(ContentManager content) + { + icon.LoadTexture(content); + base.LoadTexture(content); + if (itemTextureName == "") + { + itemTexture = new Texture2D(Manager.GraphicsDevice, 1, 1); + itemTexture.SetData(new Color[] { mainColor }); + } + else + { + try + { + itemTexture = content.Load(itemTextureName); + } + catch + { + itemTexture = new Texture2D(Manager.GraphicsDevice, 1, 1); + itemTexture.SetData(new Color[] { mainColor }); + } + } + } + + public override void Draw(SpriteBatch _spriteBatch) + { + base.Draw(_spriteBatch); + } +} \ No newline at end of file diff --git a/MonogameLibrary/UI/Elements/itemDisplayButton.cs b/MonogameLibrary/UI/Elements/itemDisplayButton.cs new file mode 100644 index 0000000..0a29c4f --- /dev/null +++ b/MonogameLibrary/UI/Elements/itemDisplayButton.cs @@ -0,0 +1,79 @@ +using Microsoft.Xna.Framework.Graphics; +using MonogameLibrary.UI.Base; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using MonogameLibrary.UI.Enums; +using System; +using System.Collections.Generic; +using System.Security.Cryptography.X509Certificates; +using System.Text; +using System.Threading; +using Microsoft.Xna.Framework.Content; + +namespace MonogameLibrary.UI.Elements; + +public class ItemDisplayButton : DrawableUIElement +{ + public int count; + public string itemTextureName; + private Texture2D itemTexture; + public Color fontColor1; + protected UIManager Manager; + public string fontName1; + public string text1; + public float scale1; + private DrawableUIElement icon; + + + public ItemDisplayButton(UIManager manager) : base(manager) + { + Manager = manager; + } + + public void Initialize() + { + icon = new DrawableUIElement(Manager) + { + rectangle = new Rectangle(rectangle.X + rectangle.Height / 3 / 2, rectangle.Y + rectangle.Height / 3 / 2, rectangle.Height / 3 * 2, rectangle.Height / 3 * 2), + mainColor = Color.White, textureName = itemTextureName + }; + Label itemName = new Label(Manager) + { + rectangle = new Rectangle(rectangle.X + rectangle.Height / 3 / 2 + rectangle.Height / 3 * 2, rectangle.Y + rectangle.Height / 3 / 2, rectangle.Width / 3, rectangle.Height / 3 * 2), + fontColor = fontColor1, text = text1, scale = scale1, fontName = fontName1, mainColor = Color.Transparent + }; + Label itemCount = new Label(Manager) + { + rectangle = new Rectangle(rectangle.X + rectangle.Width - (int)(rectangle.Height / 3 * 2.5), rectangle.Y + rectangle.Height / 3 / 2, rectangle.Height / 3 * 2, rectangle.Height / 3 * 2), + fontColor = fontColor1, text = count.ToString(), scale = scale1, fontName = fontName1, mainColor = Color.Transparent + }; + } + + public override void LoadTexture(ContentManager content) + { + icon.LoadTexture(content); + base.LoadTexture(content); + if (itemTextureName == "") + { + itemTexture = new Texture2D(Manager.GraphicsDevice, 1, 1); + itemTexture.SetData(new Color[] { mainColor }); + } + else + { + try + { + itemTexture = content.Load(itemTextureName); + } + catch + { + itemTexture = new Texture2D(Manager.GraphicsDevice, 1, 1); + itemTexture.SetData(new Color[] { mainColor }); + } + } + } + + public override void Draw(SpriteBatch _spriteBatch) + { + base.Draw(_spriteBatch); + } +} \ No newline at end of file diff --git a/ZoFo/Content/Content.mgcb b/ZoFo/Content/Content.mgcb index ea0d2f4..d8fde75 100644 --- a/ZoFo/Content/Content.mgcb +++ b/ZoFo/Content/Content.mgcb @@ -40,8 +40,8 @@ #begin MapData/TileMaps/main.tmx /copy:MapData/TileMaps/main.tmx -#begin MapData/TileSets/TileSet 1.tsj -/copy:MapData/TileSets/TileSet 1.tsj +#begin MapData/TileSets/CollisionTileSet.tsj +/copy:MapData/TileSets/CollisionTileSet.tsj #begin sounds/Loot.wav /importer:WavImporter @@ -73,12 +73,6 @@ /processorParam:Quality=Best /build:sounds/Tabletki 2.wav -#begin sounds/Tabletki.mp3 -/importer:Mp3Importer -/processor:SongProcessor -/processorParam:Quality=Best -/build:sounds/Tabletki.mp3 - #begin sounds/Zombi napal.wav /importer:WavImporter /processor:SoundEffectProcessor @@ -91,6 +85,21 @@ /processorParam:Quality=Best /build:sounds/Zombi stoit.wav +#begin Textures/Animations/player_idle_top_noweapon.animation +/copy:Textures/Animations/player_idle_top_noweapon.animation + +#begin Textures/Animations/player_idle_top-right_noweapon.animation +/copy:Textures/Animations/player_idle_top-right_noweapon.animation + +#begin Textures/Animations/player_running_top_rotate.animation +/copy:Textures/Animations/player_running_top_rotate.animation + +#begin Textures/Animations/running_top.animation +/copy:Textures/Animations/running_top.animation + +#begin Textures/Animations/testAnimationExample.animation +/copy:Textures/Animations/testAnimationExample.animation + #begin Textures/AnimationTextures/Character/hr-level1_idle_gun.png /importer:TextureImporter /processor:TextureProcessor @@ -259,18 +268,6 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/background/waiting.png -#begin Textures/GUI/checkboxs_off.png -/importer:TextureImporter -/processor:TextureProcessor -/processorParam:ColorKeyColor=255,0,255,255 -/processorParam:ColorKeyEnabled=True -/processorParam:GenerateMipmaps=False -/processorParam:PremultiplyAlpha=True -/processorParam:ResizeToPowerOfTwo=False -/processorParam:MakeSquare=False -/processorParam:TextureFormat=Color -/build:Textures/GUI/checkboxs_off.png - #begin Textures/GUI/checkboxs_off-on.png /importer:TextureImporter /processor:TextureProcessor @@ -283,6 +280,18 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/checkboxs_off-on.png +#begin Textures/GUI/checkboxs_off.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/GUI/checkboxs_off.png + #begin Textures/GUI/checkboxs_on.png /importer:TextureImporter /processor:TextureProcessor @@ -319,18 +328,6 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/mouse.png -#begin Textures/GUI/switch.png -/importer:TextureImporter -/processor:TextureProcessor -/processorParam:ColorKeyColor=255,0,255,255 -/processorParam:ColorKeyEnabled=True -/processorParam:GenerateMipmaps=False -/processorParam:PremultiplyAlpha=True -/processorParam:ResizeToPowerOfTwo=False -/processorParam:MakeSquare=False -/processorParam:TextureFormat=Color -/build:Textures/GUI/switch.png - #begin Textures/GUI/Switch_backgrownd.png /importer:TextureImporter /processor:TextureProcessor @@ -343,7 +340,7 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/Switch_backgrownd.png -#begin Textures/TileSetImages/TilesetFloor.png +#begin Textures/GUI/switch.png /importer:TextureImporter /processor:TextureProcessor /processorParam:ColorKeyColor=255,0,255,255 @@ -353,5 +350,245 @@ /processorParam:ResizeToPowerOfTwo=False /processorParam:MakeSquare=False /processorParam:TextureFormat=Color -/build:Textures/TileSetImages/TilesetFloor.png +/build:Textures/GUI/switch.png + +#begin Textures/icons/12.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/12.png + +#begin Textures/icons/13.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/13.png + +#begin Textures/icons/14.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/14.png + +#begin Textures/icons/21.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/21.png + +#begin Textures/icons/22.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/22.png + +#begin Textures/icons/5.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/5.png + +#begin Textures/icons/6.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/6.png + +#begin Textures/icons/7.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/7.png + +#begin Textures/icons/8.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/8.png + +#begin Textures/icons/9.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/icons/9.png + +#begin Textures/Test/pickaxe.webp +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/Test/pickaxe.webp + +#begin Textures/Test/rock.jpg +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/Test/rock.jpg + +#begin Textures/Test/steel.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/Test/steel.png + +#begin Textures/Test/wood.jpg +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/Test/wood.jpg + +#begin Textures/TileSets/Tilelist1.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/TileSets/Tilelist1.png + +#begin Textures/TileSets/Tilelist2.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/TileSets/Tilelist2.png + +#begin Textures/TileSets/Tilelist3.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/TileSets/Tilelist3.png + +#begin Textures/TileSets/Tilelist4.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/TileSets/Tilelist4.png + +#begin Textures/TileSets/TilesetFloor.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/TileSets/TilesetFloor.png + +#begin Textures/TileSets/TilesetFloor.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/TileSets/TilesetFloor.png diff --git a/ZoFo/Content/MapData/MapSession.tiled-session b/ZoFo/Content/MapData/MapSession.tiled-session index b075b59..257833b 100644 --- a/ZoFo/Content/MapData/MapSession.tiled-session +++ b/ZoFo/Content/MapData/MapSession.tiled-session @@ -3,24 +3,28 @@ "height": 4300, "width": 2 }, - "activeFile": "TileSets/TileSet 1.tsj", + "activeFile": "TileMaps/main.tmj", "expandedProjectPaths": [ - "TileMaps", ".", - "TileSets" + "TileSets", + "TileMaps" ], "fileStates": { "TileMaps/TileSets/TileSet 1.tsj": { "scaleInDock": 1 }, "TileMaps/main.tmj": { - "scale": 0.25, + "scale": 0.75, "selectedLayer": 0, "viewCenter": { - "x": 1734, - "y": 1652 + "x": 578, + "y": 482.66666666666674 } }, + "TileSets/CollisionTileSet.tsj": { + "scaleInDock": 0.75, + "scaleInEditor": 1 + }, "TileSets/TileSet 1.tsj": { "scaleInDock": 1, "scaleInEditor": 1.5 @@ -30,14 +34,24 @@ "scaleInEditor": 1 } }, + "last.imagePath": "D:/C#/Я смотрел ваши ХАКАТОНЫ/ZoFo/ZoFo/Content/Textures/TileSetImages", "openFiles": [ "TileSets/TileSet 1.tsj", - "TileSets/WallSet.tsj", - "TileMaps/main.tmj" + "TileMaps/main.tmj", + "TileSets/CollisionTileSet.tsj" ], + "project": "MapSession.tiled-project", "recentFiles": [ "TileMaps/main.tmj", - "TileSets/WallSet.tsj", - "TileSets/TileSet 1.tsj" - ] + "TileSets/TileSet 1.tsj", + "TileSets/CollisionTileSet.tsj", + "TileSets/WallSet.tsj" + ], + "tileset.lastUsedFormat": "json", + "tileset.margin": 2, + "tileset.spacing": 2, + "tileset.tileSize": { + "height": 128, + "width": 128 + } } diff --git a/ZoFo/Content/MapData/TileMaps/main.tmj b/ZoFo/Content/MapData/TileMaps/main.tmj index fa928f7..521ea7b 100644 --- a/ZoFo/Content/MapData/TileMaps/main.tmj +++ b/ZoFo/Content/MapData/TileMaps/main.tmj @@ -5,44 +5,44 @@ { "chunks":[ { - "data":[24, 50, 51, 24, 24, 24, 28, 29, 24, 24, 28, 46, 29, 24, 24, 50, - 24, 28, 46, 46, 29, 24, 50, 51, 24, 90, 25, 111, 23, 28, 29, 89, - 29, 50, 2, 2, 51, 24, 24, 28, 29, 28, 10, 3, 23, 25, 23, 89, - 23, 90, 24, 24, 24, 24, 24, 25, 23, 50, 32, 10, 32, 47, 23, 89, - 51, 24, 24, 24, 28, 29, 24, 50, 51, 24, 50, 51, 50, 2, 51, 24, - 28, 46, 29, 24, 50, 51, 24, 24, 24, 24, 28, 46, 46, 46, 29, 89, - 50, 2, 51, 24, 24, 24, 24, 28, 29, 24, 50, 2, 2, 2, 51, 89, - 24, 24, 28, 29, 24, 89, 24, 50, 32, 29, 24, 90, 24, 24, 24, 24, - 24, 89, 25, 23, 24, 90, 24, 24, 50, 51, 24, 24, 24, 24, 24, 24, - 89, 24, 25, 23, 24, 24, 24, 24, 24, 24, 24, 24, 28, 46, 29, 24, - 24, 24, 25, 23, 24, 28, 46, 29, 24, 89, 28, 29, 25, 111, 45, 29, - 24, 24, 50, 51, 89, 50, 3, 45, 29, 24, 50, 51, 50, 2, 3, 45, - 24, 90, 24, 24, 24, 24, 50, 2, 32, 29, 24, 24, 24, 24, 25, 1, - 24, 89, 24, 24, 24, 24, 89, 24, 50, 51, 24, 24, 24, 24, 50, 32, - 29, 90, 90, 24, 24, 89, 24, 24, 24, 24, 24, 24, 28, 29, 24, 50, - 32, 29, 24, 24, 90, 24, 24, 24, 24, 24, 24, 24, 25, 45, 29, 24], + "data":[28, 46, 29, 24, 24, 28, 46, 29, 24, 90, 24, 24, 50, 51, 24, 24, + 50, 2, 32, 46, 29, 50, 2, 32, 29, 24, 90, 24, 89, 24, 24, 24, + 89, 28, 10, 3, 23, 24, 24, 25, 23, 24, 24, 24, 28, 29, 89, 24, + 24, 25, 23, 50, 32, 29, 24, 25, 23, 28, 29, 24, 50, 51, 28, 29, + 24, 25, 23, 24, 50, 51, 24, 50, 51, 50, 51, 24, 24, 24, 50, 32, + 24, 25, 23, 24, 24, 89, 24, 24, 24, 24, 24, 24, 24, 24, 28, 47, + 24, 50, 32, 46, 29, 90, 24, 579, 29, 24, 89, 89, 24, 24, 25, 579, + 29, 24, 25, 114, 45, 29, 24, 25, 23, 90, 24, 24, 24, 89, 50, 51, + 51, 89, 50, 3, 115, 23, 24, 25, 23, 89, 28, 29, 24, 24, 24, 89, + 24, 24, 24, 25, 111, 23, 90, 50, 51, 24, 50, 32, 46, 29, 24, 24, + 24, 90, 24, 50, 2, 51, 28, 46, 46, 29, 24, 50, 2, 51, 24, 24, + 24, 89, 24, 24, 28, 29, 50, 2, 2, 51, 24, 90, 24, 24, 89, 24, + 46, 29, 28, 46, 10, 32, 29, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 2, 51, 50, 2, 51, 50, 51, 24, 89, 24, 24, 90, 24, 24, 89, 90, + 24, 28, 46, 29, 24, 24, 24, 24, 89, 24, 24, 24, 24, 24, 89, 24, + 29, 50, 3, 23, 24, 90, 28, 29, 24, 24, 24, 24, 24, 90, 28, 46], "height":16, "width":16, "x":0, "y":0 }, { - "data":[51, 28, 46, 29, 24, 24, 24, 24, 24, 50, 2, 51, 24, 24, 24, 24, - 24, 50, 2, 51, 28, 29, 24, 24, 24, 28, 29, 89, 24, 28, 46, 29, - 89, 24, 90, 24, 50, 32, 29, 24, 28, 10, 51, 24, 24, 25, 1, 51, - 90, 24, 24, 24, 28, 10, 51, 90, 25, 45, 46, 29, 24, 25, 23, 89, - 24, 28, 29, 28, 10, 32, 29, 28, 10, 2, 2, 51, 24, 50, 51, 24, - 24, 50, 32, 10, 51, 50, 51, 25, 45, 46, 29, 24, 24, 90, 24, 24, - 24, 24, 50, 32, 46, 29, 24, 50, 2, 2, 32, 29, 24, 24, 24, 24, - 24, 24, 24, 50, 2, 32, 29, 24, 24, 24, 50, 51, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 25, 23, 90, 24, 89, 24, 28, 29, 24, 24, 28, - 28, 46, 29, 24, 24, 50, 51, 24, 24, 24, 24, 50, 32, 29, 24, 25, - 50, 2, 51, 28, 29, 28, 46, 29, 24, 24, 89, 24, 25, 45, 46, 10, - 29, 24, 24, 50, 32, 10, 2, 51, 24, 24, 24, 24, 50, 2, 2, 51, - 51, 24, 28, 29, 50, 51, 28, 46, 29, 24, 24, 24, 24, 24, 90, 28, - 29, 24, 25, 23, 24, 24, 50, 2, 32, 29, 24, 24, 89, 24, 89, 50, - 51, 24, 50, 51, 24, 24, 24, 24, 50, 32, 29, 89, 90, 24, 24, 24, - 24, 24, 24, 24, 24, 28, 29, 24, 24, 25, 23, 24, 24, 28, 46, 29], + "data":[90, 24, 24, 24, 24, 24, 24, 24, 24, 90, 24, 89, 24, 24, 24, 24, + 28, 29, 24, 24, 24, 24, 24, 24, 90, 24, 89, 24, 24, 24, 24, 24, + 50, 51, 24, 24, 89, 24, 24, 24, 24, 24, 24, 24, 24, 28, 29, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 23, 28, + 46, 29, 24, 24, 24, 24, 24, 28, 29, 24, 24, 24, 90, 50, 32, 47, + 115, 23, 24, 24, 24, 24, 24, 25, 23, 28, 29, 24, 24, 89, 50, 3, + 3, 45, 46, 29, 24, 24, 24, 50, 51, 50, 51, 89, 24, 24, 28, 47, + 50, 2, 2, 32, 29, 24, 24, 24, 90, 24, 24, 24, 24, 24, 25, 1, + 24, 24, 24, 25, 23, 24, 24, 24, 89, 24, 24, 90, 24, 24, 50, 51, + 89, 24, 24, 25, 23, 24, 24, 24, 24, 24, 28, 29, 24, 24, 24, 90, + 24, 24, 24, 50, 32, 29, 24, 24, 28, 46, 47, 23, 24, 24, 24, 24, + 24, 24, 24, 90, 50, 51, 90, 24, 50, 3, 1, 51, 28, 29, 28, 46, + 24, 89, 28, 46, 46, 29, 24, 24, 24, 50, 51, 28, 10, 51, 50, 2, + 24, 90, 25, 1, 2, 51, 28, 46, 46, 46, 46, 10, 51, 24, 24, 24, + 24, 24, 50, 32, 29, 28, 10, 2, 2, 3, 1, 32, 29, 24, 24, 24, + 29, 24, 24, 25, 45, 47, 23, 24, 24, 50, 51, 25, 45, 29, 24, 24], "height":16, "width":16, "x":16, @@ -52,19 +52,19 @@ "data":[24, 24, 50, 51, 24, 50, 2, 51, 24, 28, 47, 1, 51, 25, 111, 45, 24, 24, 28, 29, 24, 24, 24, 28, 29, 25, 111, 23, 24, 50, 2, 2, 28, 46, 10, 51, 28, 29, 24, 25, 23, 50, 2, 51, 24, 24, 28, 29, - 50, 2, 51, 90, 50, 32, 29, 50, 32, 46, 29, 24, 24, 24, 25, 23, - 89, 24, 24, 24, 90, 50, 51, 24, 25, 114, 23, 24, 90, 24, 25, 23, - 24, 28, 29, 24, 24, 28, 29, 89, 50, 2, 51, 24, 24, 24, 25, 23, - 24, 50, 51, 28, 46, 10, 51, 24, 24, 24, 90, 24, 24, 24, 50, 32, - 24, 24, 90, 50, 2, 32, 29, 28, 46, 29, 28, 46, 29, 24, 90, 50, - 46, 29, 24, 90, 24, 25, 45, 47, 1, 51, 50, 2, 32, 46, 29, 89, - 115, 45, 29, 24, 24, 50, 2, 2, 32, 29, 24, 24, 50, 3, 23, 24, - 2, 2, 51, 24, 24, 24, 24, 24, 50, 32, 46, 29, 24, 50, 51, 24, - 89, 24, 28, 29, 89, 24, 24, 24, 24, 25, 111, 23, 24, 28, 29, 24, - 46, 29, 25, 23, 89, 28, 46, 29, 24, 25, 115, 23, 24, 25, 23, 24, - 2, 32, 47, 45, 46, 10, 2, 32, 46, 10, 2, 51, 24, 25, 23, 89, + 10, 2, 51, 90, 50, 32, 29, 50, 32, 46, 29, 24, 24, 24, 25, 23, + 23, 24, 24, 24, 90, 50, 51, 24, 25, 114, 23, 24, 90, 24, 25, 23, + 23, 28, 29, 24, 24, 28, 29, 89, 50, 2, 51, 24, 24, 24, 25, 23, + 23, 50, 51, 28, 46, 10, 51, 24, 24, 24, 90, 24, 24, 24, 50, 32, + 51, 24, 90, 50, 2, 32, 29, 28, 46, 29, 28, 46, 29, 24, 90, 50, + 28, 29, 24, 90, 24, 25, 45, 47, 1, 51, 50, 2, 32, 46, 29, 89, + 25, 45, 29, 24, 24, 50, 2, 2, 32, 29, 24, 24, 50, 3, 23, 24, + 50, 2, 51, 24, 24, 24, 24, 24, 50, 32, 46, 29, 24, 50, 51, 24, + 29, 24, 28, 29, 89, 24, 24, 24, 24, 25, 111, 23, 24, 28, 29, 24, + 32, 29, 25, 23, 89, 28, 46, 29, 24, 25, 115, 23, 24, 25, 23, 24, + 50, 32, 47, 45, 46, 10, 2, 32, 46, 10, 2, 51, 24, 25, 23, 89, 24, 50, 2, 3, 1, 32, 46, 10, 2, 51, 89, 24, 89, 50, 51, 24, - 90, 28, 46, 47, 23, 50, 3, 23, 24, 24, 90, 24, 28, 46, 46, 29], + 24, 28, 46, 47, 23, 50, 3, 23, 24, 24, 90, 24, 28, 46, 46, 29], "height":16, "width":16, "x":32, @@ -181,7 +181,7 @@ "y":0 }, { - "data":[50, 51, 24, 24, 24, 24, 28, 46, 29, 24, 89, 28, 10, 2, 51, 28, + "data":[51, 24, 50, 51, 24, 24, 25, 45, 29, 24, 24, 28, 29, 24, 50, 3, 24, 24, 28, 29, 28, 29, 25, 111, 23, 90, 24, 25, 23, 24, 24, 25, 46, 46, 10, 51, 25, 23, 25, 115, 23, 90, 89, 50, 51, 24, 28, 47, 2, 2, 51, 24, 25, 23, 25, 111, 23, 24, 24, 24, 24, 24, 50, 2, @@ -203,7 +203,7 @@ "y":16 }, { - "data":[29, 24, 24, 24, 24, 50, 51, 24, 24, 25, 45, 29, 24, 50, 2, 32, + "data":[23, 24, 24, 50, 2, 2, 51, 89, 24, 28, 46, 10, 2, 51, 24, 28, 23, 24, 28, 46, 46, 46, 46, 29, 28, 47, 1, 51, 90, 24, 24, 50, 23, 89, 50, 2, 3, 115, 1, 51, 50, 2, 51, 89, 24, 24, 24, 28, 51, 28, 29, 24, 50, 2, 51, 24, 28, 29, 90, 24, 28, 29, 28, 47, @@ -1065,7 +1065,7 @@ "class":"Tile", "height":96, "id":1, - "name":"\u0421\u043b\u043e\u0439 \u0442\u0430\u0439\u043b\u043e\u0432 1", + "name":"Tiles", "opacity":1, "startx":0, "starty":0, @@ -1074,8 +1074,66 @@ "width":128, "x":0, "y":0 + }, + { + "chunks":[ + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":0, + "y":16 + }], + "height":64, + "id":2, + "name":"Collidable ", + "opacity":1, + "startx":0, + "starty":0, + "type":"tilelayer", + "visible":true, + "width":64, + "x":0, + "y":0 }], - "nextlayerid":2, + "nextlayerid":3, "nextobjectid":1, "orientation":"orthogonal", "renderorder":"right-down", @@ -1085,6 +1143,10 @@ { "firstgid":1, "source":"..\/TileSets\/TileSet 1.tsj" + }, + { + "firstgid":573, + "source":"..\/TileSets\/CollisionTileSet.tsj" }], "tilewidth":32, "type":"map", diff --git a/ZoFo/Content/MapData/TileSets/CollisionTileSet.tsj b/ZoFo/Content/MapData/TileSets/CollisionTileSet.tsj new file mode 100644 index 0000000..e748c72 --- /dev/null +++ b/ZoFo/Content/MapData/TileSets/CollisionTileSet.tsj @@ -0,0 +1,435 @@ +{ "columns":5, + "image":"..\/..\/Textures\/TileSetImages\/Tilelist2.png", + "imageheight":1302, + "imagewidth":652, + "margin":2, + "name":"CollisionTileSet", + "spacing":2, + "tilecount":50, + "tiledversion":"1.10.2", + "tileheight":128, + "tiles":[ + { + "id":0, + "type":"Tiles" + }, + { + "id":1, + "type":"Tiles" + }, + { + "id":2, + "type":"Tiles" + }, + { + "id":3, + "type":"Tiles" + }, + { + "id":4, + "type":"Tiles" + }, + { + "id":5, + "objectgroup": + { + "draworder":"index", + "name":"", + "objects":[ + { + "height":128, + "id":1, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":37, + "x":0, + "y":0 + }, + { + "height":36.3333333333333, + "id":2, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":127.333333333333, + "x":0.666666666666671, + "y":0 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }, + "type":"StopObject" + }, + { + "id":6, + "objectgroup": + { + "draworder":"index", + "name":"", + "objects":[ + { + "height":128.333333333333, + "id":4, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":35.6666666666667, + "x":0.666666666666667, + "y":0 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }, + "type":"StopObject" + }, + { + "id":7, + "objectgroup": + { + "draworder":"index", + "name":"", + "objects":[ + { + "height":128, + "id":1, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":36, + "x":0, + "y":0 + }, + { + "height":36.6666666666667, + "id":2, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":128.666666666667, + "x":0, + "y":91.3333333333333 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }, + "type":"StopObject" + }, + { + "id":8, + "objectgroup": + { + "draworder":"index", + "name":"", + "objects":[ + { + "height":36, + "id":1, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":127.666666666667, + "x":0, + "y":91.6666666666667 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }, + "type":"StopObject" + }, + { + "id":9, + "objectgroup": + { + "draworder":"index", + "name":"", + "objects":[ + { + "height":36, + "id":1, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":127.666666666667, + "x":0, + "y":0.333333333333333 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }, + "type":"StopObject" + }, + { + "id":10, + "objectgroup": + { + "draworder":"index", + "name":"", + "objects":[ + { + "height":36.6666666666667, + "id":2, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":128.333333333333, + "x":0, + "y":0 + }, + { + "height":127.666666666667, + "id":3, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":36.6666666666667, + "x":91.6666666666667, + "y":0.333333333333329 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }, + "type":"StopObject" + }, + { + "id":11, + "objectgroup": + { + "draworder":"index", + "name":"", + "objects":[ + { + "height":127.666666666667, + "id":1, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":37, + "x":91, + "y":0.333333333333333 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }, + "type":"StopObject" + }, + { + "id":12, + "objectgroup": + { + "draworder":"index", + "name":"", + "objects":[ + { + "height":128, + "id":4, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":37, + "x":91, + "y":0 + }, + { + "height":36.6666666666667, + "id":5, + "name":"", + "rotation":0, + "type":"", + "visible":true, + "width":128, + "x":0, + "y":91.3333333333333 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }, + "type":"StopObject" + }, + { + "id":13, + "type":"StopObject" + }, + { + "id":14, + "type":"StopObject" + }, + { + "id":15, + "type":"StopObject" + }, + { + "id":16, + "type":"StopObject" + }, + { + "id":17, + "type":"StopObject" + }, + { + "id":18, + "type":"StopObject" + }, + { + "id":19, + "type":"StopObject" + }, + { + "id":20, + "type":"StopObject" + }, + { + "id":21, + "type":"StopObject" + }, + { + "id":22, + "type":"StopObject" + }, + { + "id":23, + "type":"StopObject" + }, + { + "id":24, + "type":"StopObject" + }, + { + "id":25, + "type":"StopObject" + }, + { + "id":26, + "type":"StopObject" + }, + { + "id":27, + "type":"StopObject" + }, + { + "id":28, + "type":"StopObject" + }, + { + "id":29, + "type":"StopObject" + }, + { + "id":30, + "type":"StopObject" + }, + { + "id":31, + "type":"StopObject" + }, + { + "id":32, + "type":"StopObject" + }, + { + "id":33, + "type":"StopObject" + }, + { + "id":34, + "type":"StopObject" + }, + { + "id":35, + "type":"StopObject" + }, + { + "id":36, + "type":"StopObject" + }, + { + "id":37, + "type":"StopObject" + }, + { + "id":38, + "type":"StopObject" + }, + { + "id":39, + "type":"StopObject" + }, + { + "id":40, + "type":"StopObject" + }, + { + "id":41, + "type":"StopObject" + }, + { + "id":42, + "type":"StopObject" + }, + { + "id":43, + "type":"StopObject" + }, + { + "id":44, + "type":"StopObject" + }, + { + "id":45, + "type":"StopObject" + }, + { + "id":46, + "type":"StopObject" + }, + { + "id":47, + "type":"StopObject" + }, + { + "id":48, + "type":"StopObject" + }, + { + "id":49, + "type":"StopObject" + }], + "tilewidth":128, + "type":"tileset", + "version":"1.10" +} \ No newline at end of file diff --git a/ZoFo/Content/MapData/TileSets/TileSet 1.tsj b/ZoFo/Content/MapData/TileSets/TileSet 1.tsj index d681881..452c896 100644 --- a/ZoFo/Content/MapData/TileSets/TileSet 1.tsj +++ b/ZoFo/Content/MapData/TileSets/TileSet 1.tsj @@ -7,7 +7,7 @@ "orientation":"orthogonal", "width":24 }, - "image":"..\/..\/Textures\/TileSet\/TilesetFloor.png", + "image":"..\/..\/Textures\/TileSetImages\/TilesetFloor.png", "imageheight":832, "imagewidth":704, "margin":0, @@ -18,41 +18,2302 @@ "tiledversion":"1.10.2", "tileheight":32, "tiles":[ + { + "id":0, + "type":"Tile" + }, + { + "id":1, + "type":"Tile" + }, + { + "id":2, + "type":"Tile" + }, + { + "id":3, + "type":"Tile" + }, + { + "id":4, + "type":"Tile" + }, + { + "id":5, + "type":"Tile" + }, + { + "id":6, + "type":"Tile" + }, + { + "id":7, + "type":"Tile" + }, + { + "id":8, + "type":"Tile" + }, + { + "id":9, + "type":"Tile" + }, + { + "id":10, + "type":"Tile" + }, + { + "id":11, + "type":"Tile" + }, + { + "id":12, + "type":"Tile" + }, + { + "id":13, + "type":"Tile" + }, + { + "id":14, + "type":"Tile" + }, + { + "id":15, + "type":"Tile" + }, + { + "id":16, + "type":"Tile" + }, + { + "id":17, + "type":"Tile" + }, + { + "id":18, + "type":"Tile" + }, + { + "id":19, + "type":"Tile" + }, + { + "id":20, + "type":"Tile" + }, + { + "id":21, + "type":"Tile" + }, + { + "id":22, + "type":"Tile" + }, + { + "id":23, + "type":"Tile" + }, + { + "id":24, + "type":"Tile" + }, + { + "id":25, + "type":"Tile" + }, + { + "id":26, + "type":"Tile" + }, { "id":27, - "probability":0.5 + "probability":0.5, + "type":"Tile" }, { "id":28, - "probability":0.5 + "probability":0.5, + "type":"Tile" + }, + { + "id":29, + "type":"Tile" + }, + { + "id":30, + "type":"Tile" + }, + { + "id":31, + "type":"Tile" + }, + { + "id":32, + "type":"Tile" + }, + { + "id":33, + "type":"Tile" + }, + { + "id":34, + "type":"Tile" + }, + { + "id":35, + "type":"Tile" + }, + { + "id":36, + "type":"Tile" + }, + { + "id":37, + "type":"Tile" + }, + { + "id":38, + "type":"Tile" + }, + { + "id":39, + "type":"Tile" + }, + { + "id":40, + "type":"Tile" + }, + { + "id":41, + "type":"Tile" + }, + { + "id":42, + "type":"Tile" + }, + { + "id":43, + "type":"Tile" + }, + { + "id":44, + "type":"Tile" + }, + { + "id":45, + "type":"Tile" + }, + { + "id":46, + "type":"Tile" + }, + { + "id":47, + "type":"Tile" + }, + { + "id":48, + "type":"Tile" }, { "id":49, - "probability":0.5 + "probability":0.5, + "type":"Tile" }, { "id":50, - "probability":0.5 + "probability":0.5, + "type":"Tile" + }, + { + "id":51, + "type":"Tile" + }, + { + "id":52, + "type":"Tile" + }, + { + "id":53, + "type":"Tile" + }, + { + "id":54, + "type":"Tile" + }, + { + "id":55, + "type":"Tile" + }, + { + "id":56, + "type":"Tile" + }, + { + "id":57, + "type":"Tile" + }, + { + "id":58, + "type":"Tile" + }, + { + "id":59, + "type":"Tile" + }, + { + "id":60, + "type":"Tile" + }, + { + "id":61, + "type":"Tile" + }, + { + "id":62, + "type":"Tile" + }, + { + "id":63, + "type":"Tile" + }, + { + "id":64, + "type":"Tile" + }, + { + "id":65, + "type":"Tile" + }, + { + "id":66, + "type":"Tile" + }, + { + "id":67, + "type":"Tile" + }, + { + "id":68, + "type":"Tile" + }, + { + "id":69, + "type":"Tile" + }, + { + "id":70, + "type":"Tile" + }, + { + "id":71, + "type":"Tile" + }, + { + "id":72, + "type":"Tile" + }, + { + "id":73, + "type":"Tile" + }, + { + "id":74, + "type":"Tile" + }, + { + "id":75, + "type":"Tile" + }, + { + "id":76, + "type":"Tile" + }, + { + "id":77, + "type":"Tile" + }, + { + "id":78, + "type":"Tile" + }, + { + "id":79, + "type":"Tile" + }, + { + "id":80, + "type":"Tile" + }, + { + "id":81, + "type":"Tile" + }, + { + "id":82, + "type":"Tile" + }, + { + "id":83, + "type":"Tile" + }, + { + "id":84, + "type":"Tile" + }, + { + "id":85, + "type":"Tile" + }, + { + "id":86, + "type":"Tile" + }, + { + "id":87, + "type":"Tile" }, { "id":88, - "probability":0.100000001490116 + "probability":0.100000001490116, + "type":"Tile" }, { "id":89, - "probability":0.100000001490116 + "probability":0.100000001490116, + "type":"Tile" + }, + { + "id":90, + "type":"Tile" + }, + { + "id":91, + "type":"Tile" + }, + { + "id":92, + "type":"Tile" + }, + { + "id":93, + "type":"Tile" + }, + { + "id":94, + "type":"Tile" + }, + { + "id":95, + "type":"Tile" + }, + { + "id":96, + "type":"Tile" + }, + { + "id":97, + "type":"Tile" + }, + { + "id":98, + "type":"Tile" + }, + { + "id":99, + "type":"Tile" + }, + { + "id":100, + "type":"Tile" + }, + { + "id":101, + "type":"Tile" + }, + { + "id":102, + "type":"Tile" + }, + { + "id":103, + "type":"Tile" + }, + { + "id":104, + "type":"Tile" + }, + { + "id":105, + "type":"Tile" + }, + { + "id":106, + "type":"Tile" + }, + { + "id":107, + "type":"Tile" + }, + { + "id":108, + "type":"Tile" + }, + { + "id":109, + "type":"Tile" }, { "id":110, - "probability":2 + "probability":2, + "type":"Tile" }, { "id":111, - "probability":0.100000001490116 + "probability":0.100000001490116, + "type":"Tile" }, { "id":112, - "probability":0.100000001490116 + "probability":0.100000001490116, + "type":"Tile" + }, + { + "id":113, + "type":"Tile" + }, + { + "id":114, + "type":"Tile" + }, + { + "id":115, + "type":"Tile" + }, + { + "id":116, + "type":"Tile" + }, + { + "id":117, + "type":"Tile" + }, + { + "id":118, + "type":"Tile" + }, + { + "id":119, + "type":"Tile" + }, + { + "id":120, + "type":"Tile" + }, + { + "id":121, + "type":"Tile" + }, + { + "id":122, + "type":"Tile" + }, + { + "id":123, + "type":"Tile" + }, + { + "id":124, + "type":"Tile" + }, + { + "id":125, + "type":"Tile" + }, + { + "id":126, + "type":"Tile" + }, + { + "id":127, + "type":"Tile" + }, + { + "id":128, + "type":"Tile" + }, + { + "id":129, + "type":"Tile" + }, + { + "id":130, + "type":"Tile" + }, + { + "id":131, + "type":"Tile" + }, + { + "id":132, + "type":"Tile" + }, + { + "id":133, + "type":"Tile" + }, + { + "id":134, + "type":"Tile" + }, + { + "id":135, + "type":"Tile" + }, + { + "id":136, + "type":"Tile" + }, + { + "id":137, + "type":"Tile" + }, + { + "id":138, + "type":"Tile" + }, + { + "id":139, + "type":"Tile" + }, + { + "id":140, + "type":"Tile" + }, + { + "id":141, + "type":"Tile" + }, + { + "id":142, + "type":"Tile" + }, + { + "id":143, + "type":"Tile" + }, + { + "id":144, + "type":"Tile" + }, + { + "id":145, + "type":"Tile" + }, + { + "id":146, + "type":"Tile" + }, + { + "id":147, + "type":"Tile" + }, + { + "id":148, + "type":"Tile" + }, + { + "id":149, + "type":"Tile" + }, + { + "id":150, + "type":"Tile" + }, + { + "id":151, + "type":"Tile" + }, + { + "id":152, + "type":"Tile" + }, + { + "id":153, + "type":"Tile" + }, + { + "id":154, + "type":"Tile" + }, + { + "id":155, + "type":"Tile" + }, + { + "id":156, + "type":"Tile" + }, + { + "id":157, + "type":"Tile" + }, + { + "id":158, + "type":"Tile" + }, + { + "id":159, + "type":"Tile" + }, + { + "id":160, + "type":"Tile" + }, + { + "id":161, + "type":"Tile" + }, + { + "id":162, + "type":"Tile" + }, + { + "id":163, + "type":"Tile" + }, + { + "id":164, + "type":"Tile" + }, + { + "id":165, + "type":"Tile" + }, + { + "id":166, + "type":"Tile" + }, + { + "id":167, + "type":"Tile" + }, + { + "id":168, + "type":"Tile" + }, + { + "id":169, + "type":"Tile" + }, + { + "id":170, + "type":"Tile" + }, + { + "id":171, + "type":"Tile" + }, + { + "id":172, + "type":"Tile" + }, + { + "id":173, + "type":"Tile" + }, + { + "id":174, + "type":"Tile" + }, + { + "id":175, + "type":"Tile" + }, + { + "id":176, + "type":"Tile" + }, + { + "id":177, + "type":"Tile" + }, + { + "id":178, + "type":"Tile" + }, + { + "id":179, + "type":"Tile" + }, + { + "id":180, + "type":"Tile" + }, + { + "id":181, + "type":"Tile" + }, + { + "id":182, + "type":"Tile" + }, + { + "id":183, + "type":"Tile" + }, + { + "id":184, + "type":"Tile" + }, + { + "id":185, + "type":"Tile" + }, + { + "id":186, + "type":"Tile" + }, + { + "id":187, + "type":"Tile" + }, + { + "id":188, + "type":"Tile" + }, + { + "id":189, + "type":"Tile" + }, + { + "id":190, + "type":"Tile" + }, + { + "id":191, + "type":"Tile" + }, + { + "id":192, + "type":"Tile" + }, + { + "id":193, + "type":"Tile" + }, + { + "id":194, + "type":"Tile" + }, + { + "id":195, + "type":"Tile" + }, + { + "id":196, + "type":"Tile" + }, + { + "id":197, + "type":"Tile" + }, + { + "id":198, + "type":"Tile" + }, + { + "id":199, + "type":"Tile" + }, + { + "id":200, + "type":"Tile" + }, + { + "id":201, + "type":"Tile" + }, + { + "id":202, + "type":"Tile" + }, + { + "id":203, + "type":"Tile" + }, + { + "id":204, + "type":"Tile" + }, + { + "id":205, + "type":"Tile" + }, + { + "id":206, + "type":"Tile" + }, + { + "id":207, + "type":"Tile" + }, + { + "id":208, + "type":"Tile" + }, + { + "id":209, + "type":"Tile" + }, + { + "id":210, + "type":"Tile" + }, + { + "id":211, + "type":"Tile" + }, + { + "id":212, + "type":"Tile" + }, + { + "id":213, + "type":"Tile" + }, + { + "id":214, + "type":"Tile" + }, + { + "id":215, + "type":"Tile" + }, + { + "id":216, + "type":"Tile" + }, + { + "id":217, + "type":"Tile" + }, + { + "id":218, + "type":"Tile" + }, + { + "id":219, + "type":"Tile" + }, + { + "id":220, + "type":"Tile" + }, + { + "id":221, + "type":"Tile" + }, + { + "id":222, + "type":"Tile" + }, + { + "id":223, + "type":"Tile" + }, + { + "id":224, + "type":"Tile" + }, + { + "id":225, + "type":"Tile" + }, + { + "id":226, + "type":"Tile" + }, + { + "id":227, + "type":"Tile" + }, + { + "id":228, + "type":"Tile" + }, + { + "id":229, + "type":"Tile" + }, + { + "id":230, + "type":"Tile" + }, + { + "id":231, + "type":"Tile" + }, + { + "id":232, + "type":"Tile" + }, + { + "id":233, + "type":"Tile" + }, + { + "id":234, + "type":"Tile" + }, + { + "id":235, + "type":"Tile" + }, + { + "id":236, + "type":"Tile" + }, + { + "id":237, + "type":"Tile" + }, + { + "id":238, + "type":"Tile" + }, + { + "id":239, + "type":"Tile" + }, + { + "id":240, + "type":"Tile" + }, + { + "id":241, + "type":"Tile" + }, + { + "id":242, + "type":"Tile" + }, + { + "id":243, + "type":"Tile" + }, + { + "id":244, + "type":"Tile" + }, + { + "id":245, + "type":"Tile" + }, + { + "id":246, + "type":"Tile" + }, + { + "id":247, + "type":"Tile" + }, + { + "id":248, + "type":"Tile" + }, + { + "id":249, + "type":"Tile" + }, + { + "id":250, + "type":"Tile" + }, + { + "id":251, + "type":"Tile" + }, + { + "id":252, + "type":"Tile" + }, + { + "id":253, + "type":"Tile" + }, + { + "id":254, + "type":"Tile" + }, + { + "id":255, + "type":"Tile" + }, + { + "id":256, + "type":"Tile" + }, + { + "id":257, + "type":"Tile" + }, + { + "id":258, + "type":"Tile" + }, + { + "id":259, + "type":"Tile" + }, + { + "id":260, + "type":"Tile" + }, + { + "id":261, + "type":"Tile" + }, + { + "id":262, + "type":"Tile" + }, + { + "id":263, + "type":"Tile" + }, + { + "id":264, + "type":"Tile" + }, + { + "id":265, + "type":"Tile" + }, + { + "id":266, + "type":"Tile" + }, + { + "id":267, + "type":"Tile" + }, + { + "id":268, + "type":"Tile" + }, + { + "id":269, + "type":"Tile" + }, + { + "id":270, + "type":"Tile" + }, + { + "id":271, + "type":"Tile" + }, + { + "id":272, + "type":"Tile" + }, + { + "id":273, + "type":"Tile" + }, + { + "id":274, + "type":"Tile" + }, + { + "id":275, + "type":"Tile" + }, + { + "id":276, + "type":"Tile" + }, + { + "id":277, + "type":"Tile" + }, + { + "id":278, + "type":"Tile" + }, + { + "id":279, + "type":"Tile" + }, + { + "id":280, + "type":"Tile" + }, + { + "id":281, + "type":"Tile" + }, + { + "id":282, + "type":"Tile" + }, + { + "id":283, + "type":"Tile" + }, + { + "id":284, + "type":"Tile" + }, + { + "id":285, + "type":"Tile" + }, + { + "id":286, + "type":"Tile" + }, + { + "id":287, + "type":"Tile" + }, + { + "id":288, + "type":"Tile" + }, + { + "id":289, + "type":"Tile" + }, + { + "id":290, + "type":"Tile" + }, + { + "id":291, + "type":"Tile" + }, + { + "id":292, + "type":"Tile" + }, + { + "id":293, + "type":"Tile" + }, + { + "id":294, + "type":"Tile" + }, + { + "id":295, + "type":"Tile" + }, + { + "id":296, + "type":"Tile" + }, + { + "id":297, + "type":"Tile" + }, + { + "id":298, + "type":"Tile" + }, + { + "id":299, + "type":"Tile" + }, + { + "id":300, + "type":"Tile" + }, + { + "id":301, + "type":"Tile" + }, + { + "id":302, + "type":"Tile" + }, + { + "id":303, + "type":"Tile" + }, + { + "id":304, + "type":"Tile" + }, + { + "id":305, + "type":"Tile" + }, + { + "id":306, + "type":"Tile" + }, + { + "id":307, + "type":"Tile" + }, + { + "id":308, + "type":"Tile" + }, + { + "id":309, + "type":"Tile" + }, + { + "id":310, + "type":"Tile" + }, + { + "id":311, + "type":"Tile" + }, + { + "id":312, + "type":"Tile" + }, + { + "id":313, + "type":"Tile" + }, + { + "id":314, + "type":"Tile" + }, + { + "id":315, + "type":"Tile" + }, + { + "id":316, + "type":"Tile" + }, + { + "id":317, + "type":"Tile" + }, + { + "id":318, + "type":"Tile" + }, + { + "id":319, + "type":"Tile" + }, + { + "id":320, + "type":"Tile" + }, + { + "id":321, + "type":"Tile" + }, + { + "id":322, + "type":"Tile" + }, + { + "id":323, + "type":"Tile" + }, + { + "id":324, + "type":"Tile" + }, + { + "id":325, + "type":"Tile" + }, + { + "id":326, + "type":"Tile" + }, + { + "id":327, + "type":"Tile" + }, + { + "id":328, + "type":"Tile" + }, + { + "id":329, + "type":"Tile" + }, + { + "id":330, + "type":"Tile" + }, + { + "id":331, + "type":"Tile" + }, + { + "id":332, + "type":"Tile" + }, + { + "id":333, + "type":"Tile" + }, + { + "id":334, + "type":"Tile" + }, + { + "id":335, + "type":"Tile" + }, + { + "id":336, + "type":"Tile" + }, + { + "id":337, + "type":"Tile" + }, + { + "id":338, + "type":"Tile" + }, + { + "id":339, + "type":"Tile" + }, + { + "id":340, + "type":"Tile" + }, + { + "id":341, + "type":"Tile" + }, + { + "id":342, + "type":"Tile" + }, + { + "id":343, + "type":"Tile" + }, + { + "id":344, + "type":"Tile" + }, + { + "id":345, + "type":"Tile" + }, + { + "id":346, + "type":"Tile" + }, + { + "id":347, + "type":"Tile" + }, + { + "id":348, + "type":"Tile" + }, + { + "id":349, + "type":"Tile" + }, + { + "id":350, + "type":"Tile" + }, + { + "id":351, + "type":"Tile" + }, + { + "id":352, + "type":"Tile" + }, + { + "id":353, + "type":"Tile" + }, + { + "id":354, + "type":"Tile" + }, + { + "id":355, + "type":"Tile" + }, + { + "id":356, + "type":"Tile" + }, + { + "id":357, + "type":"Tile" + }, + { + "id":358, + "type":"Tile" + }, + { + "id":359, + "type":"Tile" + }, + { + "id":360, + "type":"Tile" + }, + { + "id":361, + "type":"Tile" + }, + { + "id":362, + "type":"Tile" + }, + { + "id":363, + "type":"Tile" + }, + { + "id":364, + "type":"Tile" + }, + { + "id":365, + "type":"Tile" + }, + { + "id":366, + "type":"Tile" + }, + { + "id":367, + "type":"Tile" + }, + { + "id":368, + "type":"Tile" + }, + { + "id":369, + "type":"Tile" + }, + { + "id":370, + "type":"Tile" + }, + { + "id":371, + "type":"Tile" + }, + { + "id":372, + "type":"Tile" + }, + { + "id":373, + "type":"Tile" + }, + { + "id":374, + "type":"Tile" + }, + { + "id":375, + "type":"Tile" + }, + { + "id":376, + "type":"Tile" + }, + { + "id":377, + "type":"Tile" + }, + { + "id":378, + "type":"Tile" + }, + { + "id":379, + "type":"Tile" + }, + { + "id":380, + "type":"Tile" + }, + { + "id":381, + "type":"Tile" + }, + { + "id":382, + "type":"Tile" + }, + { + "id":383, + "type":"Tile" + }, + { + "id":384, + "type":"Tile" + }, + { + "id":385, + "type":"Tile" + }, + { + "id":386, + "type":"Tile" + }, + { + "id":387, + "type":"Tile" + }, + { + "id":388, + "type":"Tile" + }, + { + "id":389, + "type":"Tile" + }, + { + "id":390, + "type":"Tile" + }, + { + "id":391, + "type":"Tile" + }, + { + "id":392, + "type":"Tile" + }, + { + "id":393, + "type":"Tile" + }, + { + "id":394, + "type":"Tile" + }, + { + "id":395, + "type":"Tile" + }, + { + "id":396, + "type":"Tile" + }, + { + "id":397, + "type":"Tile" + }, + { + "id":398, + "type":"Tile" + }, + { + "id":399, + "type":"Tile" + }, + { + "id":400, + "type":"Tile" + }, + { + "id":401, + "type":"Tile" + }, + { + "id":402, + "type":"Tile" + }, + { + "id":403, + "type":"Tile" + }, + { + "id":404, + "type":"Tile" + }, + { + "id":405, + "type":"Tile" + }, + { + "id":406, + "type":"Tile" + }, + { + "id":407, + "type":"Tile" + }, + { + "id":408, + "type":"Tile" + }, + { + "id":409, + "type":"Tile" + }, + { + "id":410, + "type":"Tile" + }, + { + "id":411, + "type":"Tile" + }, + { + "id":412, + "type":"Tile" + }, + { + "id":413, + "type":"Tile" + }, + { + "id":414, + "type":"Tile" + }, + { + "id":415, + "type":"Tile" + }, + { + "id":416, + "type":"Tile" + }, + { + "id":417, + "type":"Tile" + }, + { + "id":418, + "type":"Tile" + }, + { + "id":419, + "type":"Tile" + }, + { + "id":420, + "type":"Tile" + }, + { + "id":421, + "type":"Tile" + }, + { + "id":422, + "type":"Tile" + }, + { + "id":423, + "type":"Tile" + }, + { + "id":424, + "type":"Tile" + }, + { + "id":425, + "type":"Tile" + }, + { + "id":426, + "type":"Tile" + }, + { + "id":427, + "type":"Tile" + }, + { + "id":428, + "type":"Tile" + }, + { + "id":429, + "type":"Tile" + }, + { + "id":430, + "type":"Tile" + }, + { + "id":431, + "type":"Tile" + }, + { + "id":432, + "type":"Tile" + }, + { + "id":433, + "type":"Tile" + }, + { + "id":434, + "type":"Tile" + }, + { + "id":435, + "type":"Tile" + }, + { + "id":436, + "type":"Tile" + }, + { + "id":437, + "type":"Tile" + }, + { + "id":438, + "type":"Tile" + }, + { + "id":439, + "type":"Tile" + }, + { + "id":440, + "type":"Tile" + }, + { + "id":441, + "type":"Tile" + }, + { + "id":442, + "type":"Tile" + }, + { + "id":443, + "type":"Tile" + }, + { + "id":444, + "type":"Tile" + }, + { + "id":445, + "type":"Tile" + }, + { + "id":446, + "type":"Tile" + }, + { + "id":447, + "type":"Tile" + }, + { + "id":448, + "type":"Tile" + }, + { + "id":449, + "type":"Tile" + }, + { + "id":450, + "type":"Tile" + }, + { + "id":451, + "type":"Tile" + }, + { + "id":452, + "type":"Tile" + }, + { + "id":453, + "type":"Tile" + }, + { + "id":454, + "type":"Tile" + }, + { + "id":455, + "type":"Tile" + }, + { + "id":456, + "type":"Tile" + }, + { + "id":457, + "type":"Tile" + }, + { + "id":458, + "type":"Tile" + }, + { + "id":459, + "type":"Tile" + }, + { + "id":460, + "type":"Tile" + }, + { + "id":461, + "type":"Tile" + }, + { + "id":462, + "type":"Tile" + }, + { + "id":463, + "type":"Tile" + }, + { + "id":464, + "type":"Tile" + }, + { + "id":465, + "type":"Tile" + }, + { + "id":466, + "type":"Tile" + }, + { + "id":467, + "type":"Tile" + }, + { + "id":468, + "type":"Tile" + }, + { + "id":469, + "type":"Tile" + }, + { + "id":470, + "type":"Tile" + }, + { + "id":471, + "type":"Tile" + }, + { + "id":472, + "type":"Tile" + }, + { + "id":473, + "type":"Tile" + }, + { + "id":474, + "type":"Tile" + }, + { + "id":475, + "type":"Tile" + }, + { + "id":476, + "type":"Tile" + }, + { + "id":477, + "type":"Tile" + }, + { + "id":478, + "type":"Tile" + }, + { + "id":479, + "type":"Tile" + }, + { + "id":480, + "type":"Tile" + }, + { + "id":481, + "type":"Tile" + }, + { + "id":482, + "type":"Tile" + }, + { + "id":483, + "type":"Tile" + }, + { + "id":484, + "type":"Tile" + }, + { + "id":485, + "type":"Tile" + }, + { + "id":486, + "type":"Tile" + }, + { + "id":487, + "type":"Tile" + }, + { + "id":488, + "type":"Tile" + }, + { + "id":489, + "type":"Tile" + }, + { + "id":490, + "type":"Tile" + }, + { + "id":491, + "type":"Tile" + }, + { + "id":492, + "type":"Tile" + }, + { + "id":493, + "type":"Tile" + }, + { + "id":494, + "type":"Tile" + }, + { + "id":495, + "type":"Tile" + }, + { + "id":496, + "type":"Tile" + }, + { + "id":497, + "type":"Tile" + }, + { + "id":498, + "type":"Tile" + }, + { + "id":499, + "type":"Tile" + }, + { + "id":500, + "type":"Tile" + }, + { + "id":501, + "type":"Tile" + }, + { + "id":502, + "type":"Tile" + }, + { + "id":503, + "type":"Tile" + }, + { + "id":504, + "type":"Tile" + }, + { + "id":505, + "type":"Tile" + }, + { + "id":506, + "type":"Tile" + }, + { + "id":507, + "type":"Tile" + }, + { + "id":508, + "type":"Tile" + }, + { + "id":509, + "type":"Tile" + }, + { + "id":510, + "type":"Tile" + }, + { + "id":511, + "type":"Tile" + }, + { + "id":512, + "type":"Tile" + }, + { + "id":513, + "type":"Tile" + }, + { + "id":514, + "type":"Tile" + }, + { + "id":515, + "type":"Tile" + }, + { + "id":516, + "type":"Tile" + }, + { + "id":517, + "type":"Tile" + }, + { + "id":518, + "type":"Tile" + }, + { + "id":519, + "type":"Tile" + }, + { + "id":520, + "type":"Tile" + }, + { + "id":521, + "type":"Tile" + }, + { + "id":522, + "type":"Tile" + }, + { + "id":523, + "type":"Tile" + }, + { + "id":524, + "type":"Tile" + }, + { + "id":525, + "type":"Tile" + }, + { + "id":526, + "type":"Tile" + }, + { + "id":527, + "type":"Tile" + }, + { + "id":528, + "type":"Tile" + }, + { + "id":529, + "type":"Tile" + }, + { + "id":530, + "type":"Tile" + }, + { + "id":531, + "type":"Tile" + }, + { + "id":532, + "type":"Tile" + }, + { + "id":533, + "type":"Tile" + }, + { + "id":534, + "type":"Tile" + }, + { + "id":535, + "type":"Tile" + }, + { + "id":536, + "type":"Tile" + }, + { + "id":537, + "type":"Tile" + }, + { + "id":538, + "type":"Tile" + }, + { + "id":539, + "type":"Tile" + }, + { + "id":540, + "type":"Tile" + }, + { + "id":541, + "type":"Tile" + }, + { + "id":542, + "type":"Tile" + }, + { + "id":543, + "type":"Tile" + }, + { + "id":544, + "type":"Tile" + }, + { + "id":545, + "type":"Tile" + }, + { + "id":546, + "type":"Tile" + }, + { + "id":547, + "type":"Tile" + }, + { + "id":548, + "type":"Tile" + }, + { + "id":549, + "type":"Tile" + }, + { + "id":550, + "type":"Tile" + }, + { + "id":551, + "type":"Tile" + }, + { + "id":552, + "type":"Tile" + }, + { + "id":553, + "type":"Tile" + }, + { + "id":554, + "type":"Tile" + }, + { + "id":555, + "type":"Tile" + }, + { + "id":556, + "type":"Tile" + }, + { + "id":557, + "type":"Tile" + }, + { + "id":558, + "type":"Tile" + }, + { + "id":559, + "type":"Tile" + }, + { + "id":560, + "type":"Tile" + }, + { + "id":561, + "type":"Tile" + }, + { + "id":562, + "type":"Tile" + }, + { + "id":563, + "type":"Tile" + }, + { + "id":564, + "type":"Tile" + }, + { + "id":565, + "type":"Tile" + }, + { + "id":566, + "type":"Tile" + }, + { + "id":567, + "type":"Tile" + }, + { + "id":568, + "type":"Tile" + }, + { + "id":569, + "type":"Tile" + }, + { + "id":570, + "type":"Tile" + }, + { + "id":571, + "type":"Tile" }], "tilewidth":32, "type":"tileset", diff --git a/ZoFo/Content/MapData/TileSets/WallSet.tsj b/ZoFo/Content/MapData/TileSets/WallSet.tsj deleted file mode 100644 index 4cf3f82..0000000 --- a/ZoFo/Content/MapData/TileSets/WallSet.tsj +++ /dev/null @@ -1,21 +0,0 @@ -{ "class":"StopObject", - "columns":5, - "grid": - { - "height":16, - "orientation":"orthogonal", - "width":16 - }, - "image":"..\/..\/Textures\/StopObjects\/Tilelist2.png", - "imageheight":1302, - "imagewidth":652, - "margin":2, - "name":"WallSet", - "spacing":2, - "tilecount":3240, - "tiledversion":"1.10.2", - "tileheight":128, - "tilewidth":128, - "type":"tileset", - "version":"1.10" -} \ No newline at end of file diff --git a/ZoFo/Content/MapData/TileSets/WallSet.tsx b/ZoFo/Content/MapData/TileSets/WallSet.tsx deleted file mode 100644 index 35564d4..0000000 --- a/ZoFo/Content/MapData/TileSets/WallSet.tsx +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/ZoFo/Content/Textures/Animations/player_running_top_rotate.animation b/ZoFo/Content/Textures/Animations/player_running_top_rotate.animation new file mode 100644 index 0000000..47c6d2c --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_running_top_rotate.animation @@ -0,0 +1 @@ +{"id":"player_running_top_rotate","textureName":"Textures/AnimationTextures/Character/hr-level1_idle","startSpriteRectangle":{"X":0,"Y":0,"Width":92,"Height":116},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"} diff --git a/ZoFo/Content/Textures/GUI/background/base.png b/ZoFo/Content/Textures/GUI/background/base.png index 11cbac6..49a5fb7 100644 Binary files a/ZoFo/Content/Textures/GUI/background/base.png and b/ZoFo/Content/Textures/GUI/background/base.png differ diff --git a/ZoFo/Content/Textures/GUI/background/join.png b/ZoFo/Content/Textures/GUI/background/join.png index 6d45273..c0bb204 100644 Binary files a/ZoFo/Content/Textures/GUI/background/join.png and b/ZoFo/Content/Textures/GUI/background/join.png differ diff --git a/ZoFo/Content/Textures/GUI/background/mainMenu.png b/ZoFo/Content/Textures/GUI/background/mainMenu.png index a0778fb..7f7665c 100644 Binary files a/ZoFo/Content/Textures/GUI/background/mainMenu.png and b/ZoFo/Content/Textures/GUI/background/mainMenu.png differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0000_Layer-1.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0000_Layer-1.png deleted file mode 100644 index 880cd49..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0000_Layer-1.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0001_Layer-2.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0001_Layer-2.png deleted file mode 100644 index ad2fc2b..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0001_Layer-2.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0002_Layer-3.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0002_Layer-3.png deleted file mode 100644 index 3d95308..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0002_Layer-3.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0003_Layer-4.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0003_Layer-4.png deleted file mode 100644 index 3c9368c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0003_Layer-4.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0004_Layer-5.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0004_Layer-5.png deleted file mode 100644 index d31fb47..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0004_Layer-5.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0005_Layer-6.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0005_Layer-6.png deleted file mode 100644 index fc721e5..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0005_Layer-6.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0006_Layer-7.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0006_Layer-7.png deleted file mode 100644 index fc1f3d1..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0006_Layer-7.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0007_Layer-8.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0007_Layer-8.png deleted file mode 100644 index af254f2..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0007_Layer-8.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0008_Layer-9.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0008_Layer-9.png deleted file mode 100644 index 0879664..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0008_Layer-9.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0009_Layer-10.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0009_Layer-10.png deleted file mode 100644 index 8fda383..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0009_Layer-10.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0010_Layer-11.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0010_Layer-11.png deleted file mode 100644 index 6f2a493..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0010_Layer-11.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0011_Layer-12.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0011_Layer-12.png deleted file mode 100644 index 4e7ab49..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0011_Layer-12.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0012_Layer-13.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0012_Layer-13.png deleted file mode 100644 index d654f41..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0012_Layer-13.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0013_Layer-14.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0013_Layer-14.png deleted file mode 100644 index 2eeb752..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0013_Layer-14.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0014_Layer-15.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0014_Layer-15.png deleted file mode 100644 index cf2f09d..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0014_Layer-15.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0015_Layer-16.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0015_Layer-16.png deleted file mode 100644 index c13af22..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0015_Layer-16.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0016_Layer-0.png b/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0016_Layer-0.png deleted file mode 100644 index 44a6ab4..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/Shadows/shadows_house_0016_Layer-0.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0000_Layer-1.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0000_Layer-1.png deleted file mode 100644 index 4655585..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0000_Layer-1.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0001_Layer-2.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0001_Layer-2.png deleted file mode 100644 index 3823f71..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0001_Layer-2.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0002_Layer-3.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0002_Layer-3.png deleted file mode 100644 index 05ef220..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0002_Layer-3.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0003_Layer-4.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0003_Layer-4.png deleted file mode 100644 index 87f4ecf..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0003_Layer-4.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0004_Layer-5.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0004_Layer-5.png deleted file mode 100644 index 62b95fc..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0004_Layer-5.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0005_Layer-6.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0005_Layer-6.png deleted file mode 100644 index 0bf58ea..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0005_Layer-6.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0006_Layer-7.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0006_Layer-7.png deleted file mode 100644 index a5efeaf..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0006_Layer-7.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0007_Layer-8.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0007_Layer-8.png deleted file mode 100644 index da72a26..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0007_Layer-8.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0008_Layer-9.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0008_Layer-9.png deleted file mode 100644 index 19e371c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0008_Layer-9.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0009_Layer-10.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0009_Layer-10.png deleted file mode 100644 index 121ebe2..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0009_Layer-10.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0010_Layer-11.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0010_Layer-11.png deleted file mode 100644 index 634a7cd..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0010_Layer-11.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0011_Layer-12.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0011_Layer-12.png deleted file mode 100644 index e3715af..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0011_Layer-12.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0012_Layer-13.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0012_Layer-13.png deleted file mode 100644 index d53022c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0012_Layer-13.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0013_Layer-14.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0013_Layer-14.png deleted file mode 100644 index bacb44a..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0013_Layer-14.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0014_Layer-15.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0014_Layer-15.png deleted file mode 100644 index 8b7d74f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0014_Layer-15.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0015_Layer-16.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0015_Layer-16.png deleted file mode 100644 index baa78b8..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0015_Layer-16.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0016_Layer-17.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0016_Layer-17.png deleted file mode 100644 index ba73b4b..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0016_Layer-17.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0017_Layer-18.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0017_Layer-18.png deleted file mode 100644 index 705506a..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0017_Layer-18.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0018_Layer-19.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0018_Layer-19.png deleted file mode 100644 index f9acadc..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0018_Layer-19.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0019_Layer-20.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0019_Layer-20.png deleted file mode 100644 index 5630bf3..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0019_Layer-20.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0020_Layer-21.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0020_Layer-21.png deleted file mode 100644 index c56674c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0020_Layer-21.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0021_Layer-22.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0021_Layer-22.png deleted file mode 100644 index 394c48b..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0021_Layer-22.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0022_Layer-23.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0022_Layer-23.png deleted file mode 100644 index 8edeed6..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0022_Layer-23.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0023_Layer-24.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0023_Layer-24.png deleted file mode 100644 index 043499e..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0023_Layer-24.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0024_Layer-25.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0024_Layer-25.png deleted file mode 100644 index 0cf74a0..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0024_Layer-25.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0025_Layer-26.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0025_Layer-26.png deleted file mode 100644 index ed9dc8d..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0025_Layer-26.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0026_Layer-27.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0026_Layer-27.png deleted file mode 100644 index f531421..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0026_Layer-27.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0027_Layer-28.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0027_Layer-28.png deleted file mode 100644 index 6f4ecca..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0027_Layer-28.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0028_Layer-29.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0028_Layer-29.png deleted file mode 100644 index f3a2131..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0028_Layer-29.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0029_Layer-30.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0029_Layer-30.png deleted file mode 100644 index 75eea87..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0029_Layer-30.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0030_Layer-31.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0030_Layer-31.png deleted file mode 100644 index 8c4eaa1..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0030_Layer-31.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0031_Layer-32.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0031_Layer-32.png deleted file mode 100644 index dc64505..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0031_Layer-32.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0032_Layer-33.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0032_Layer-33.png deleted file mode 100644 index f5a7b8f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0032_Layer-33.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0033_Layer-34.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0033_Layer-34.png deleted file mode 100644 index 50b8e5b..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0033_Layer-34.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0034_Layer-35.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0034_Layer-35.png deleted file mode 100644 index 963376a..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0034_Layer-35.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0035_Layer-36.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0035_Layer-36.png deleted file mode 100644 index 986dd9a..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0035_Layer-36.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0036_Layer-37.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0036_Layer-37.png deleted file mode 100644 index c28721b..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0036_Layer-37.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0037_Layer-38.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0037_Layer-38.png deleted file mode 100644 index 0a479fd..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0037_Layer-38.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0038_Layer-39.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0038_Layer-39.png deleted file mode 100644 index b2c273a..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0038_Layer-39.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0039_Layer-40.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0039_Layer-40.png deleted file mode 100644 index 5d3d948..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0039_Layer-40.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0040_Layer-41.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0040_Layer-41.png deleted file mode 100644 index 71068e6..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0040_Layer-41.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0041_Layer-42.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0041_Layer-42.png deleted file mode 100644 index 85624be..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0041_Layer-42.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0042_Layer-43.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0042_Layer-43.png deleted file mode 100644 index c411dfb..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0042_Layer-43.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0043_Layer-44.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0043_Layer-44.png deleted file mode 100644 index 58d2288..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0043_Layer-44.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0044_Layer-45.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0044_Layer-45.png deleted file mode 100644 index 079b5cc..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0044_Layer-45.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0045_Layer-46.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0045_Layer-46.png deleted file mode 100644 index 65234d0..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0045_Layer-46.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0046_Layer-47.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0046_Layer-47.png deleted file mode 100644 index b5898ca..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0046_Layer-47.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0047_Layer-48.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0047_Layer-48.png deleted file mode 100644 index 417ecb3..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0047_Layer-48.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0048_Layer-49.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0048_Layer-49.png deleted file mode 100644 index 3e04981..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0048_Layer-49.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0049_Layer-50.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0049_Layer-50.png deleted file mode 100644 index 1972504..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0049_Layer-50.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0050_Layer-51.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0050_Layer-51.png deleted file mode 100644 index cd8dc23..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0050_Layer-51.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0051_Layer-52.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0051_Layer-52.png deleted file mode 100644 index a1470c1..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0051_Layer-52.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0052_Layer-53.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0052_Layer-53.png deleted file mode 100644 index 7b5711c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0052_Layer-53.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0053_Layer-54.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0053_Layer-54.png deleted file mode 100644 index 0047c8c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0053_Layer-54.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0054_Layer-55.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0054_Layer-55.png deleted file mode 100644 index e8930bb..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0054_Layer-55.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0055_Layer-56.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0055_Layer-56.png deleted file mode 100644 index d0e820d..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0055_Layer-56.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0056_Layer-57.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0056_Layer-57.png deleted file mode 100644 index 2f09fa8..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0056_Layer-57.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0057_Layer-58.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0057_Layer-58.png deleted file mode 100644 index 0facdc6..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0057_Layer-58.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0058_Layer-59.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0058_Layer-59.png deleted file mode 100644 index 8bcd07b..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0058_Layer-59.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0059_Layer-60.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0059_Layer-60.png deleted file mode 100644 index 4ad861b..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0059_Layer-60.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0060_Layer-0.png b/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0060_Layer-0.png deleted file mode 100644 index d5acd84..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Environment/objects_house_0060_Layer-0.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0000_Layer-1.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0000_Layer-1.png deleted file mode 100644 index fe36619..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0000_Layer-1.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0001_Layer-2.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0001_Layer-2.png deleted file mode 100644 index e5b9f39..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0001_Layer-2.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0002_Layer-3.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0002_Layer-3.png deleted file mode 100644 index e31b605..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0002_Layer-3.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0003_Layer-4.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0003_Layer-4.png deleted file mode 100644 index 09ab958..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0003_Layer-4.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0004_Layer-5.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0004_Layer-5.png deleted file mode 100644 index 0c520e5..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0004_Layer-5.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0005_Layer-6.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0005_Layer-6.png deleted file mode 100644 index 13c0408..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0005_Layer-6.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0006_Layer-7.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0006_Layer-7.png deleted file mode 100644 index 36bf1ba..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0006_Layer-7.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0007_Layer-8.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0007_Layer-8.png deleted file mode 100644 index d39616c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0007_Layer-8.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0008_Layer-9.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0008_Layer-9.png deleted file mode 100644 index 48ad4d7..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0008_Layer-9.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0009_Layer-10.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0009_Layer-10.png deleted file mode 100644 index 5d1f2ca..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0009_Layer-10.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0010_Layer-11.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0010_Layer-11.png deleted file mode 100644 index ab4c856..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0010_Layer-11.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0011_Layer-12.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0011_Layer-12.png deleted file mode 100644 index 4b8f0d0..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0011_Layer-12.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0012_Layer-13.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0012_Layer-13.png deleted file mode 100644 index 9e25f96..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0012_Layer-13.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0013_Layer-14.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0013_Layer-14.png deleted file mode 100644 index 3319e48..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0013_Layer-14.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0014_Layer-15.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0014_Layer-15.png deleted file mode 100644 index 24f5bba..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0014_Layer-15.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0015_Layer-16.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0015_Layer-16.png deleted file mode 100644 index 31f7a36..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0015_Layer-16.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0016_Layer-17.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0016_Layer-17.png deleted file mode 100644 index 224400a..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0016_Layer-17.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0017_Layer-18.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0017_Layer-18.png deleted file mode 100644 index 1facb1f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0017_Layer-18.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0018_Layer-19.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0018_Layer-19.png deleted file mode 100644 index 1d20c2f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0018_Layer-19.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0019_Layer-20.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0019_Layer-20.png deleted file mode 100644 index 30abbfb..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0019_Layer-20.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0020_Layer-21.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0020_Layer-21.png deleted file mode 100644 index cd32dda..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0020_Layer-21.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0021_Layer-22.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0021_Layer-22.png deleted file mode 100644 index 2414a5d..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0021_Layer-22.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0022_Layer-23.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0022_Layer-23.png deleted file mode 100644 index 46cebba..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0022_Layer-23.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0023_Layer-24.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0023_Layer-24.png deleted file mode 100644 index 95e467f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0023_Layer-24.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0024_Layer-25.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0024_Layer-25.png deleted file mode 100644 index 1f81a4c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0024_Layer-25.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0025_Layer-26.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0025_Layer-26.png deleted file mode 100644 index 4f13a41..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0025_Layer-26.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0026_Layer-27.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0026_Layer-27.png deleted file mode 100644 index 827f729..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0026_Layer-27.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0027_Layer-28.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0027_Layer-28.png deleted file mode 100644 index 56ab75e..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0027_Layer-28.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0028_Layer-29.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0028_Layer-29.png deleted file mode 100644 index 6caeaeb..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0028_Layer-29.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0029_Layer-30.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0029_Layer-30.png deleted file mode 100644 index dc6eab7..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0029_Layer-30.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0030_Layer-31.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0030_Layer-31.png deleted file mode 100644 index 663615f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0030_Layer-31.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0031_Layer-32.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0031_Layer-32.png deleted file mode 100644 index 95cd3ca..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0031_Layer-32.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0032_Layer-33.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0032_Layer-33.png deleted file mode 100644 index 1861b3e..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0032_Layer-33.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0033_Layer-34.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0033_Layer-34.png deleted file mode 100644 index 3ef79e1..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0033_Layer-34.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0034_Layer-35.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0034_Layer-35.png deleted file mode 100644 index 8186f19..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0034_Layer-35.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0035_Layer-36.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0035_Layer-36.png deleted file mode 100644 index eb5194d..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0035_Layer-36.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Roof/roof_0036_Layer-0.png b/ZoFo/Content/Textures/StopObjects/Roof/roof_0036_Layer-0.png deleted file mode 100644 index e94a995..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Roof/roof_0036_Layer-0.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0000_Layer-1.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0000_Layer-1.png deleted file mode 100644 index c6e23e7..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0000_Layer-1.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0001_Layer-2.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0001_Layer-2.png deleted file mode 100644 index 1c8205c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0001_Layer-2.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0002_Layer-3.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0002_Layer-3.png deleted file mode 100644 index adeab17..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0002_Layer-3.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0003_Layer-4.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0003_Layer-4.png deleted file mode 100644 index fcd01a8..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0003_Layer-4.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0004_Layer-5.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0004_Layer-5.png deleted file mode 100644 index a715cf5..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0004_Layer-5.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0005_Layer-6.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0005_Layer-6.png deleted file mode 100644 index 443b2d7..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0005_Layer-6.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0006_Layer-7.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0006_Layer-7.png deleted file mode 100644 index 375a15f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0006_Layer-7.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0007_Layer-8.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0007_Layer-8.png deleted file mode 100644 index 66d1f0e..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0007_Layer-8.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0008_Layer-9.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0008_Layer-9.png deleted file mode 100644 index 183c938..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0008_Layer-9.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0009_Layer-10.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0009_Layer-10.png deleted file mode 100644 index 0082f7c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0009_Layer-10.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0010_Layer-11.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0010_Layer-11.png deleted file mode 100644 index c02a29b..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0010_Layer-11.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0011_Layer-12.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0011_Layer-12.png deleted file mode 100644 index 9ec94d7..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0011_Layer-12.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0012_Layer-13.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0012_Layer-13.png deleted file mode 100644 index 50c376f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0012_Layer-13.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0013_Layer-14.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0013_Layer-14.png deleted file mode 100644 index 099baa7..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0013_Layer-14.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0014_Layer-15.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0014_Layer-15.png deleted file mode 100644 index 51b7d43..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0014_Layer-15.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0015_Layer-16.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0015_Layer-16.png deleted file mode 100644 index 99b0f10..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0015_Layer-16.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0016_Layer-17.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0016_Layer-17.png deleted file mode 100644 index a9f1329..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0016_Layer-17.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0017_Layer-18.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0017_Layer-18.png deleted file mode 100644 index 38f9c00..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0017_Layer-18.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0018_Layer-19.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0018_Layer-19.png deleted file mode 100644 index a8367dd..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0018_Layer-19.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0019_Layer-20.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0019_Layer-20.png deleted file mode 100644 index c1b2805..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0019_Layer-20.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0020_Layer-21.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0020_Layer-21.png deleted file mode 100644 index bc18b15..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0020_Layer-21.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0021_Layer-22.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0021_Layer-22.png deleted file mode 100644 index d8599d6..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0021_Layer-22.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0022_Layer-23.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0022_Layer-23.png deleted file mode 100644 index 4e3336e..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0022_Layer-23.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0023_Layer-24.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0023_Layer-24.png deleted file mode 100644 index 95b8964..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0023_Layer-24.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0024_Layer-25.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0024_Layer-25.png deleted file mode 100644 index 7b8e21a..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0024_Layer-25.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0025_Layer-26.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0025_Layer-26.png deleted file mode 100644 index ad088f8..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0025_Layer-26.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0026_Layer-27.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0026_Layer-27.png deleted file mode 100644 index dbc20bb..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0026_Layer-27.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0027_Layer-28.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0027_Layer-28.png deleted file mode 100644 index 220d937..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0027_Layer-28.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0028_Layer-29.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0028_Layer-29.png deleted file mode 100644 index d990509..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0028_Layer-29.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0029_Layer-30.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0029_Layer-30.png deleted file mode 100644 index 4bbe70a..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0029_Layer-30.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0030_Layer-31.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0030_Layer-31.png deleted file mode 100644 index 3185cce..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0030_Layer-31.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0031_Layer-32.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0031_Layer-32.png deleted file mode 100644 index 01cf9d8..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0031_Layer-32.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0032_Layer-33.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0032_Layer-33.png deleted file mode 100644 index 80cfa34..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0032_Layer-33.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0033_Layer-34.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0033_Layer-34.png deleted file mode 100644 index 8472016..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0033_Layer-34.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0034_Layer-35.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0034_Layer-35.png deleted file mode 100644 index 742552f..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0034_Layer-35.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0035_Layer-36.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0035_Layer-36.png deleted file mode 100644 index 328595e..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0035_Layer-36.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0036_Layer-37.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0036_Layer-37.png deleted file mode 100644 index ec80148..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0036_Layer-37.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0037_Layer-38.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0037_Layer-38.png deleted file mode 100644 index e7e7a39..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0037_Layer-38.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0038_Layer-39.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0038_Layer-39.png deleted file mode 100644 index c03fabe..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0038_Layer-39.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0039_Layer-40.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0039_Layer-40.png deleted file mode 100644 index c281b0d..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0039_Layer-40.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0040_Layer-41.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0040_Layer-41.png deleted file mode 100644 index 3325002..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0040_Layer-41.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0041_Layer-42.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0041_Layer-42.png deleted file mode 100644 index 1ecbd46..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0041_Layer-42.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0042_Layer-43.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0042_Layer-43.png deleted file mode 100644 index bcdb8d1..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0042_Layer-43.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0043_Layer-44.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0043_Layer-44.png deleted file mode 100644 index d411060..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0043_Layer-44.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0044_Layer-45.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0044_Layer-45.png deleted file mode 100644 index 0d9981c..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0044_Layer-45.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0045_Layer-46.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0045_Layer-46.png deleted file mode 100644 index 395d4b7..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0045_Layer-46.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0046_Layer-47.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0046_Layer-47.png deleted file mode 100644 index 9df9a3e..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0046_Layer-47.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0047_Layer-48.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0047_Layer-48.png deleted file mode 100644 index 32a5283..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0047_Layer-48.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0048_Layer-49.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0048_Layer-49.png deleted file mode 100644 index ae9b2ef..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0048_Layer-49.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0049_Layer-50.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0049_Layer-50.png deleted file mode 100644 index b28e5b7..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0049_Layer-50.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0050_Layer-51.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0050_Layer-51.png deleted file mode 100644 index 702d9d9..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0050_Layer-51.png and /dev/null differ diff --git a/ZoFo/Content/Textures/StopObjects/Walls/walls_0051_Layer-0.png b/ZoFo/Content/Textures/StopObjects/Walls/walls_0051_Layer-0.png deleted file mode 100644 index b984c11..0000000 Binary files a/ZoFo/Content/Textures/StopObjects/Walls/walls_0051_Layer-0.png and /dev/null differ diff --git a/ZoFo/Content/Textures/Test/pickaxe.webp b/ZoFo/Content/Textures/Test/pickaxe.webp new file mode 100644 index 0000000..549165d Binary files /dev/null and b/ZoFo/Content/Textures/Test/pickaxe.webp differ diff --git a/ZoFo/Content/Textures/Test/rock.jpg b/ZoFo/Content/Textures/Test/rock.jpg new file mode 100644 index 0000000..e4f78d7 Binary files /dev/null and b/ZoFo/Content/Textures/Test/rock.jpg differ diff --git a/ZoFo/Content/Textures/Test/steel.png b/ZoFo/Content/Textures/Test/steel.png new file mode 100644 index 0000000..ca6d643 Binary files /dev/null and b/ZoFo/Content/Textures/Test/steel.png differ diff --git a/ZoFo/Content/Textures/Test/wood.jpg b/ZoFo/Content/Textures/Test/wood.jpg new file mode 100644 index 0000000..983d6f5 Binary files /dev/null and b/ZoFo/Content/Textures/Test/wood.jpg differ diff --git a/ZoFo/Content/Textures/StopObjects/Tilelist1.png b/ZoFo/Content/Textures/TileSets/Tilelist1.png similarity index 100% rename from ZoFo/Content/Textures/StopObjects/Tilelist1.png rename to ZoFo/Content/Textures/TileSets/Tilelist1.png diff --git a/ZoFo/Content/Textures/StopObjects/Tilelist2.png b/ZoFo/Content/Textures/TileSets/Tilelist2.png similarity index 100% rename from ZoFo/Content/Textures/StopObjects/Tilelist2.png rename to ZoFo/Content/Textures/TileSets/Tilelist2.png diff --git a/ZoFo/Content/Textures/StopObjects/Tilelist3.png b/ZoFo/Content/Textures/TileSets/Tilelist3.png similarity index 100% rename from ZoFo/Content/Textures/StopObjects/Tilelist3.png rename to ZoFo/Content/Textures/TileSets/Tilelist3.png diff --git a/ZoFo/Content/Textures/StopObjects/Tilelist4.png b/ZoFo/Content/Textures/TileSets/Tilelist4.png similarity index 100% rename from ZoFo/Content/Textures/StopObjects/Tilelist4.png rename to ZoFo/Content/Textures/TileSets/Tilelist4.png diff --git a/ZoFo/Content/Textures/TileSetImages/TilesetFloor.png b/ZoFo/Content/Textures/TileSets/TilesetFloor.png similarity index 100% rename from ZoFo/Content/Textures/TileSetImages/TilesetFloor.png rename to ZoFo/Content/Textures/TileSets/TilesetFloor.png diff --git a/ZoFo/Content/sounds/Tabletki.mp3 b/ZoFo/Content/sounds/Tabletki.mp3 deleted file mode 100644 index 1a44967..0000000 Binary files a/ZoFo/Content/sounds/Tabletki.mp3 and /dev/null differ diff --git a/ZoFo/GameCore/Client.cs b/ZoFo/GameCore/Client.cs index 91a607c..e61253e 100644 --- a/ZoFo/GameCore/Client.cs +++ b/ZoFo/GameCore/Client.cs @@ -10,28 +10,49 @@ using System; using ZoFo.GameCore.GameObjects; using ZoFo.GameCore.GameObjects.MapObjects; using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; -using ZoFo.GameCore.GameObjects.MapObjects.Tiles; using System.Drawing; using System.Reflection; -using ZoFo.GameCore.GameObjects.Entities; - +using ZoFo.GameCore.GameObjects.Entities; +using System.Net.Sockets; +using System.Net; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer; +using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player; +using System.Linq; +using System.Web; +using ZoFo.GameCore.GUI; +using ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables; +using ZoFo.GameCore.GameObjects.MapObjects.StopObjects; +using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies; namespace ZoFo.GameCore { public class Client { + #region Network part + ClientNetworkManager networkManager; public bool IsConnected { get { return networkManager.IsConnected; } } + public IPEndPoint InfoConnect => networkManager.InfoConnect; + public Client() { networkManager = new ClientNetworkManager(); networkManager.GetDataSent += OnDataSend; + + // Подписка на действия инпутменеджера. + // Отправляются данные апдейтса с обновлением инпута + AppManager.Instance.InputManager.ActionEvent += () => networkManager.AddData(new UpdateInput(){ + InputMovementDirection = AppManager.Instance.InputManager.InputMovementDirection, + InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection + }); } public void OnDataSend(string data) { List updateDatas = JsonSerializer.Deserialize>(data); // тут будет switch + AppManager.Instance.debugHud.Log(data); foreach (var item in updateDatas) { GotData(item); @@ -39,15 +60,18 @@ namespace ZoFo.GameCore } public void GameEndedUnexpectedly() { } - public void JoinRoom(string ip,int port) + + public void JoinRoom(string ip, int port) { - networkManager.JoinRoom(ip,port); + networkManager.JoinRoom(ip, port); } public void JoinYourself(int port) { networkManager.JoinYourself(port); } + #endregion List mapObjects = new List(); List gameObjects = new List(); + List stopObjects = new List(); /// /// Клиент должен обнговлять игру анимаций /// @@ -56,6 +80,7 @@ namespace ZoFo.GameCore { for (int i = 0; i < gameObjects.Count; i++) { + AppManager.Instance.debugHud.Set("GameTime", gameTime.TotalGameTime.ToString()); gameObjects[i].UpdateAnimations(); } } @@ -65,6 +90,10 @@ namespace ZoFo.GameCore { mapObjects[i].Draw(spriteBatch); } + for (int i = 0; i < stopObjects.Count; i++) + { + stopObjects[i].Draw(spriteBatch); + } for (int i = 0; i < gameObjects.Count; i++) { gameObjects[i].Draw(spriteBatch); @@ -73,7 +102,7 @@ namespace ZoFo.GameCore internal void GotData(UpdateData update) { - if (update is UpdateTileCreated) + if (update is UpdateTileCreated) { mapObjects.Add( new MapObject( @@ -83,22 +112,60 @@ namespace ZoFo.GameCore (update as UpdateTileCreated).tileSetName )); } + else if (update is UpdateStopObjectCreated) + { + stopObjects.Add( + new StopObject( + (update as UpdateStopObjectCreated).Position, + (update as UpdateStopObjectCreated).Size.ToVector2(), + (update as UpdateStopObjectCreated).sourceRectangle, + (update as UpdateStopObjectCreated).tileSetName, + (update as UpdateStopObjectCreated).collisions + )); + } else if (update is UpdateGameObjectCreated) { - var a = Assembly.GetAssembly(typeof(GameObject)); if ((update as UpdateGameObjectCreated).GameObjectType == "EntittyForAnimationTests") - { + gameObjects.Add(new EntittyForAnimationTests((update as UpdateGameObjectCreated).position)); + if ((update as UpdateGameObjectCreated).GameObjectType == "Player") + gameObjects.Add(new Player((update as UpdateGameObjectCreated).position)); + if ((update as UpdateGameObjectCreated).GameObjectType == "Ammo") + gameObjects.Add(new Ammo((update as UpdateGameObjectCreated).position)) if ((update as UpdateGameObjectCreated).GameObjectType == "Zombie") + gameObjects.Add(new Zombie((update as UpdateGameObjectCreated).position)); - gameObjects.Add( - new EntittyForAnimationTests(new Vector2(100,100)) - ); - } + + (gameObjects.Last() as Entity).SetIdByClient((update as UpdateGameObjectCreated).IdEntity); + //var a = Assembly.GetAssembly(typeof(GameObject)); //gameObjects.Add( TODO reflection //Activator.CreateInstance(Type.GetType("ZoFo.GameCore.GameObjects.Entities.EntittyForAnimationTests") ///*(update as UpdateGameObjectCreated).GameObjectType*/, new []{ new Vector2(100, 100) }) //as GameObject //); } + else if (update is UpdatePosition) + { + var ent = FindEntityById(update.IdEntity); + + ent.position = (update as UpdatePosition).NewPosition; + DebugHUD.Instance.Log("newPosition " + ent.position); + } } + + + public Entity FindEntityById(int id) + { + for (int i = 0; i < gameObjects.Count; i++) + { + if (gameObjects[i] is Entity) + { + if ((gameObjects[i] as Entity).Id == id) + { + return gameObjects[i] as Entity; + } + } + } + return null; + } + } } \ No newline at end of file diff --git a/ZoFo/GameCore/GUI/AbstractGUI.cs b/ZoFo/GameCore/GUI/AbstractGUI.cs index 0134477..e8ceb33 100644 --- a/ZoFo/GameCore/GUI/AbstractGUI.cs +++ b/ZoFo/GameCore/GUI/AbstractGUI.cs @@ -52,7 +52,7 @@ public abstract class AbstractGUI { Manager.Draw(spriteBatch); spriteBatch.Begin(); - spriteBatch.Draw(mouse, new Rectangle(mouseState.Position.X, mouseState.Position.Y, 20, 40), Color.Red); + spriteBatch.Draw(mouse, new Rectangle(mouseState.Position.X, mouseState.Position.Y, 20, 40), Color.White); spriteBatch.End(); } } \ No newline at end of file diff --git a/ZoFo/GameCore/GUI/BaseGUI.cs b/ZoFo/GameCore/GUI/BaseGUI.cs index cb159db..0949412 100644 --- a/ZoFo/GameCore/GUI/BaseGUI.cs +++ b/ZoFo/GameCore/GUI/BaseGUI.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Threading; using System.Xml; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; @@ -9,20 +10,118 @@ using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using MonogameLibrary.UI.Base; using MonogameLibrary.UI.Elements; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GameManagers.ItemManager; namespace ZoFo.GameCore.GUI; public class BaseGUI : AbstractGUI { + private DrawableUIElement menuBackground; + private List ItemDisplayButtonsList; + private int buttonIndex = 0; + private string textureName; + protected override void CreateUI() { - // int width = AppManager.Instance.inGameHUDHelperResolution.X; - // int height = AppManager.Instance.inGameHUDHelperResolution.Y; + ItemDisplayButtonsList = new List(); + int width = AppManager.Instance.CurentScreenResolution.X; + int height = AppManager.Instance.CurentScreenResolution.Y; + Dictionary playerItems = AppManager.Instance.playerData.items; + Dictionary items = AppManager.Instance.ItemManager.tagItemPairs; + + menuBackground = new DrawableUIElement(Manager) + { + rectangle = new Rectangle(0, 0, width, height), mainColor = Color.White, + textureName = "Textures\\GUI\\background\\base" + }; + Elements.Add(menuBackground); + menuBackground.LoadTexture(AppManager.Instance.Content); + + Elements.Add(new Label(Manager) + { + rectangle = new Rectangle(width / 2 - (int)(width / 8), height / 15, (int)(width / 4), (int)(height / 20)), + text = "Base", fontColor = Color.Black, mainColor = Color.Transparent, scale = 0.9f, + fontName = "Fonts\\Font" + }); + + DrawableUIElement baseHudBack = new DrawableUIElement(Manager) + { + rectangle = new Rectangle(width / 2 - (int)(width / 1.5) / 2, height / 2 - (int)(height / 1.5) / 2, + (int)(width / 1.5), (int)(height / 1.5)), + mainColor = Color.LightGray + }; + Elements.Add(baseHudBack); + + //player itams + foreach (var item in playerItems) + { + textureName = AppManager.Instance.ItemManager.GetItemInfo(item.Key).textureName; + var temp = new ItemDisplayLabel(Manager) + { + rectangle = new Rectangle(width / 2 - (int)(width / 1.5) / 2 + height / 80, + height / 2 - (int)(height / 1.5) / 2 + height / 80 + (height / 20 + height / 80) * (buttonIndex), + (int)(width / 5), (int)(height / 20)), + text1 = item.Key, + scale1 = 0.4f, + count = item.Value, + itemTextureName = textureName, + fontColor1 = Color.White, + mainColor = Color.Gray, + fontName1 = "Fonts\\Font3" + }; + Elements.Add(temp); + temp.Initialize(); + temp.LoadTexture(AppManager.Instance.Content); + ItemDisplayButtonsList.Add(temp); + + buttonIndex++; + } + + // craftable items + buttonIndex = 0; + foreach (var item in items) + { + ItemInfo itemInfo = AppManager.Instance.ItemManager.GetItemInfo(item.Key); + + if (itemInfo.isCraftable) + { + var temp = new ItemDisplayLabel(Manager) + { + rectangle = new Rectangle(width / 2 - (int)(width / 1.5) / 2 + height / 40 + width / 5, + height / 2 - (int)(height / 1.5) / 2 + height / 80 + + (height / 20 + height / 80) * (buttonIndex), + (int)(width / 5), (int)(height / 20)), + text1 = item.Key, + scale1 = 0.4f, + count = 0, + itemTextureName = itemInfo.textureName, + fontColor1 = Color.White, + mainColor = Color.Gray, + fontName1 = "Fonts\\Font3" + }; + Elements.Add(temp); + temp.Initialize(); + temp.LoadTexture(AppManager.Instance.Content); + ItemDisplayButtonsList.Add(temp); + + buttonIndex++; + } + } + + Button bTExit = new Button(Manager) + { + fontName = "Fonts\\Font3", scale = 0.4f, text = "<-", fontColor = Color.Black, + mainColor = Color.Transparent, rectangle = new Rectangle(width / 30, height / 30, width / 40, width / 40), + textureName = "Textures\\GUI\\checkboxs_off" + }; + Elements.Add(bTExit); + bTExit.LeftButtonPressed += () => { AppManager.Instance.SetGUI(new MainMenuGUI()); }; } public override void Update(GameTime gameTime) { - + base.Update(gameTime); } } \ No newline at end of file diff --git a/ZoFo/GameCore/GUI/DebugHUD.cs b/ZoFo/GameCore/GUI/DebugHUD.cs index fdc5371..294530a 100644 --- a/ZoFo/GameCore/GUI/DebugHUD.cs +++ b/ZoFo/GameCore/GUI/DebugHUD.cs @@ -13,9 +13,11 @@ public class DebugHUD private SpriteFont _spriteFont; private Dictionary _text = new(); private List _log = new(); + public static DebugHUD Instance { get; private set; } public void Initialize() { + Instance = this; } public void LoadContent() diff --git a/ZoFo/GameCore/GUI/HUD.cs b/ZoFo/GameCore/GUI/HUD.cs index a2b1892..745453a 100644 --- a/ZoFo/GameCore/GUI/HUD.cs +++ b/ZoFo/GameCore/GUI/HUD.cs @@ -9,34 +9,27 @@ using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using MonogameLibrary.UI.Base; using MonogameLibrary.UI.Elements; +using ZoFo.GameCore.GameManagers; namespace ZoFo.GameCore.GUI; -public class HUD : AbstractGUI -{ - - private GraphicsDevice graphicsDevice; - public virtual void Initialize() - { - - } - - public virtual void LoadContent() - { - - } - - public virtual void Update(GameTime gameTime) - { - - } - - public virtual void Draw(SpriteBatch spriteBatch) - { - //Manager.Draw(spriteBatch); - } - +public class HUD : AbstractGUI +{ protected override void CreateUI() - { + { + int width = AppManager.Instance.CurentScreenResolution.X; + int height = AppManager.Instance.CurentScreenResolution.Y; + + Button pauseButton = new Button(Manager) + { fontName = "Fonts\\Font3", scale = 0.4f, text = "| |", fontColor = Color.Black, mainColor = Color.Transparent, rectangle = new Rectangle(width / 30, height / 30, width / 40, width / 40), textureName = "Textures\\GUI\\checkboxs_off"}; + Elements.Add(pauseButton); + pauseButton.LeftButtonPressed += () => + { + AppManager.Instance.SetGUI(new PauseGUI()); + }; + } + public override void Update(GameTime gameTime) + { + base.Update(gameTime); } } \ No newline at end of file diff --git a/ZoFo/GameCore/GUI/MainMenuGUI.cs b/ZoFo/GameCore/GUI/MainMenuGUI.cs index e0d0c15..645faf8 100644 --- a/ZoFo/GameCore/GUI/MainMenuGUI.cs +++ b/ZoFo/GameCore/GUI/MainMenuGUI.cs @@ -40,12 +40,27 @@ public class MainMenuGUI : AbstractGUI }; playButton.LeftButtonPressed += () => { + AppManager.Instance.SoundManager.StartAmbientSound("Loot"); AppManager.Instance.SetGUI(new SelectModeMenu()); }; Elements.Add(playButton); - Button optionButton = new Button(Manager) + Button baseButton = new Button(Manager) { rectangle = new Rectangle(width / 2 - (int)(width / 10), height / 3 + (height / 20 + height / 40) * 2, (int)(width / 5), (int)(height / 20)), + text = "Base", + scale = 0.2f, + fontColor = Color.White, + mainColor = Color.Gray, + fontName = "Fonts\\Font" + }; + baseButton.LeftButtonPressed += () => + { + AppManager.Instance.SetGUI(new BaseGUI()); + }; + Elements.Add(baseButton); + Button optionButton = new Button(Manager) + { + rectangle = new Rectangle(width / 2 - (int)(width / 10), height / 3 + (height / 20 + height / 40) * 3, (int)(width / 5), (int)(height / 20)), text = "Options", scale = 0.2f, fontColor = Color.White, @@ -54,12 +69,13 @@ public class MainMenuGUI : AbstractGUI }; optionButton.LeftButtonPressed += () => { + AppManager.Instance.SoundManager.StartAmbientSound("Loot"); AppManager.Instance.SetGUI(new OptionsGUI()); }; Elements.Add(optionButton); Button exitButton = new Button(Manager) { - rectangle = new Rectangle(width / 2 - (int)(width / 10), height / 3 + (height / 20 + height / 40) * 3, (int)(width / 5), (int)(height / 20)), + rectangle = new Rectangle(width / 2 - (int)(width / 10), height / 3 + (height / 20 + height / 40) * 4, (int)(width / 5), (int)(height / 20)), text = "Exit", scale = 0.2f, fontColor = Color.White, diff --git a/ZoFo/GameCore/GUI/OptionsGUI.cs b/ZoFo/GameCore/GUI/OptionsGUI.cs index 464da7d..39db371 100644 --- a/ZoFo/GameCore/GUI/OptionsGUI.cs +++ b/ZoFo/GameCore/GUI/OptionsGUI.cs @@ -40,6 +40,7 @@ public class OptionsGUI : AbstractGUI var slider_OverallVolume = new Slider(Manager) { rectangle = new Rectangle(width / 2, height / 3, width / 10, height / 20), indentation = 7, textureName = "Textures/GUI/Switch_backgrownd", MinValue = 0, MaxValue = 1 }; slider_OverallVolume.SetValue(AppManager.Instance.SettingsManager.MainVolume); + label_OverallVolume_Percent.text = Math.Round(slider_OverallVolume.GetSliderValue * 100) + "%"; slider_OverallVolume.SliderChanged += (newVal) => { label_OverallVolume_Percent.text = Math.Round(slider_OverallVolume.GetSliderValue * 100) + "%"; @@ -60,6 +61,7 @@ public class OptionsGUI : AbstractGUI var slider_MusicVolume = new Slider(Manager) { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 1, width / 10, height / 20), indentation = 7, textureName = "Textures/GUI/Switch_backgrownd", MinValue = 0, MaxValue = 1 }; slider_MusicVolume.SetValue(AppManager.Instance.SettingsManager.MusicVolume); + label_MusicVolume_Percent.text = Math.Round(slider_MusicVolume.GetSliderValue * 100) + "%"; slider_MusicVolume.SliderChanged += (newVal) => { label_MusicVolume_Percent.text = Math.Round(slider_MusicVolume.GetSliderValue * 100) + "%"; @@ -80,6 +82,7 @@ public class OptionsGUI : AbstractGUI var slider_EffectsVolume = new Slider(Manager) { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 2, width / 10, height / 20), indentation = 7, textureName = "Textures/GUI/Switch_backgrownd", MinValue = 0, MaxValue = 1 }; slider_EffectsVolume.SetValue(AppManager.Instance.SettingsManager.SoundEffectsVolume); + label_EffectsVolume_Percent.text = Math.Round(slider_EffectsVolume.GetSliderValue * 100) + "%"; slider_EffectsVolume.SliderChanged += (newVal) => { label_EffectsVolume_Percent.text = Math.Round(slider_EffectsVolume.GetSliderValue * 100) + "%"; diff --git a/ZoFo/GameCore/GUI/PauseGUI.cs b/ZoFo/GameCore/GUI/PauseGUI.cs new file mode 100644 index 0000000..d316fb7 --- /dev/null +++ b/ZoFo/GameCore/GUI/PauseGUI.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Xml; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using MonogameLibrary.UI.Base; +using MonogameLibrary.UI.Elements; +using ZoFo.GameCore.GameManagers; + +namespace ZoFo.GameCore.GUI; + +public class PauseGUI : AbstractGUI +{ + protected override void CreateUI() + { + int width = AppManager.Instance.CurentScreenResolution.X; + int height = AppManager.Instance.CurentScreenResolution.Y; + + Button continueButton = new Button(Manager) + { + rectangle = new Rectangle(width / 2 - (int)(width / 10), height / 3 + height / 20 + height / 40, (int)(width / 5), (int)(height / 20)), + text = "Continue", + scale = 0.2f, + fontColor = Color.White, + mainColor = Color.Gray, + fontName = "Fonts\\Font" + }; + continueButton.LeftButtonPressed += () => + { + AppManager.Instance.SetGUI(new HUD()); + }; + Elements.Add(continueButton); + Button exitButton = new Button(Manager) + { + rectangle = new Rectangle(width / 2 - (int)(width / 10), height / 3 + (height / 20 + height / 40) * 2, (int)(width / 5), (int)(height / 20)), + text = "Exit", + scale = 0.2f, + fontColor = Color.White, + mainColor = Color.Gray, + fontName = "Fonts\\Font" + }; + exitButton.LeftButtonPressed += () => + { + AppManager.Instance.SetGUI(new MainMenuGUI()); + }; + Elements.Add(exitButton); + } + + public override void Update(GameTime gameTime) + { + base.Update(gameTime); + } +} \ No newline at end of file diff --git a/ZoFo/GameCore/GUI/SelectingServerGUI.cs b/ZoFo/GameCore/GUI/SelectingServerGUI.cs index fafc259..9460341 100644 --- a/ZoFo/GameCore/GUI/SelectingServerGUI.cs +++ b/ZoFo/GameCore/GUI/SelectingServerGUI.cs @@ -21,30 +21,32 @@ public class SelectingServerGUI : AbstractGUI { int width = AppManager.Instance.CurentScreenResolution.X; int height = AppManager.Instance.CurentScreenResolution.Y; - + menuBackground = new DrawableUIElement(Manager) { rectangle = new Rectangle(0, 0, width, height), mainColor = Color.White, textureName = "Textures/GUI/background/join" }; Elements.Add(menuBackground); menuBackground.LoadTexture(AppManager.Instance.Content); - - Elements.Add(new Label(Manager) { rectangle = new Rectangle(width / 2 - (int)(width / 8), height / 7, (int)(width / 4), (int)(height / 20)), text = "Select server", fontColor = Color.White, mainColor = Color.Transparent, scale = 0.9f, fontName = "Fonts/Font"}); - TextBox ipBox = new TextBox(Manager) + Elements.Add(new Label(Manager) { rectangle = new Rectangle(width / 2 - (int)(width / 8), height / 7, (int)(width / 4), (int)(height / 20)), text = "Select server", fontColor = Color.White, mainColor = Color.Transparent, scale = 0.9f, fontName = "Fonts/Font" }); + + TextBox ipBox = new TextBox(Manager) { rectangle = new Rectangle(width / 4 - (width / 4) / 2, height / 4, (int)(width / 4), (int)(height / 20)), text = "ip", - scale = 0.2f, + scale = 0.5f, fontColor = Color.White, mainColor = Color.Gray, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left, - fontName = "Fonts/Font" + fontName = "Fonts/Font3" }; - ipBox.TextChanged += input => { + ipBox.TextChanged += input => + { if (input == "ip") { ipBox.text = ""; ipBox.fontColor = Color.White; } }; - ipBox.StopChanging += input => { + ipBox.StopChanging += input => + { if (input.Length == 0) { ipBox.fontColor = Color.White; @@ -52,7 +54,7 @@ public class SelectingServerGUI : AbstractGUI } }; Elements.Add(ipBox); - Button joinButton = new Button(Manager) + Button joinButton = new Button(Manager) { rectangle = new Rectangle(width / 4 + (width / 4) / 2, height / 4, (int)(width / 15), (int)(height / 20)), text = "Join", @@ -61,23 +63,32 @@ public class SelectingServerGUI : AbstractGUI mainColor = Color.Gray, fontName = "Fonts/Font" }; - joinButton.LeftButtonPressed += () => + joinButton.LeftButtonPressed += () => { // join Client client = new Client(); - var endpoint = ipBox.text.Split(':'); + var endpoint = ipBox.text.Split(':'); int port; - if (int.TryParse(endpoint[1], out port)) + try { - client.JoinRoom(endpoint[0], port); - AppManager.Instance.SetClient(client); - AppManager.Instance.SetGUI(new WaitingForPlayersGUI(false)); + if (int.TryParse(endpoint[1], out port)) + { + client.JoinRoom(endpoint[0], port); + AppManager.Instance.SetClient(client); + AppManager.Instance.SetGUI(new WaitingForPlayersGUI(false)); + } } + catch (Exception) + { + + // throw; + } + // ваш код здесь }; Elements.Add(joinButton); - Button hostButton = new Button(Manager) + Button hostButton = new Button(Manager) { rectangle = new Rectangle(width / 4 + (width / 4) / 2 + (width / 15), height / 4, (int)(width / 15), (int)(height / 20)), text = "Host", @@ -86,22 +97,25 @@ public class SelectingServerGUI : AbstractGUI mainColor = Color.Gray, fontName = "Fonts/Font" }; - hostButton.LeftButtonPressed += () => + hostButton.LeftButtonPressed += () => { - + // host Server server = new Server(); //Server Logic MultiPlayer - server.CreateRoom(5); + Client client = new Client(); + server.CreateRoom(2); + client.JoinYourself(server.MyIp.Port); AppManager.Instance.SetServer(server); + AppManager.Instance.SetClient(client); string key = server.MyIp.ToString(); AppManager.Instance.debugHud.Set(key, "MultiPlayer"); // ваш код здесь AppManager.Instance.SetGUI(new WaitingForPlayersGUI(true)); }; Elements.Add(hostButton); - + Button bTExit = new Button(Manager) - { fontName = "Fonts/Font3", scale = 0.4f, text = "<-", fontColor = Color.Black, mainColor = Color.Transparent, rectangle = new Rectangle(width / 30, height / 30, width / 40, width / 40), textureName = "Textures/GUI/checkboxs_off"}; + { fontName = "Fonts/Font3", scale = 0.4f, text = "<-", fontColor = Color.Black, mainColor = Color.Transparent, rectangle = new Rectangle(width / 30, height / 30, width / 40, width / 40), textureName = "Textures/GUI/checkboxs_off" }; Elements.Add(bTExit); bTExit.LeftButtonPressed += () => { diff --git a/ZoFo/GameCore/GUI/WaitingForPlayersGUI.cs b/ZoFo/GameCore/GUI/WaitingForPlayersGUI.cs index 12a67b9..2764fb1 100644 --- a/ZoFo/GameCore/GUI/WaitingForPlayersGUI.cs +++ b/ZoFo/GameCore/GUI/WaitingForPlayersGUI.cs @@ -28,15 +28,19 @@ public class WaitingForPlayersGUI : AbstractGUI int width = AppManager.Instance.CurentScreenResolution.X; int height = AppManager.Instance.CurentScreenResolution.Y; - menuBackground = new DrawableUIElement(Manager) { rectangle = new Rectangle(0, 0, width, height), mainColor = Color.White, textureName = "Textures\\GUI\\background\\Waiting" }; + menuBackground = new DrawableUIElement(Manager) { rectangle = new Rectangle(0, 0, width, height), mainColor = Color.White, textureName = "Textures/GUI/background/Waiting" }; Elements.Add(menuBackground); - menuBackground.LoadTexture(AppManager.Instance.Content); + menuBackground.LoadTexture(AppManager.Instance.Content); + // string pcIp = + // string pcIp = - ip = new Label(Manager) { rectangle = new Rectangle(width / 2 - (int)(width / 8), height / 7, (int)(width / 4), (int)(height / 20)), text = AppManager.Instance.server.MyIp.ToString(), fontColor = Color.White, mainColor = Color.Transparent, scale = 0.9f, fontName = "Fonts\\Font3" }; - Elements.Add(ip); + ip = new Label(Manager) { rectangle = new Rectangle(width / 2 - (int)(width / 8), height / 7, (int)(width / 4), (int)(height / 20)), text = AppManager.Instance.server.MyIp.ToString(), fontColor = Color.White, mainColor = Color.Transparent, scale = 0.9f, fontName = "Fonts/Font3" }; + Elements.Add(ip); if (isHost) { - Button startButton = new Button(Manager) + ip = new Label(Manager) { rectangle = new Rectangle(width / 2 - (int)(width / 8), height / 7, (int)(width / 4), (int)(height / 20)), text = AppManager.Instance.server.MyIp.ToString(), fontColor = Color.White, mainColor = Color.Transparent, scale = 0.9f, fontName = "Fonts\\Font3" }; + Elements.Add(ip); + Button startButton = new Button(Manager) { rectangle = new Rectangle(width / 2 - (width / 15) / 2, height / 2 + height / 4, (int)(width / 15), (int)(height / 20)), text = "Start", @@ -45,14 +49,34 @@ public class WaitingForPlayersGUI : AbstractGUI mainColor = Color.Gray, fontName = "Fonts/Font" }; - startButton.LeftButtonPressed += () => + startButton.LeftButtonPressed += () => { // start - + AppManager.Instance.ChangeState(GameState.HostPlaying); // ваш код здесь }; Elements.Add(startButton); } + else { + ip = new Label(Manager) { rectangle = new Rectangle(width / 2 - (int)(width / 8), height / 7, (int)(width / 4), (int)(height / 20)), text = AppManager.Instance.client.InfoConnect.ToString(), fontColor = Color.White, mainColor = Color.Transparent, scale = 0.9f, fontName = "Fonts\\Font3" }; + Elements.Add(ip); + Button waitButton = new Button(Manager) + { + rectangle = new Rectangle(width / 2 - (width / 15) / 2, height / 2 + height / 4, (int)(width / 15), (int)(height / 20)), + text = "WAITING", + scale = 0.3f, + fontColor = Color.White, + mainColor = Color.Gray, + fontName = "Fonts/Font" + }; + waitButton.LeftButtonPressed += () => + { + // start + AppManager.Instance.ChangeState(GameState.ClientPlaying); + // ваш код здесь + }; + Elements.Add(waitButton); + } Button bTExit = new Button(Manager) { fontName = "Fonts/Font3", scale = 0.4f, text = "<-", fontColor = Color.Black, mainColor = Color.Transparent, rectangle = new Rectangle(width / 30, height / 30, width / 40, width / 40), textureName = "Textures/GUI/checkboxs_off"}; diff --git a/ZoFo/GameCore/GameManagers/AppManager.cs b/ZoFo/GameCore/GameManagers/AppManager.cs index 4381cfd..b129359 100644 --- a/ZoFo/GameCore/GameManagers/AppManager.cs +++ b/ZoFo/GameCore/GameManagers/AppManager.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; -using DangerousD.GameCore.Graphics; +using ZoFo.GameCore.Graphics; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; @@ -12,6 +12,7 @@ using ZoFo.GameCore.GameManagers.ItemManager; using ZoFo.GameCore.GUI; using static System.Collections.Specialized.BitVector32; using MonogameLibrary.UI.Base; +using ZoFo.GameCore.GameObjects; namespace ZoFo.GameCore.GameManagers { @@ -27,9 +28,10 @@ namespace ZoFo.GameCore.GameManagers public GameState gamestate; public AbstractGUI currentGUI; public DebugHUD debugHud; - public Point CurentScreenResolution = new Point(1920, 1080); + public Point CurentScreenResolution; public Client client; public Server server; + public PlayerData playerData; #region Managers @@ -45,21 +47,24 @@ namespace ZoFo.GameCore.GameManagers public AppManager() { - _graphics = new GraphicsDeviceManager(this); + _graphics = new GraphicsDeviceManager(this); + CurentScreenResolution = new Point(GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width, GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height); SetResolution(CurentScreenResolution.X, CurentScreenResolution.Y); - // FulscrreenSwitch(); + //FulscrreenSwitch(); Content.RootDirectory = "Content"; IsMouseVisible = true; + playerData = new PlayerData(); + ItemManager = new ItemManager.ItemManager(); Instance = this; InputManager = new InputManager(); SettingsManager = new SettingsManager(); SettingsManager.LoadSettings(); SoundManager = new SoundManager(); SoundManager.LoadSounds(); - + currentGUI = new MainMenuGUI(); debugHud = new DebugHUD(); @@ -70,7 +75,9 @@ namespace ZoFo.GameCore.GameManagers protected override void Initialize() { currentGUI.Initialize(); + debugHud.Initialize(); + ItemManager.Initialize(); base.Initialize(); @@ -80,19 +87,24 @@ namespace ZoFo.GameCore.GameManagers { _spriteBatch = new SpriteBatch(GraphicsDevice); debugHud.LoadContent(); - currentGUI.LoadContent(); + currentGUI.LoadContent(); + ItemManager.LoadItemTextures(); + + + animationBuilder = new AnimationBuilder(); animationBuilder.LoadAnimations(); - + GameObject.debugTexture = new Texture2D(GraphicsDevice, 1, 1); + GameObject.debugTexture.SetData(new Color[] { Color.White }); } protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || - Keyboard.GetState().IsKeyDown(Keys.Escape)) - Exit(); + Keyboard.GetState().IsKeyDown(Keys.Escape)) { server.CloseConnection(); Exit(); } - debugHud.Set("key", "value"); + + // debugHud.Set("key", "value"); InputManager.Update(); currentGUI.Update(gameTime); @@ -105,7 +117,7 @@ namespace ZoFo.GameCore.GameManagers client.Update(gameTime); break; case GameState.ClientPlaying: - server.Update(gameTime); + client.Update(gameTime); break; default: break; @@ -117,12 +129,10 @@ namespace ZoFo.GameCore.GameManagers protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); - - currentGUI.Draw(_spriteBatch); - debugHud.Draw(_spriteBatch); + // Pointwrap - _spriteBatch.Begin(samplerState: SamplerState.PointWrap); + _spriteBatch.Begin(samplerState: SamplerState.PointWrap); switch (gamestate) { case GameState.ClientPlaying: @@ -133,7 +143,10 @@ namespace ZoFo.GameCore.GameManagers default: break; } - _spriteBatch.End(); + + _spriteBatch.End(); + currentGUI.Draw(_spriteBatch); + debugHud.Draw(_spriteBatch); base.Draw(gameTime); } diff --git a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs index 0ba9816..fa9f9d6 100644 --- a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs +++ b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs @@ -1,58 +1,70 @@ -using System; +using Microsoft.Win32; +using Microsoft.Xna.Framework; +using System; using System.Collections.Generic; -using System.Drawing; using System.Linq; using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; +using ZoFo.GameCore.GameObjects; using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player; namespace ZoFo.GameCore.GameManagers.CollisionManager { public class CollisionComponent - { - //поля - public Rectangle Bounds { get; set; } + { + //==КОНСТРУКТОР== + public CollisionComponent(GameObject gameObject) + { + + this.gameObject = gameObject; + hasCollision = false; + this.isTrigger = false; + } + + public CollisionComponent(GameObject gameObject, bool hasCollision = false, Rectangle? collisionRectangle = null, bool isTrigger = false, Rectangle? triggerRectangle = null) + { + this.gameObject = gameObject; + + this.hasCollision = hasCollision; + this.isTrigger = isTrigger; + if (hasCollision) + this.stopRectangle = collisionRectangle.Value; + if (isTrigger) + this.triggerRectangle = triggerRectangle.Value; + + + + + } + + //==ПОЛЯ== + + public GameObject gameObject { get; set; } + - //остановлен ли перс bool doesStop; - Rectangle stopRectangle; + bool hasCollision; + public Rectangle stopRectangle; // triggers for rectangle bool isTrigger; - Rectangle triggerRectangle; + public Rectangle triggerRectangle; //delegate public delegate void EventHandler(object sender, EventArgs e); - public CollisionComponent(int x, int y, int width, int height) - { - Bounds = new Rectangle(x, y, width, height); - } - //events + + //events DoorInteraction public event EventHandler OnTriggerEnter; public event EventHandler OnTriggerZone; public event EventHandler OnTriggerExit; + + public event EventHandler OnCollision; - // methods-event - public void TriggerEnter(object component, Player player, - EventArgs e) - { - - } - public void TriggerZone(object component,Player player, - EventArgs e) - { - - } - public void TriggerExit(object component,Player player, - EventArgs e) - { - - } - - + + } } diff --git a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs index 5242d4a..25736fe 100644 --- a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs +++ b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs @@ -1,7 +1,6 @@ using Microsoft.VisualBasic; using System; using System.Collections.Generic; -using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -9,52 +8,146 @@ using ZoFo.GameCore.GameObjects; using ZoFo.GameCore.GameManagers.CollisionManager; using Microsoft.Xna.Framework; using ZoFo.GameCore.GameManagers.MapManager.MapElements; +using ZoFo.GameCore.GameObjects.Entities; +using ZoFo.GameCore.GameObjects.Entities.LivingEntities; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore.GameManagers.CollisionManager { public class CollisionManager { - public List CollisionComponent; - public List TriggerComponent; + //листики - public void RegisterComponent() - { - - } + public List ObjectsWithCollisions; + public List EntitiesWithMovements; + public List ObjectsWithTriggers; - public static bool CheckComponentCollision(List collisionComponents, CollisionComponent component) + + //чекаем коллизии в листе + public void CheckComponentCollision(CollisionComponent componentOfEntity) { - foreach (var collisionComponent in collisionComponents) + var entity = componentOfEntity.gameObject as LivingEntity; + //for (int i = 0; i < ObjectsWithCollisions.Count; i++) + //{ + var currentRect = entity.collisionComponent.stopRectangle;//задаём РЕК + currentRect.X+=(int)entity.position.X; + currentRect.Y+=(int)entity.position.Y; + + var newRect = currentRect; // задаём значение старого РЕК новому РЕК + + + var collidedX = false; // соприкосновение + var tryingRectX = currentRect;//переменная для попытки перемещения по X + + tryingRectX.Offset((int)(entity.velocity.X), 0);//задаём значения для tryingRectX по X и по Y + + foreach (var item in ObjectsWithCollisions)//фильтрация { - if (component.Bounds.IntersectsWith(collisionComponent.Bounds)) + if (item == componentOfEntity) continue; + + Rectangle rectChecking = item.stopRectangle.SetOrigin(item.gameObject.position); + if (Math.Abs(item.gameObject.position.X - componentOfEntity.gameObject.position.X) < 550 + && Math.Abs(item.gameObject.position.Y - componentOfEntity.gameObject.position.Y) < 550 + && tryingRectX.Intersects(rectChecking)) + { - return true; + collidedX = true;// меняем значение соприкосновения на true + entity.OnCollision(item);//подписываем entity на ивент коллизии + + break;// выход } } - return false; + if (collidedX)// срабатывает, если перемещение блокируется + { + entity.velocity.X = 0;// задаём значение смещения entity на 0 + } + else + { + entity.position.X += entity.velocity.X; //update player position + newRect.X = tryingRectX.X;//значение по X для нового РЕК приравниваем к значению испытуемого РЕК + } + + //==ПОВТОРЯЕМ ТОЖЕ САМОЕ ДЛЯ Y== + + var collidedY = false; // соприкосновение + var tryingRectY = currentRect;//переменная для попытки перемещения по X + + tryingRectY.Offset(new Point(0, (int)entity.velocity.Y));//задаём значения для tryingRectX по X и по Y + + foreach (var item in ObjectsWithCollisions)//фильтрация + { + if (item == componentOfEntity) continue; + Rectangle rectChecking = item.stopRectangle.SetOrigin(item.gameObject.position); + if (Math.Abs(item.gameObject.position.X - componentOfEntity.gameObject.position.X) < 550 + && Math.Abs(item.gameObject.position.Y - componentOfEntity.gameObject.position.Y) < 550 + && tryingRectY.Intersects(rectChecking)) + + { + collidedY = true;// меняем значение соприкосновения на true + entity.OnCollision(item);//подписываем entity на ивент коллизии + + break;// выход + } + } + + if (collidedY)// срабатывает, если перемещение блокируется + { + entity.velocity.Y = 0;// задаём значение смещения entity на 0 + } + else + { + entity.position.Y += entity.velocity.Y; + newRect.Y = tryingRectY.Y;//значение по X для нового РЕК приравниваем к значению испытуемого РЕК + } + + entity.graphicsComponent.ObjectDrawRectangle.X = (int)entity.position.X; + entity.graphicsComponent.ObjectDrawRectangle.Y = (int)entity.position.Y; + AppManager.Instance.server.AddData(new UpdatePosition() { NewPosition = entity.position, IdEntity = entity.Id }); + AppManager.Instance.debugHud.Set("testPos", entity.position.ToString()); //TODO remove + entity.velocity = Vector2.Zero; } - public void UpdateComponentCollision(List collisionComponents) - { - - } + //обновление позиции объекта public void UpdatePositions() { - + foreach (var item in EntitiesWithMovements) + { + CheckComponentCollision(item); + } } - //public void GetObjectInArea(Rectangle area) - //{ - //} + public CollisionManager() + { + //graphicsComponent + //.ObjectDrawRectangle = new Rectangle(0, 0, 16 * 12, 16 * 16); + EntitiesWithMovements = new List(); + ObjectsWithCollisions = new List(); + } + //регистрация компонента(его коллизии) + public void Register(CollisionComponent component) + { + ObjectsWithCollisions.Add(component); + if (component.gameObject is LivingEntity) + { + EntitiesWithMovements.Add(component); + } + } - //public void Register(Rectangle rectangle) - //{ - - //} } + public static class ExtentionClass + { + public static Rectangle SetOrigin(this Rectangle rectangle, Vector2 origin) + { + rectangle.X = (int)origin.X; + rectangle.Y = (int)origin.Y; + return rectangle; + } + } + } diff --git a/ZoFo/GameCore/GameManagers/InputManager.cs b/ZoFo/GameCore/GameManagers/InputManager.cs index 4ee0980..dd13535 100644 --- a/ZoFo/GameCore/GameManagers/InputManager.cs +++ b/ZoFo/GameCore/GameManagers/InputManager.cs @@ -1,29 +1,37 @@ using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics.PackedVector; using Microsoft.Xna.Framework.Input; using System; +using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Formats.Tar; using System.Linq; +using System.Reflection.Metadata.Ecma335; using System.Text; using System.Threading.Tasks; namespace ZoFo.GameCore.GameManagers { - public enum ScopeState { Left, Right, Straight, Back, StraightLeft, StraightRight, BackLeft, BackRight } + public enum ScopeState { Idle, Left, Right, Straight, Back, StraightLeft, StraightRight, BackLeft, BackRight } public class InputManager { - public delegate void Delegat(); - public event Delegat ShootEvent; // событие удара(когда нажат X, событие срабатывает) + public event Action ShootEvent; // событие удара(когда нажат X, событие срабатывает) - public event Delegat OnInteract; // событие взаимодействия с collectable(например, лутом) + public event Action OnInteract; // событие взаимодействия с collectable(например, лутом) //с помощью кнопки E. - public event Delegat TalkEvent; + public event Action ActionEvent; + public Vector2 InputMovementDirection; + private Vector2 prevInputMovementDirection; + public Vector2 InputAttackDirection; + private Vector2 prevInputAttackDirection; - Vector2 vectorMovementDirection; - ScopeState currentScopeState; // Положение оружия. Left, Right, Straight, Back, StraightLeft, StraightRight, BackLeft, BackRight. + public event Action TalkEvent; + + public ScopeState currentScopeState; // Положение оружия. Left, Right, Straight, Back, StraightLeft, StraightRight, BackLeft, BackRight. + private ScopeState prevCurrentScopeState; private bool _cheatsEnabled = false; public bool InvincibilityCheat { get; private set; } = false; public bool CollisionsCheat { get; private set; } = false; @@ -34,18 +42,16 @@ namespace ZoFo.GameCore.GameManagers private KeyboardState lastKeyboardState; private GamePadState lastGamePadState; - - - public Vector2 VectorMovementDirection { get => vectorMovementDirection; } public ScopeState ScopeState { get => currentScopeState; } public string currentControlsState; public ScopeState CurrentScopeState { get => currentScopeState; } // получить текущее состояние public InputManager() { + InputMovementDirection = new Vector2(0, 0); + InputAttackDirection = new Vector2(0, 0); this.isShoot = false; - currentScopeState = ScopeState.Straight; - vectorMovementDirection = new Vector2(0, 0); + currentScopeState = ScopeState.Idle; } public void Update() { @@ -59,7 +65,8 @@ namespace ZoFo.GameCore.GameManagers #region Работа с GamePad #region Обработка гейм-пада. Задает Vector2 vectorMovementDirection являющийся вектором отклонения левого стика. GamePadState gamePadState = GamePad.GetState(0); - vectorMovementDirection = gamePadState.ThumbSticks.Left; + InputMovementDirection = gamePadState.ThumbSticks.Left; + InputAttackDirection = gamePadState.ThumbSticks.Right; #endregion #region читы @@ -75,39 +82,38 @@ namespace ZoFo.GameCore.GameManagers } #endregion // Cheats - #region Обработка положения оружия. Задает значение полю scopeState. - if (vectorMovementDirection.Y >= 0.6) - { - currentScopeState = ScopeState.Straight; - } - else if(vectorMovementDirection.Y <= 0.6) - { - currentScopeState = ScopeState.Back; - } - else if(vectorMovementDirection.X >= 0.6) - { + #region set ScopeState + int currentSection = (int)Math.Ceiling(Math.Atan2(InputMovementDirection.Y, + InputMovementDirection.X) * 180 / Math.PI * 16 / 360); + switch(currentSection){ + case 1 or 0 or 16: currentScopeState = ScopeState.Right; - } - else if(vectorMovementDirection.X <= 0.6) - { - currentScopeState = ScopeState.Left; - } - else if(vectorMovementDirection.Y >= 0.6 && vectorMovementDirection.X >= 0.6) - { + break; + case 2 or 3: currentScopeState = ScopeState.StraightRight; - } - else if(vectorMovementDirection.Y >= 0.6 && vectorMovementDirection.X <= 0.6) - { + break; + case 4 or 5: + currentScopeState = ScopeState.Straight; + break; + case 6 or 7: currentScopeState = ScopeState.StraightLeft; - } - else if(vectorMovementDirection.Y <= 0.6 && vectorMovementDirection.X >= 0.6) - { - currentScopeState = ScopeState.BackRight; - } - else if(vectorMovementDirection.Y <= 0.6 && vectorMovementDirection.X <= 0.6) - { + break; + case 8 or 9: + currentScopeState = ScopeState.Left; + break; + case 10 or 11: currentScopeState = ScopeState.BackLeft; + break; + case 12 or 13: + currentScopeState = ScopeState.Back; + break; + case 14 or 15: + currentScopeState = ScopeState.BackRight; + break; + default: + break; } + #endregion #region Обработка нажатия выстрела. Вызывает событие ShootEvent @@ -126,10 +132,21 @@ namespace ZoFo.GameCore.GameManagers lastGamePadState = gamePadState; #endregion #region Работа с KeyBoard + + #region InputAttack with mouse + MouseState mouseState = Mouse.GetState(); + AppManager.Instance.debugHud.Set("mouse position", $"({mouseState.X}, {mouseState.Y}"); + // TODO: CurentScreenResolution + Vector2 a = (AppManager.Instance.CurentScreenResolution / new Point(2, 2)).ToVector2(); + + InputAttackDirection = Vector2.Normalize(new Vector2(mouseState.X - a.X, mouseState.Y - a.Y)); + AppManager.Instance.debugHud.Set("AttackDir(normalize)", $"({a.X}, {a.Y})"); + #endregion + #region Состояние клавиатуры KeyboardState keyBoardState = Keyboard.GetState(); // Состояние клавиатуры #endregion - + #region читы if (keyBoardState.IsKeyDown(Keys.LeftShift) && keyBoardState.IsKeyDown(Keys.RightShift)) _cheatsEnabled = true; @@ -219,6 +236,17 @@ namespace ZoFo.GameCore.GameManagers lastKeyboardState = keyBoardState; #endregion + #region ActionEvent + if(InputMovementDirection != prevInputMovementDirection || + InputAttackDirection != prevInputAttackDirection || + currentScopeState != prevCurrentScopeState) + { + ActionEvent?.Invoke(); + } + prevInputMovementDirection = InputMovementDirection; + prevInputAttackDirection = InputAttackDirection; + prevCurrentScopeState = currentScopeState; + #endregion } } } diff --git a/ZoFo/GameCore/GameManagers/ItemManager/ItemInfo.cs b/ZoFo/GameCore/GameManagers/ItemManager/ItemInfo.cs index 375d745..6461dc6 100644 --- a/ZoFo/GameCore/GameManagers/ItemManager/ItemInfo.cs +++ b/ZoFo/GameCore/GameManagers/ItemManager/ItemInfo.cs @@ -7,14 +7,14 @@ using System.Threading.Tasks; namespace ZoFo.GameCore.GameManagers.ItemManager { - class ItemInfo + public class ItemInfo { //поля string tag; - string textureName; + public string textureName; Texture2D itemTexture; - bool isCraftable; - Dictionary resourcesNeededToCraft; + public bool isCraftable; + public Dictionary resourcesNeededToCraft; public ItemInfo (string tag) { this.tag = tag; diff --git a/ZoFo/GameCore/GameManagers/ItemManager/ItemManager.cs b/ZoFo/GameCore/GameManagers/ItemManager/ItemManager.cs index 6d00e0c..3b982e6 100644 --- a/ZoFo/GameCore/GameManagers/ItemManager/ItemManager.cs +++ b/ZoFo/GameCore/GameManagers/ItemManager/ItemManager.cs @@ -9,24 +9,30 @@ namespace ZoFo.GameCore.GameManagers.ItemManager public class ItemManager { //поля - Dictionary tagItemPairs; + public Dictionary tagItemPairs; //методы - ItemInfo GetItemInfo(string tag) + public ItemInfo GetItemInfo(string tag) { - return tagItemPairs.GetValueOrDefault(tag); + return tagItemPairs[tag]; } - void LoadItemTextures() + public void LoadItemTextures() { foreach (var item in tagItemPairs) { item.Value.LoadTexture(); } } - void Initialize() - { - tagItemPairs.Add("wood", new ItemInfo("wood","wood",false,null)); - tagItemPairs.Add("rock", new ItemInfo("rock", "rock", false, null)); - tagItemPairs.Add("steel", new ItemInfo("steel", "steel", false, null)); + public void Initialize() + { + tagItemPairs = new Dictionary(); + tagItemPairs.Add("wood", new ItemInfo("wood","Textures\\Test\\wood",false,null)); + tagItemPairs.Add("rock", new ItemInfo("rock", "Textures\\Test\\rock", false, null)); + tagItemPairs.Add("steel", new ItemInfo("steel", "Textures\\Test\\steel", false, null)); + tagItemPairs.Add("pickaxe", new ItemInfo("steel", "Textures\\Test\\pickaxe", true, new Dictionary() + { + {"wood", 2}, + {"Steel", 3} + })); } } diff --git a/ZoFo/GameCore/GameManagers/ItemManager/PlayerData.cs b/ZoFo/GameCore/GameManagers/ItemManager/PlayerData.cs index 1dfc351..5a6c78e 100644 --- a/ZoFo/GameCore/GameManagers/ItemManager/PlayerData.cs +++ b/ZoFo/GameCore/GameManagers/ItemManager/PlayerData.cs @@ -9,16 +9,42 @@ namespace ZoFo.GameCore.GameManagers.ItemManager /// /// Класс хранит информацю о количестве ресурсов у игрока /// - internal class PlayerData + public class PlayerData { - Dictionary items; + public PlayerData() + { + LoadPlayerData(); + } + public Dictionary items; /// /// Принимает тэг и крафтит этот объект /// /// - public void CraftItem(string itemTag) + public bool CraftItem(string itemTag) + { + Dictionary needToCraft = AppManager.Instance.ItemManager.GetItemInfo(itemTag).resourcesNeededToCraft; + foreach (var item in needToCraft) + { + if (items[item.Key] < item.Value) + { + return false; + } + } + + foreach (var item in needToCraft) + { + items[item.Key] -= item.Value; + } + return true; + } + + public void LoadPlayerData() { //TODO + items = new Dictionary(); + items.Add("wood", 2); + items.Add("steel", 110); + items.Add("rock", 6); } } } diff --git a/ZoFo/GameCore/GameManagers/MapManager/MapElements/Object.cs b/ZoFo/GameCore/GameManagers/MapManager/MapElements/Object.cs new file mode 100644 index 0000000..f4c4336 --- /dev/null +++ b/ZoFo/GameCore/GameManagers/MapManager/MapElements/Object.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZoFo.GameCore.GameManagers.MapManager.MapElements +{ + public class Object + { + public double Height { get; set; } + public double Width { get; set; } + public double X { get; set; } + public double Y { get; set; } + } +} diff --git a/ZoFo/GameCore/GameManagers/MapManager/MapElements/ObjectGroup.cs b/ZoFo/GameCore/GameManagers/MapManager/MapElements/ObjectGroup.cs new file mode 100644 index 0000000..ac77f14 --- /dev/null +++ b/ZoFo/GameCore/GameManagers/MapManager/MapElements/ObjectGroup.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZoFo.GameCore.GameManagers.MapManager.MapElements +{ + public class ObjectGroup + { + public string Name { get; set; } + public List Objects { get; set; } + } +} diff --git a/ZoFo/GameCore/GameManagers/MapManager/MapElements/Tile.cs b/ZoFo/GameCore/GameManagers/MapManager/MapElements/Tile.cs new file mode 100644 index 0000000..88ce815 --- /dev/null +++ b/ZoFo/GameCore/GameManagers/MapManager/MapElements/Tile.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZoFo.GameCore.GameManagers.MapManager.MapElements +{ + public class Tile + { + public int Id { get; set; } + public string Type { get; set; } + public ObjectGroup Objectgroup { get; set; } + } +} diff --git a/ZoFo/GameCore/GameManagers/MapManager/MapElements/TileSet.cs b/ZoFo/GameCore/GameManagers/MapManager/MapElements/TileSet.cs index 61eddce..a271d8b 100644 --- a/ZoFo/GameCore/GameManagers/MapManager/MapElements/TileSet.cs +++ b/ZoFo/GameCore/GameManagers/MapManager/MapElements/TileSet.cs @@ -20,5 +20,6 @@ namespace ZoFo.GameCore.GameManagers.MapManager.MapElements public int TileWidth { get; set; } public int Columns { get; set; } public int FirstGid { get; set; } + public List Tiles { get; set; } } } diff --git a/ZoFo/GameCore/GameManagers/MapManager/MapManager.cs b/ZoFo/GameCore/GameManagers/MapManager/MapManager.cs index d65d74c..0d6a569 100644 --- a/ZoFo/GameCore/GameManagers/MapManager/MapManager.cs +++ b/ZoFo/GameCore/GameManagers/MapManager/MapManager.cs @@ -11,14 +11,13 @@ using System.Threading.Tasks; using ZoFo.GameCore.GameManagers.MapManager.MapElements; using ZoFo.GameCore.GameObjects.MapObjects; using ZoFo.GameCore.GameObjects.MapObjects.StopObjects; -using ZoFo.GameCore.GameObjects.MapObjects.Tiles; namespace ZoFo.GameCore.GameManagers.MapManager { public class MapManager { - private static readonly string _templatePath = "Content/MapData/TileMaps/{0}.tmj"; + //private static readonly float _scale = 1.0f; private List _tileSets = new List(); @@ -33,7 +32,8 @@ namespace ZoFo.GameCore.GameManagers.MapManager { PropertyNameCaseInsensitive = true }; - TileMap tileMap = JsonSerializer.Deserialize(File.ReadAllText(string.Format(_templatePath, mapName)), options); + TileMap tileMap = + JsonSerializer.Deserialize(File.ReadAllText(string.Format(_templatePath, mapName)), options); // Загрузка TileSet-ов по TileSetInfo List tileSets = new List(); @@ -43,6 +43,7 @@ namespace ZoFo.GameCore.GameManagers.MapManager tileSet.FirstGid = tileSetInfo.FirstGid; tileSets.Add(tileSet); } + tileSets.Reverse(); foreach (var layer in tileMap.Layers) { @@ -52,32 +53,45 @@ namespace ZoFo.GameCore.GameManagers.MapManager { foreach (var tileSet in tileSets) { - if (tileSet.FirstGid - chunk.Data[i] <= 0) + if (tileSet.FirstGid <= chunk.Data[i]) { int number = chunk.Data[i] - tileSet.FirstGid; int relativeColumn = number % tileSet.Columns; - int relativeRow = number / tileSet.Columns; + int relativeRow = number / tileSet.Columns; // относительно левого угла чанка - Rectangle sourceRectangle = new Rectangle(relativeColumn * tileSet.TileWidth, relativeRow * tileSet.TileHeight, - tileSet.TileWidth, tileSet.TileHeight); + Rectangle sourceRectangle = new Rectangle(relativeColumn * tileSet.TileWidth, + relativeRow * tileSet.TileHeight, + tileSet.TileWidth, tileSet.TileHeight); - Vector2 position = new Vector2((i % chunk.Width) * tileSet.TileWidth + chunk.X * tileSet.TileWidth, - (i / chunk.Height) * tileSet.TileHeight + chunk.Y * tileSet.TileHeight) ; + Vector2 position = new Vector2( + (i % chunk.Width) * tileSet.TileWidth + chunk.X * tileSet.TileWidth, + (i / chunk.Height) * tileSet.TileHeight + chunk.Y * tileSet.TileHeight); - switch (layer.Class) + Tile tile = tileSet.Tiles[number]; // По факту может быть StopObjectom, но на уровне Tiled это все в первую очередь Tile + + switch (tile.Type) { case "Tile": - AppManager.Instance.server.RegisterGameObject(new MapObject(position, new Vector2(tileSet.TileWidth, tileSet.TileHeight), - sourceRectangle, "Textures/TileSetImages/" + Path.GetFileName(tileSet.Image).Replace(".png", ""))); + AppManager.Instance.server.RegisterGameObject(new MapObject(position, + new Vector2(tileSet.TileWidth, tileSet.TileHeight), + sourceRectangle, + "Textures/TileSets/" + + Path.GetFileName(tileSet.Image).Replace(".png", ""))); break; case "StopObject": - // new StopObject(position, new Vector2(tileSet.TileWidth * _scale, tileSet.TileHeight * _scale), sourceRectangle, tileSet.Name); + var collisionRectangles = LoadRectangles(tile); // Грузит коллизии обьектов + AppManager.Instance.server.RegisterGameObject(new StopObject(position/4,//TODO + new Vector2(tileSet.TileWidth, tileSet.TileHeight), + sourceRectangle, + "Textures/TileSets/" + + Path.GetFileName(tileSet.Image).Replace(".png", ""), + collisionRectangles.ToArray())); break; default: break; } - + break; } } } @@ -102,5 +116,26 @@ namespace ZoFo.GameCore.GameManagers.MapManager return JsonSerializer.Deserialize(data, options); } } + + /// + /// Загружает все квадраты коллизии тайла. + /// + /// + /// + private List LoadRectangles(Tile tile) + { + if (tile.Objectgroup == null) + { + return new List(); + } + + List collisionRectangles = new List(); + foreach (var obj in tile.Objectgroup.Objects) + { + collisionRectangles.Add(new Rectangle((int)obj.X, (int)obj.Y, (int)obj.Width, (int)obj.Height)); + } + + return collisionRectangles; + } } -} +} \ No newline at end of file diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs b/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs index 2a93f71..465eabf 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Data.SqlTypes; +using System.Linq; using System.Net; using System.Net.Sockets; using System.Security.Cryptography.X509Certificates; @@ -97,9 +98,17 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager public static IPAddress GetIp() { - string hostName = Dns.GetHostName(); // Retrive the Name of HOST - string myIP = Dns.GetHostByName(hostName).AddressList[1].ToString();// Get the IP - return IPAddress.Parse(myIP); + string hostName = Dns.GetHostName(); // Retrive the Name of HOST + var ipList = Dns.GetHostByName(hostName).AddressList; + foreach (var ip in ipList) + { + if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) + { + return ip; + } + } + return IPAddress.Loopback; + } //поток 2 @@ -108,7 +117,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager while(socket.Connected) { byte[] bytes = new byte[2048]; - var countAnsw = socket.Receive(bytes); + var countAnsw = socket.Receive(bytes); //Вылетает если кто то закрыл string update = Encoding.UTF8.GetString(bytes, 0, countAnsw); // обновление отосланные сервером GetDataSent(update); } diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs b/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs index 27e2448..fa4a718 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs @@ -37,8 +37,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager /// private void Init() { - ip = GetIp(); - endPoint = new IPEndPoint(ip, port); + endPoint = new IPEndPoint(GetIp(), port); socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); managerThread = new Dictionary(); clients = new List(); @@ -53,9 +52,17 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager /// public static IPAddress GetIp() { - string hostName = Dns.GetHostName(); // Retrive the Name of HOST - string myIP = Dns.GetHostByName(hostName).AddressList[1].ToString();// Get the IP - return IPAddress.Parse(myIP); + string hostName = Dns.GetHostName(); // Retrive the Name of HOST + var ipList = Dns.GetHostByName(hostName).AddressList; + foreach (var ip in ipList) + { + if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) + { + return ip; + } + } + return IPAddress.Loopback; + } /// @@ -70,7 +77,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager } updates.Clear(); return; //TODO TODO REMOVE TO ADD NETWORK TODO REMOVE TO ADD NETWORK TODO REMOVE TO ADD NETWORK TODO REMOVE TO ADD NETWORK - + //Что это? //по 10 паков за раз TODO FIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXIT List datasToSend = new List(); for (int i = 0; i < 5 && i @@ -166,7 +176,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager string response = Encoding.UTF8.GetString(buff, 0, answ); GetDataSend(response); } - Thread.Sleep(-1); + Task.Delay(-1); } } diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ClientToServer/UpdateInput.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ClientToServer/UpdateInput.cs index bb2ea93..350fd41 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ClientToServer/UpdateInput.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ClientToServer/UpdateInput.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Xna.Framework; +using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; @@ -8,10 +10,13 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer { public class UpdateInput :UpdateData { - // public int IdEntity { get; set; } - public UpdateInput() - { - UpdateType = "UpdateInput"; - } + // public int IdEntity { get; set; } + public Vector2 InputMovementDirection{get;set;} + public Vector2 InputAttackDirection {get;set;} + public UpdateInput() + { + UpdateType = "UpdateInput"; + } + } } diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateGameObjectCreated.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateGameObjectCreated.cs index 0ca86a4..8e1b5b6 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateGameObjectCreated.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateGameObjectCreated.cs @@ -1,4 +1,5 @@ -using System; +using Microsoft.Xna.Framework; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -14,5 +15,6 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient public UpdateGameObjectCreated() { UpdateType = "UpdateGameObjectCreated"; } public string GameObjectType; public string GameObjectId; + public Vector2 position; } } diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateGameObjectDeleted.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateGameObjectDeleted.cs index 88d4e98..25415e1 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateGameObjectDeleted.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateGameObjectDeleted.cs @@ -12,5 +12,6 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient public class UpdateGameObjectDeleted : UpdateData { public UpdateGameObjectDeleted() { UpdateType = "UpdateGameObjectDeleted"; } + public string GameObjectType; } } \ No newline at end of file diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateInteraction.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateInteraction.cs index e42f0f4..6f4711d 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateInteraction.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateInteraction.cs @@ -4,7 +4,13 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; /// При попытке взаимодействия с объектом /// public class UpdateInteraction : UpdateData -{ +{ + public UpdateInteraction() { UpdateType = "UpdateInteraction"; } + public UpdateInteraction(int id) + { + IdEntity = id; + } + public int IdEntity { get; set; } - public string UpdateType { get; set; } + public string UpdateType { get; set; } } \ No newline at end of file diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateInteractionReady.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateInteractionReady.cs index db4d01d..591bc1b 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateInteractionReady.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateInteractionReady.cs @@ -9,6 +9,6 @@ public class UpdateInteractionReady(int idEntity, bool isReady) : UpdateData { public int IdEntity { get; set; } = idEntity; - public string UpdateType { get; set; } + public string UpdateType { get; set; } = "UpdateInteractionReady"; public bool IsReady { get; set; } = isReady; } \ No newline at end of file diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateLoot.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateLoot.cs index 2337f74..b69a860 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateLoot.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateLoot.cs @@ -11,6 +11,12 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient /// public class UpdateLoot : UpdateData { - public UpdateLoot() { UpdateType = "UpdateLoot"; } + public string lootName; + public UpdateLoot() { UpdateType = "UpdateLoot"; } + public UpdateLoot(string lootName) + { + UpdateType = "UpdateLoot"; + this.lootName = lootName; + } } } diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdatePosition.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdatePosition.cs index 8d93d7b..189a299 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdatePosition.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdatePosition.cs @@ -1,16 +1,20 @@ -using System; +using Microsoft.Xna.Framework; +using System; using System.Collections.Generic; -using System.Linq; +using System.Linq; using System.Text; using System.Threading.Tasks; +using ZoFo.GameCore.GameObjects.Entities.LivingEntities; namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient { /// /// Хранит новую позицию /// - public class UpdatePosition : UpdateData + public class UpdatePosition : UpdateData { public UpdatePosition() { UpdateType = "UpdatePosition"; } + + public Vector2 NewPosition { get; set; } } } diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateTileCreated.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateTileCreated.cs index 0799653..2cf477b 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateTileCreated.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ServerToClient/UpdateTileCreated.cs @@ -23,4 +23,17 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient public Rectangle sourceRectangle { get; set; } public string tileSetName { get; set; } } + /// + /// При создании тайла TODO move to another file + /// + public class UpdateStopObjectCreated : UpdateData + { + public UpdateStopObjectCreated() { UpdateType = "UpdateStopObjectCreated"; } + public Texture2D TextureTile { get; set; } + public Vector2 Position { get; set; } + public Point Size { get; set; } + public Rectangle sourceRectangle { get; set; } + public string tileSetName { get; set; } + public Rectangle[] collisions { get; set; } + } } diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/UpdateData.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/UpdateData.cs index a96b270..65ef2d2 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/UpdateData.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/UpdateData.cs @@ -26,7 +26,17 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates public class UpdateData { - public int IdEntity { get; set; } //Id объекта + public int IdEntity { get; set; } //Id объекта public string UpdateType { get; protected set; } //тип обновления + + public UpdateData() + { + + } + + public UpdateData(int idEntity) + { + this.IdEntity = idEntity; + } } } diff --git a/ZoFo/GameCore/GameManagers/SoundManager.cs b/ZoFo/GameCore/GameManagers/SoundManager.cs index 0494dae..da8880b 100644 --- a/ZoFo/GameCore/GameManagers/SoundManager.cs +++ b/ZoFo/GameCore/GameManagers/SoundManager.cs @@ -6,9 +6,10 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using System.Linq; -using DangerousD.GameCore.Graphics; + using Newtonsoft.Json; using Microsoft.Xna.Framework.Media; +using ZoFo.GameCore.GUI; namespace ZoFo.GameCore.GameManagers { @@ -20,23 +21,27 @@ namespace ZoFo.GameCore.GameManagers public void LoadSounds() // метод для загрузки звуков из папки { - var k = Directory.GetFiles("../../..//Content//sounds").Where(x => x.EndsWith("wav")); - + //List sounds = AppManager.Instance.Content.Load>("sounds/"); + var k = Directory.GetFiles(Path.Combine(AppContext.BaseDirectory, "Content", "sounds")).Where(x => x.EndsWith("xnb")); if (k.Count() > 0) { - string[] soundFiles = k.Select(x => x.Split("\\").Last().Split("/").Last().Replace(".wav", "")).ToArray();// папка со звуками там где exe + string[] soundFiles = k.Select(x => x.Split("\\").Last().Split("/").Last().Replace(".xnb", "")).ToArray();// папка со звуками там где exe foreach (var soundFile in soundFiles) { - Sounds.Add(soundFile, AppManager.Instance.Content.Load("sounds//" + soundFile)); + Sounds.Add(soundFile, AppManager.Instance.Content.Load(Path.Combine("sounds", soundFile))); } } - - if (k.Count() > 0) + /*/if (sounds.Count() > 0) { + foreach (var soundFile in sounds) + { + Sounds.Add(soundFile, AppManager.Instance.Content.Load("sounds/" + soundFile)); + } + }/*/ + - } } public void StartAmbientSound(string soundName) // запустить звук у которого нет позиции diff --git a/ZoFo/GameCore/GameObjects/Entities/EntittyForAnimationTests.cs b/ZoFo/GameCore/GameObjects/Entities/EntittyForAnimationTests.cs index 7d2d3c5..2bad778 100644 --- a/ZoFo/GameCore/GameObjects/Entities/EntittyForAnimationTests.cs +++ b/ZoFo/GameCore/GameObjects/Entities/EntittyForAnimationTests.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using ZoFo.GameCore.ZoFo_graphics; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore.GameObjects.Entities { @@ -12,13 +12,18 @@ namespace ZoFo.GameCore.GameObjects.Entities { //public override GraphicsComponent graphicsComponent { get; } = new GraphicsComponent(new List { "тут пишите название анимации" }, "сдублируйте " + - public override GraphicsComponent graphicsComponent { get; } = new GraphicsComponent(new List { "player_look_left_up_weapon" }, "player_look_left_up_weapon"); + + + public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List { "player_idle_rotate_weapon" }, "player_idle_rotate_weapon"); + public EntittyForAnimationTests(Vector2 position) : base(position) { - graphicsComponent.ObjectDrawRectangle = new Rectangle(0,0,150,150); + graphicsComponent.ObjectDrawRectangle = new Rectangle(0,0,16*12, 16 * 16); position = new Vector2(10, 10); } + + } } diff --git a/ZoFo/GameCore/GameObjects/Entities/Entity.cs b/ZoFo/GameCore/GameObjects/Entities/Entity.cs index 0c7d453..456d8da 100644 --- a/ZoFo/GameCore/GameObjects/Entities/Entity.cs +++ b/ZoFo/GameCore/GameObjects/Entities/Entity.cs @@ -4,7 +4,6 @@ using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using ZoFo.GameCore.GameManagers.CollisionManager; -using ZoFo.GameCore.ZoFo_graphics; namespace ZoFo.GameCore.GameObjects.Entities { @@ -13,12 +12,29 @@ namespace ZoFo.GameCore.GameObjects.Entities //public override GraphicsComponent graphicsComponent => null; public CollisionComponent collisionComponent { get; protected set; } public int Id { get; set; } + static int totalEntitiesCreated = 0; protected Entity(Vector2 position) : base(position) { + Id = totalEntitiesCreated; + totalEntitiesCreated++; + collisionComponent = new CollisionComponent(this); } + /// + /// For initialisation on Client + /// + /// + public void SetIdByClient(int newId) + { + Id = newId; + } + public virtual void Update() { - + } + public override void UpdateLogic() + { + Update(); + base.UpdateLogic(); } } } diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Ammo.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Ammo.cs new file mode 100644 index 0000000..ba4f1bc --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Ammo.cs @@ -0,0 +1,28 @@ +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.Graphics; + +namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables +{ + class Ammo:Collectable + { + public override StaticGraphicsComponent graphicsComponent { get; } = new("Textures/icons/8"); + public Ammo(Vector2 position) : base(position) + { + graphicsComponent.ObjectDrawRectangle.Width = 20; + graphicsComponent.ObjectDrawRectangle.Height = 20; + } + public override void OnInteraction(object sender, CollisionComponent e) + { + AppManager.Instance.server.AddData(new UpdateLoot("Ammo")); + AppManager.Instance.server.DeleteObject(this); + } + } +} diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Antiradine.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Antiradine.cs new file mode 100644 index 0000000..01f36a9 --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Antiradine.cs @@ -0,0 +1,27 @@ +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.Graphics; + +namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables +{ + class Antiradine:Collectable + { + public override StaticGraphicsComponent graphicsComponent { get; } = new("Antiradine"); + public Antiradine(Vector2 position) : base(position) + { + + } + public override void OnInteraction(object sender, CollisionComponent e) + { + AppManager.Instance.server.AddData(new UpdateLoot("Antiradine")); + AppManager.Instance.server.DeleteObject(this); + } + } +} diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/BottleOfWater.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/BottleOfWater.cs new file mode 100644 index 0000000..528f614 --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/BottleOfWater.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.Graphics; + +using Microsoft.Xna.Framework; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.GameManagers; + +namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables +{ + public class BottleOfWater : Collectable + { + public override StaticGraphicsComponent graphicsComponent { get; } = new("BottleOfWater"); + public BottleOfWater(Vector2 position) : base(position) + { + + } + public override void OnInteraction(object sender, CollisionComponent e) + { + AppManager.Instance.server.AddData(new UpdateLoot("BottleOfWater")); + AppManager.Instance.server.DeleteObject(this); + } + } +} diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Collectable.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Collectable.cs index d31d536..9bb5227 100644 --- a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Collectable.cs +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Collectable.cs @@ -1,5 +1,8 @@ using Microsoft.Xna.Framework; using System; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables; public class Collectable : Interactable @@ -7,4 +10,11 @@ public class Collectable : Interactable public Collectable(Vector2 position) : base(position) { } + + public override void OnInteraction(object sender, CollisionComponent e) + { + // + AppManager.Instance.server.AddData(new UpdateLoot()); + AppManager.Instance.server.DeleteObject(this); + } } diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Peeble.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Peeble.cs new file mode 100644 index 0000000..5525cfd --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Peeble.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.Graphics; +using Microsoft.Xna.Framework; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.GameManagers; + + +namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables +{ + public class Peeble:Collectable + { + public override StaticGraphicsComponent graphicsComponent { get; } = new("Peeble"); + + public Peeble(Vector2 position) : base(position) + { + + } + public override void OnInteraction(object sender, CollisionComponent e) + { + AppManager.Instance.server.AddData(new UpdateLoot("Peeble")); + AppManager.Instance.server.DeleteObject(this); + } + } +} diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/PureBottleOfWater.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/PureBottleOfWater.cs new file mode 100644 index 0000000..1523f6e --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/PureBottleOfWater.cs @@ -0,0 +1,27 @@ +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.Graphics; + +namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables +{ + class PureBottleOfWater:Collectable + { + public override StaticGraphicsComponent graphicsComponent { get; } = new("PureBottleOfWater"); + + public PureBottleOfWater(Vector2 position) : base(position) + { + } + public override void OnInteraction(object sender, CollisionComponent e) + { + AppManager.Instance.server.AddData(new UpdateLoot("PureBottleOfWater")); + AppManager.Instance.server.DeleteObject(this); + } + } +} diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/RottenFlesh.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/RottenFlesh.cs new file mode 100644 index 0000000..147f30d --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/RottenFlesh.cs @@ -0,0 +1,27 @@ +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.Graphics; + +namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables +{ + class RottenFlesh:Collectable + { + public override StaticGraphicsComponent graphicsComponent { get; } = new("RottenFlesh"); + public RottenFlesh(Vector2 position) : base(position) + { + + } + public override void OnInteraction(object sender, CollisionComponent e) + { + AppManager.Instance.server.AddData(new UpdateLoot("RottenFlesh")); + AppManager.Instance.server.DeleteObject(this); + } + } +} diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Steel.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Steel.cs new file mode 100644 index 0000000..5618236 --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Steel.cs @@ -0,0 +1,27 @@ +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.Graphics; + +namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables +{ + class Steel:Collectable + { + public override StaticGraphicsComponent graphicsComponent { get; } = new("Steel"); + + public Steel(Vector2 position) : base(position) + { + } + public override void OnInteraction(object sender, CollisionComponent e) + { + AppManager.Instance.server.AddData(new UpdateLoot("Steel")); + AppManager.Instance.server.DeleteObject(this); + } + } +} diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Wood.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Wood.cs new file mode 100644 index 0000000..85af71b --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Collectables/Wood.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; +using Microsoft.Xna.Framework; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.Graphics; + +namespace ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables; + +public class Wood : Collectable +{ + public override StaticGraphicsComponent graphicsComponent { get; } = new("Wood"); + + public Wood(Vector2 position) : base(position) + { + + } + public override void OnInteraction(object sender, CollisionComponent e) + { + AppManager.Instance.server.AddData(new UpdateLoot("Wood")); + AppManager.Instance.server.DeleteObject(this); + } +} \ No newline at end of file diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Door.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Door.cs index f153a4f..23ce44f 100644 --- a/ZoFo/GameCore/GameObjects/Entities/Interactables/Door.cs +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Door.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using Microsoft.Xna.Framework; -using ZoFo.GameCore.ZoFo_graphics; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore.GameObjects.Entities.Interactables; @@ -8,17 +9,16 @@ public class Door : Interactable { public bool isOpened; - public override GraphicsComponent graphicsComponent { get; } = new(new List { "DoorInteraction" }, "DoorInteraction"); + public override StaticGraphicsComponent graphicsComponent { get; } = new("DoorInteraction"); public Door(Vector2 position) : base(position) { - graphicsComponent.OnAnimationEnd += _ => { isOpened = !isOpened; }; + //graphicsComponent.OnAnimationEnd += _ => { isOpened = !isOpened; };//���������, ��� ����� ������ ������������� - SD } - public override void OnInteraction() + public override void OnInteraction(object sender, CollisionComponent e) { - graphicsComponent.StartAnimation("DoorInteraction", isOpened); + //graphicsComponent.AnimationSelect("DoorInteraction", isOpened); + //graphicsComponent.AnimationStep(); } - - } \ No newline at end of file diff --git a/ZoFo/GameCore/GameObjects/Entities/Interactables/Interactable.cs b/ZoFo/GameCore/GameObjects/Entities/Interactables/Interactable.cs index 35a124f..270b986 100644 --- a/ZoFo/GameCore/GameObjects/Entities/Interactables/Interactable.cs +++ b/ZoFo/GameCore/GameObjects/Entities/Interactables/Interactable.cs @@ -3,18 +3,19 @@ using ZoFo.GameCore.GameManagers; using ZoFo.GameCore.GameManagers.CollisionManager; using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player; -using ZoFo.GameCore.ZoFo_graphics; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore.GameObjects.Entities.Interactables; public class Interactable : Entity { - public override GraphicsComponent graphicsComponent => throw new System.NotImplementedException(); + public override StaticGraphicsComponent graphicsComponent => throw new System.NotImplementedException(); public Interactable(Vector2 position) : base(position) { collisionComponent.OnTriggerEnter += (sender, e) => ChangeInteraction(sender, e, true); collisionComponent.OnTriggerExit += (sender, e) => ChangeInteraction(sender, e, false); + collisionComponent.OnTriggerZone += OnInteraction; } private void ChangeInteraction(object sender, CollisionComponent e, bool isReady) @@ -22,7 +23,7 @@ public class Interactable : Entity AppManager.Instance.server.AddData(new UpdateInteractionReady((sender as Player).Id, isReady)); } - public virtual void OnInteraction() + public virtual void OnInteraction(object sender, CollisionComponent e) { } diff --git a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Enemy.cs b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Enemy.cs index f948689..61762ae 100644 --- a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Enemy.cs +++ b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Enemy.cs @@ -8,7 +8,14 @@ using Microsoft.Xna.Framework.Content; namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies; public class Enemy : LivingEntity { + protected float speed; + protected int health; public Enemy(Vector2 position) : base(position) { + } + public override void Update() + { + + } } \ No newline at end of file diff --git a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs new file mode 100644 index 0000000..632eceb --- /dev/null +++ b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs @@ -0,0 +1,35 @@ +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.Graphics; + +namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies +{ + class Zombie : Enemy + { + public override GraphicsComponent graphicsComponent { get; } = new("Textures/icons/8"); + public Zombie(Vector2 position) : base(position) + { + health = 5; + speed =2; + collisionComponent.stopRectangle = new Rectangle(0, 0, 100, 100); + graphicsComponent.ObjectDrawRectangle = new Rectangle(0, 0, 100, 100); + } + + public override void Update() + { + Vector2 duration = Vector2.Normalize(new Vector2(600 - position.X, 500 - position.Y)); + velocity=new Vector2(duration.X * speed, duration.Y*speed); + if(position.X>595 && 605>position.X && position.Y>495 && 505>position.Y) + { + velocity = Vector2.Zero; + } + //position.X += velocity.X*t; + //position.Y += velocity.Y * t; + } + } +} diff --git a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/LivingEntity.cs b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/LivingEntity.cs index 6842723..cc6cb9c 100644 --- a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/LivingEntity.cs +++ b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/LivingEntity.cs @@ -2,12 +2,16 @@ using Microsoft.Xna.Framework.Graphics; using System; using ZoFo.GameCore.GameObjects.Entities; -using ZoFo.GameCore.ZoFo_graphics; using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities; public class LivingEntity : Entity { + /// + /// Переменная для заявки на передвижения, т.е. то, на сколько вы хотите, чтобы в этом кадре переместился объект + /// public Vector2 velocity; private InputManager inputManager; @@ -26,6 +30,12 @@ public class LivingEntity : Entity }*/ #endregion + public void OnCollision(CollisionComponent component) + { + + } + + } diff --git a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/LootData.cs b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/LootData.cs index 5336e7b..2d86531 100644 --- a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/LootData.cs +++ b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/LootData.cs @@ -6,12 +6,13 @@ using System.Threading.Tasks; namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player { - internal class LootData + class LootData { public Dictionary loots; - public void AddLoot(object lootObject, int quantity) - { + public void AddLoot(string lootName, int quantity) + { + loots.Add(lootName, quantity); } } } diff --git a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/Player.cs b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/Player.cs index 20bbe18..3e21338 100644 --- a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/Player.cs +++ b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/Player.cs @@ -1,27 +1,57 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using System; +using System.Collections.Generic; +using Microsoft.Xna.Framework.Input; using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GameManagers.CollisionManager; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer; using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player; public class Player : LivingEntity { - public Vector2 InputWeaponRotation{ get; set; } - public Vector2 InputPlayerRotation{ get; set;} - public bool IsTryingToShoot{get;set;} - Texture2D texture; + public Vector2 InputWeaponRotation { get; set; } + public Vector2 InputPlayerRotation { get; set; } + /// + /// Факт того, что плеер в этом апдейте пытается стрелять + /// + public bool IsTryingToShoot { get; set; } private float speed; private int health; + public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List { "player_running_top_rotate" }, "player_running_top_rotate"); + private LootData lootData; public Player(Vector2 position) : base(position) { //InputWeaponRotation = new Vector2(0, 0); //InputPlayerRotation = new Vector2(0, 0); + graphicsComponent.ObjectDrawRectangle = new Rectangle(0, 0, 100, 100); + collisionComponent.stopRectangle = new Rectangle(0, 0, 100, 100); } - public void Update(GameTime gameTime) - { - + + public override void Update() + { + + MovementLogic(); + } + float t; + public void MovementLogic() + { + //velocity.X = 3+(float)Math.Sin(t); + t++; + if (InputPlayerRotation.X > 0.9) + { + } + if (Keyboard.GetState().IsKeyDown(Keys.D)) velocity.X = 5; + if (Keyboard.GetState().IsKeyDown(Keys.A)) velocity.X = -5; + if (Keyboard.GetState().IsKeyDown(Keys.S)) velocity.Y = 5; + if (Keyboard.GetState().IsKeyDown(Keys.W)) velocity.Y = -5; + } + public void HandleNewInput(UpdateInput updateInput) + { + } } diff --git a/ZoFo/GameCore/GameObjects/GameObject.cs b/ZoFo/GameCore/GameObjects/GameObject.cs index d3c5d64..85189ea 100644 --- a/ZoFo/GameCore/GameObjects/GameObject.cs +++ b/ZoFo/GameCore/GameObjects/GameObject.cs @@ -3,8 +3,8 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using System; using ZoFo.GameCore.GameManagers; -using ZoFo.GameCore.ZoFo_graphics; using ZoFo.GameCore; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore.GameObjects; @@ -13,18 +13,23 @@ public abstract class GameObject public Vector2 position; public Vector2 rotation; //вектор направления объекта - public abstract GraphicsComponent graphicsComponent { get; } + public virtual GraphicsComponent graphicsComponent { get; } #region ServerSide public GameObject(Vector2 position) { this.position = position; - graphicsComponent.LoadContent(); + + graphicsComponent.ObjectDrawRectangle.X = (int)position.X; + graphicsComponent.ObjectDrawRectangle.Y = (int)position.Y; + } - public virtual void UpdateLogic(GameTime gameTime) + public virtual void UpdateLogic() { PlayAnimation_OnServer(); + + } @@ -41,6 +46,7 @@ public abstract class GameObject #region Client Side + public static Texture2D debugTexture; /// /// Для клиента /// Это вызывается в клиентской части игры @@ -75,21 +81,23 @@ public abstract class GameObject /// public virtual void Draw(SpriteBatch spriteBatch) { - graphicsComponent.DrawAnimation(graphicsComponent.ObjectDrawRectangle, spriteBatch); + graphicsComponent.Draw(graphicsComponent.ObjectDrawRectangle, spriteBatch); //debug + DrawDebugRectangle(spriteBatch, graphicsComponent.ObjectDrawRectangle); + if (AppManager.Instance.InputManager.CollisionsCheat) DrawDebugRectangle(spriteBatch, graphicsComponent.ObjectDrawRectangle); } public void DrawDebugRectangle(SpriteBatch spriteBatch, Rectangle _rectangle, Nullable color = null) { - if (color is null) color = new Color(1, 0, 0, 0.25f); + if (color is null) color = new Color(1, 0, 0, 0.1f); if (color.Value.A == 255) color = new Color(color.Value, 0.25f); - //spriteBatch.Draw(debugTexture, - // new Rectangle((_rectangle.X - graphicsComponent.CameraPosition.X) * graphicsComponent.scaling, - // (_rectangle.Y - graphicsComponent.CameraPosition.Y) * graphicsComponent.scaling, - // _rectangle.Width * graphicsComponent.scaling, - // _rectangle.Height * graphicsComponent.scaling), color.Value); + spriteBatch.Draw(debugTexture, + new Rectangle((_rectangle.X - GraphicsComponent.CameraPosition.X) * GraphicsComponent.scaling, + (_rectangle.Y - GraphicsComponent.CameraPosition.Y) * GraphicsComponent.scaling, + _rectangle.Width * GraphicsComponent.scaling, + _rectangle.Height * GraphicsComponent.scaling), color.Value); //TODO: debugTexture } diff --git a/ZoFo/GameCore/GameObjects/MapObjects/MapObject.cs b/ZoFo/GameCore/GameObjects/MapObjects/MapObject.cs index 51a3a4e..e55976d 100644 --- a/ZoFo/GameCore/GameObjects/MapObjects/MapObject.cs +++ b/ZoFo/GameCore/GameObjects/MapObjects/MapObject.cs @@ -8,7 +8,7 @@ using System.Text; using System.Threading.Tasks; using ZoFo.GameCore.GameManagers; using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; -using ZoFo.GameCore.ZoFo_graphics; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore.GameObjects.MapObjects { @@ -16,7 +16,8 @@ namespace ZoFo.GameCore.GameObjects.MapObjects { public virtual bool IsColliderOn { get; protected set; } = true;//Who added that? public Rectangle sourceRectangle; - public override GraphicsComponent graphicsComponent { get; } = new(); + public override GraphicsComponent graphicsComponent { get; } + = new StaticGraphicsComponent(); /// /// Создается простой объект на карте - no animations, только где, насколько крупно рисовать, по какой сорс ректанглу рисовать и из какой текстуры @@ -27,15 +28,16 @@ namespace ZoFo.GameCore.GameObjects.MapObjects /// public MapObject(Vector2 position, Vector2 size, Rectangle sourceRectangle, string textureName) : base(position) { + (graphicsComponent as StaticGraphicsComponent)._textureName = textureName; + (graphicsComponent as StaticGraphicsComponent).BuildComponent(textureName); + (graphicsComponent as StaticGraphicsComponent).ObjectDrawRectangle = new Rectangle((int)position.X, (int)position.Y, (int)size.X, (int)size.Y); + (graphicsComponent as StaticGraphicsComponent).LoadContent(); this.sourceRectangle = sourceRectangle; - graphicsComponent.ObjectDrawRectangle = new Rectangle((int)position.X, (int)position.Y, (int)size.X, (int)size.Y); - graphicsComponent.BuildComponent(textureName); - graphicsComponent.LoadContent(); } public override void Draw(SpriteBatch spriteBatch) { - graphicsComponent.DrawAnimation(graphicsComponent.ObjectDrawRectangle, spriteBatch, sourceRectangle); + graphicsComponent.Draw(graphicsComponent.ObjectDrawRectangle, spriteBatch, sourceRectangle); } } diff --git a/ZoFo/GameCore/GameObjects/MapObjects/StopObjects/StopObject.cs b/ZoFo/GameCore/GameObjects/MapObjects/StopObjects/StopObject.cs index 02f828e..5ef0c2d 100644 --- a/ZoFo/GameCore/GameObjects/MapObjects/StopObjects/StopObject.cs +++ b/ZoFo/GameCore/GameObjects/MapObjects/StopObjects/StopObject.cs @@ -1,17 +1,32 @@ using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; using System; +using System.Diagnostics; +using System.Security.Cryptography.X509Certificates; using ZoFo.GameCore.GameManagers.CollisionManager; -using ZoFo.GameCore.ZoFo_graphics; namespace ZoFo.GameCore.GameObjects.MapObjects.StopObjects; public class StopObject : MapObject { - CollisionComponent collisionComponent; + public CollisionComponent[] collisionComponents; - protected StopObject(Vector2 position, Vector2 size, Rectangle sourceRectangle, string textureName) : base(position, size, sourceRectangle, textureName) + + public StopObject(Vector2 position, Vector2 size, Rectangle sourceRectangle, string textureName, Rectangle[] collisions) : base(position, size, sourceRectangle, textureName) { + + collisionComponents = new CollisionComponent[collisions.Length]; + for (int i = 0; i < collisionComponents.Length; i++) + { + collisionComponents[i] = new CollisionComponent(this, true, new Rectangle(0,0, (int)size.X, (int)size.Y)/*collisions[i]*/); + } + //REDO // TODO: Написать коллизию, пусть тразмер будет чисто таким же как и текстурка. // Поменяйте уровень защиты конструктора, после снимите в MapManager комментарий в методе LoadMap с создания StopObject-а } + public override void Draw(SpriteBatch spriteBatch) + { + base.Draw(spriteBatch); + DrawDebugRectangle(spriteBatch, new Rectangle((int)position.X, (int)position.Y, collisionComponents[0].stopRectangle.Width, collisionComponents[0].stopRectangle.Height)); + } } diff --git a/ZoFo/GameCore/GameObjects/MapObjects/Tiles/Tile.cs b/ZoFo/GameCore/GameObjects/MapObjects/Tiles/Tile.cs deleted file mode 100644 index eb166b8..0000000 --- a/ZoFo/GameCore/GameObjects/MapObjects/Tiles/Tile.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; - -namespace ZoFo.GameCore.GameObjects.MapObjects.Tiles; - -public class Tile -{ - -} diff --git a/ZoFo/GameCore/ZoFo_grafics/GraphicsComponent.cs b/ZoFo/GameCore/Graphics/AnimatedGraphicsComponent.cs similarity index 57% rename from ZoFo/GameCore/ZoFo_grafics/GraphicsComponent.cs rename to ZoFo/GameCore/Graphics/AnimatedGraphicsComponent.cs index 9ab91bb..d590462 100644 --- a/ZoFo/GameCore/ZoFo_grafics/GraphicsComponent.cs +++ b/ZoFo/GameCore/Graphics/AnimatedGraphicsComponent.cs @@ -1,31 +1,26 @@ -using ZoFo.GameCore.GameObjects; -using ZoFo.GameCore.GameManagers; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Content; -using Microsoft.Xna.Framework.Graphics; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Security.Cryptography.X509Certificates; -using System.Text; -using Zofo.GameCore.ZoFo_grafics; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GUI; -namespace ZoFo.GameCore.ZoFo_graphics +namespace ZoFo.GameCore.Graphics { - public class GraphicsComponent + public class AnimatedGraphicsComponent : GraphicsComponent { - public Rectangle ObjectDrawRectangle; - public event Action OnAnimationEnd; - private List animations; + + public event Action actionOfAnimationEnd; + public List animations; private List textures; - public List texturesNames; //rethink public and following that errors - private AnimationContainer currentAnimation; - static public int scaling = 1; - private bool reverse; - - //TODO: remove - /* + private List texturesNames; + private AnimationContainer currentAnimation; + static public int Camera_XW=800; + static public int Camera_YH = 400; + static public Vector2 CameraSize = new Vector2(1800, 960); + public int parentId; public AnimationContainer CurrentAnimation { get @@ -38,36 +33,46 @@ namespace ZoFo.GameCore.ZoFo_graphics { get { return currentAnimation.Id; } } - */ - private AnimationContainer idleAnimation; + private AnimationContainer neitralAnimation; + //private SpriteBatch _spriteBatch; private int currentFrame; + public int CurrentFrame + { + get + { + return currentFrame; + } + } + + // Needed to ckeck whether the frame has changed since last update call + private int lastUpdateCallFrame; + public int LastUpdateCallFrame + { + get + { + return lastUpdateCallFrame; + } + } + public int CurrentFrameInterval { get => interval; } + public void Force_Set_CurrentFrameInterval(int newFrameInterval) { } private int interval; private int lastInterval; private Rectangle sourceRectangle; - public GraphicsComponent(List animationsId, string neitralAnimationId) + public AnimatedGraphicsComponent(List animationsId, string neitralAnimationId) { + //this._spriteBatch = _spriteBatch; currentFrame = 0; lastInterval = 1; LoadAnimations(animationsId, neitralAnimationId); - currentAnimation = idleAnimation; + currentAnimation = neitralAnimation; SetInterval(); buildSourceRectangle(); } - public string mainTextureName;//TODO костыль - пофиксить - public GraphicsComponent(string textureName) + public AnimatedGraphicsComponent(string textureName) { - BuildComponent(textureName); - } - public GraphicsComponent() - { - } - public void BuildComponent(string textureName) - { - mainTextureName = textureName; - //texturesNames.Add(textureName);//Added by SD animations = new List(); textures = new List(); var texture = AppManager.Instance.Content.Load(textureName); @@ -81,7 +86,7 @@ namespace ZoFo.GameCore.ZoFo_graphics animationContainer.FrameTime = new List>() { new Tuple(0, 10) }; animationContainer.Id = texture.Name; currentAnimation = animationContainer; - idleAnimation = animationContainer; + neitralAnimation = animationContainer; animations.Add(animationContainer); } @@ -93,21 +98,16 @@ namespace ZoFo.GameCore.ZoFo_graphics animations.Add(AppManager.Instance.animationBuilder.Animations.Find(x => x.Id == id)); if (id == neitralAnimationId) { - idleAnimation = animations.Last(); + neitralAnimation = animations.Last(); } } } - public void LoadContent() + public override void LoadContent() { textures = new List(); texturesNames = new List(); - if (animations is null) - { - return; - } - foreach (var animation in animations) { if (!texturesNames.Contains(animation.TextureName)) @@ -118,25 +118,10 @@ namespace ZoFo.GameCore.ZoFo_graphics } } - public void StartAnimation(string startedanimationId, bool reverse = false) + public void StartAnimation(string startedanimationId) { - /* - if (AppManager.Instance.multiPlayerStatus != MultiPlayerStatus.SinglePlayer) - { - LivingEntity entity = AppManager.Instance.GameManager.livingEntities.Find(x => x.id == parentId); - if (((entity is Player) || AppManager.Instance.multiPlayerStatus == MultiPlayerStatus.Host) && startedanimationId != GetCurrentAnimation) - { - AppManager.Instance.NetworkTasks.Add(new NetworkTask(parentId, startedanimationId, Vector2.Zero)); - } - } - */ - this.reverse = reverse; - + currentFrame = 0; currentAnimation = animations.Find(x => x.Id == startedanimationId); - if (reverse) - currentFrame = currentAnimation.FramesCount; - else - currentFrame = 0; buildSourceRectangle(); SetInterval(); @@ -146,50 +131,31 @@ namespace ZoFo.GameCore.ZoFo_graphics { currentFrame = 0; interval = 0; - currentAnimation = idleAnimation; + currentAnimation = neitralAnimation; buildSourceRectangle(); SetInterval(); } - private void AnimationEnd() + public override void Update() { - if (!currentAnimation.IsCycle) - { - if (OnAnimationEnd != null) - { - OnAnimationEnd(currentAnimation.Id); - } - currentAnimation = idleAnimation; - - } - - currentFrame = 0; - } - - public void Update() - { - if (currentAnimation is null) - { - return; - } + lastUpdateCallFrame = currentFrame; if (interval == 0) { - if (reverse) + currentFrame++; + if (currentAnimation.FramesCount <= currentFrame) { - currentFrame--; - if (currentFrame <= 0) + if (!currentAnimation.IsCycle) { - AnimationEnd(); - reverse = false; - } - } - else - { - currentFrame++; - if (currentAnimation.FramesCount <= currentFrame) - { - AnimationEnd(); + if (actionOfAnimationEnd != null) + { + actionOfAnimationEnd(currentAnimation.Id); + } + currentAnimation = neitralAnimation; + } + + currentFrame = 0; + } buildSourceRectangle(); @@ -199,7 +165,7 @@ namespace ZoFo.GameCore.ZoFo_graphics interval--; } - public void DrawAnimation(Rectangle destinationRectangle, SpriteBatch _spriteBatch) + public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch) { Texture2D texture = textures[texturesNames.FindIndex(x => x == currentAnimation.TextureName)]; float scale; @@ -224,7 +190,7 @@ namespace ZoFo.GameCore.ZoFo_graphics _spriteBatch.Draw(texture, destinationRectangle, sourceRectangle, Color.White); } - public void DrawAnimation(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle) + public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle) { Texture2D texture = textures[texturesNames.FindIndex(x => x == currentAnimation.TextureName)]; float scale; @@ -248,21 +214,13 @@ namespace ZoFo.GameCore.ZoFo_graphics destinationRectangle = Scaling(destinationRectangle); _spriteBatch.Draw(texture, destinationRectangle, sourceRectangle, Color.White); - } - private Rectangle Scaling(Rectangle destinationRectangle) - { - destinationRectangle.X *= scaling; - destinationRectangle.Y *= scaling; - destinationRectangle.Width *= scaling; - destinationRectangle.Height *= scaling; - return destinationRectangle; - } + } private void buildSourceRectangle() { sourceRectangle = new Rectangle(); if (currentAnimation == null) { - currentAnimation = idleAnimation; + currentAnimation = neitralAnimation; } sourceRectangle.X = currentAnimation.StartSpriteRectangle.X + currentFrame * (currentAnimation.StartSpriteRectangle.Width + currentAnimation.TextureFrameInterval); @@ -284,35 +242,6 @@ namespace ZoFo.GameCore.ZoFo_graphics interval = lastInterval; } } - public static void SetCameraPosition(Vector2 playerPosition) - { - CameraPosition = (playerPosition).ToPoint(); - CameraPosition.X -= 200; - CameraPosition.Y -= 120; - - // TODO - /* - if (CameraPosition.X > AppManager.Instance.GameManager.CameraBorder.Y - 460) - { - CameraPosition.X = (int)AppManager.Instance.GameManager.CameraBorder.Y - 460; - } - - if (CameraPosition.Y < AppManager.Instance.GameManager.CameraBorder.Z) - { - CameraPosition.Y = (int)AppManager.Instance.GameManager.CameraBorder.Z; - } - if (CameraPosition.X < AppManager.Instance.GameManager.CameraBorder.X) - { - CameraPosition.X = (int)AppManager.Instance.GameManager.CameraBorder.X; - } - if (CameraPosition.Y > AppManager.Instance.GameManager.CameraBorder.W - 240) - { - CameraPosition.Y = (int)AppManager.Instance.GameManager.CameraBorder.W - 240; - } - - AppManager.Instance.DebugHUD.Set("CameraPosition", $"{CameraPosition.X}, {CameraPosition.Y}"); - */ - } - public static Point CameraPosition = new Point(0, 0); + } } diff --git a/ZoFo/GameCore/ZoFo_grafics/AnimationBuilder.cs b/ZoFo/GameCore/Graphics/AnimationBuilder.cs similarity index 82% rename from ZoFo/GameCore/ZoFo_grafics/AnimationBuilder.cs rename to ZoFo/GameCore/Graphics/AnimationBuilder.cs index 04b2cbf..2ff7ac4 100644 --- a/ZoFo/GameCore/ZoFo_grafics/AnimationBuilder.cs +++ b/ZoFo/GameCore/Graphics/AnimationBuilder.cs @@ -3,9 +3,8 @@ using System.Collections.Generic; using System.Text; using System.IO; using Newtonsoft.Json; -using Zofo.GameCore.ZoFo_grafics; -namespace DangerousD.GameCore.Graphics +namespace ZoFo.GameCore.Graphics { public class AnimationBuilder { @@ -13,7 +12,7 @@ namespace DangerousD.GameCore.Graphics public void LoadAnimations() { Animations = new List(); - string[] animationFilesNames = Directory.GetFiles("../../../Content/Textures/Animations"); + string[] animationFilesNames = Directory.GetFiles("Content/Textures/Animations"); StreamReader reader; foreach (var fileName in animationFilesNames) diff --git a/ZoFo/GameCore/ZoFo_grafics/AnimationContainer.cs b/ZoFo/GameCore/Graphics/AnimationContainer.cs similarity index 88% rename from ZoFo/GameCore/ZoFo_grafics/AnimationContainer.cs rename to ZoFo/GameCore/Graphics/AnimationContainer.cs index 36596d0..2ffc974 100644 --- a/ZoFo/GameCore/ZoFo_grafics/AnimationContainer.cs +++ b/ZoFo/GameCore/Graphics/AnimationContainer.cs @@ -1,10 +1,9 @@ -using Microsoft.Xna.Framework; -using Newtonsoft.Json; -using System; +using System; using System.Collections.Generic; -using System.Text; +using Microsoft.Xna.Framework; +using Newtonsoft.Json; -namespace Zofo.GameCore.ZoFo_grafics +namespace ZoFo.GameCore.Graphics { [Serializable] public class AnimationContainer diff --git a/ZoFo/GameCore/Graphics/GraphicsComponent.cs b/ZoFo/GameCore/Graphics/GraphicsComponent.cs new file mode 100644 index 0000000..c71b0c3 --- /dev/null +++ b/ZoFo/GameCore/Graphics/GraphicsComponent.cs @@ -0,0 +1,56 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace ZoFo.GameCore.Graphics; + +public abstract class GraphicsComponent +{ + public Rectangle ObjectDrawRectangle; + public static int scaling = 1; + public string mainTextureName;//TODO костыль - пофиксить + + public abstract void LoadContent(); + public abstract void Update(); + public abstract void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch); + public abstract void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle); + + protected Rectangle Scaling(Rectangle destinationRectangle) + { + destinationRectangle.X *= scaling; + destinationRectangle.Y *= scaling; + destinationRectangle.Width *= scaling; + destinationRectangle.Height *= scaling; + return destinationRectangle; + } + + public static void SetCameraPosition(Vector2 playerPosition) + { + CameraPosition = (playerPosition).ToPoint(); + CameraPosition.X -= 200; + CameraPosition.Y -= 120; + + // TODO + /* + if (CameraPosition.X > AppManager.Instance.GameManager.CameraBorder.Y - 460) + { + CameraPosition.X = (int)AppManager.Instance.GameManager.CameraBorder.Y - 460; + } + + if (CameraPosition.Y < AppManager.Instance.GameManager.CameraBorder.Z) + { + CameraPosition.Y = (int)AppManager.Instance.GameManager.CameraBorder.Z; + } + if (CameraPosition.X < AppManager.Instance.GameManager.CameraBorder.X) + { + CameraPosition.X = (int)AppManager.Instance.GameManager.CameraBorder.X; + } + if (CameraPosition.Y > AppManager.Instance.GameManager.CameraBorder.W - 240) + { + CameraPosition.Y = (int)AppManager.Instance.GameManager.CameraBorder.W - 240; + } + + AppManager.Instance.DebugHUD.Set("CameraPosition", $"{CameraPosition.X}, {CameraPosition.Y}"); + */ + } + public static Point CameraPosition = new Point(0, 0); +} \ No newline at end of file diff --git a/ZoFo/GameCore/Graphics/IGraphicsComponent.cs b/ZoFo/GameCore/Graphics/IGraphicsComponent.cs new file mode 100644 index 0000000..50e2424 --- /dev/null +++ b/ZoFo/GameCore/Graphics/IGraphicsComponent.cs @@ -0,0 +1,16 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace ZoFo.GameCore.Graphics; + +public interface IGraphicsComponent +{ + public Rectangle ObjectDrawRectangle { get; set; } + public static int scaling = 1; + public string mainTextureName { get; set; }//TODO костыль - пофиксить + + public abstract void LoadContent(); + public abstract void Update(); + public abstract void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch); + public abstract void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle); +} \ No newline at end of file diff --git a/ZoFo/GameCore/Graphics/StaticGraphicsComponent.cs b/ZoFo/GameCore/Graphics/StaticGraphicsComponent.cs new file mode 100644 index 0000000..3e2fd6c --- /dev/null +++ b/ZoFo/GameCore/Graphics/StaticGraphicsComponent.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GUI; + +namespace ZoFo.GameCore.Graphics +{ + + public class StaticGraphicsComponent : GraphicsComponent + { + private Texture2D texture; + public string _textureName; + + public StaticGraphicsComponent() + { + LoadContent(); + } + + public StaticGraphicsComponent(string textureName) + { + BuildComponent(textureName); + LoadContent(); + } + + public void BuildComponent(string textureName) + { + _textureName = textureName; + } + + + public override void LoadContent() + { + if (_textureName is null) + { + return; + } + + texture = AppManager.Instance.Content.Load(_textureName); + } + + public override void Update() + { + + } + + public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch) + { + DebugHUD.Instance.Log("draw "); + + destinationRectangle.X -= CameraPosition.X; + destinationRectangle.Y -= CameraPosition.Y; + destinationRectangle = Scaling(destinationRectangle); + _spriteBatch.Draw(texture, destinationRectangle, Color.White); + } + + public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle) + { + DebugHUD.Instance.Log("draw "); + + destinationRectangle.X -= CameraPosition.X; + destinationRectangle.Y -= CameraPosition.Y; + + destinationRectangle = Scaling(destinationRectangle); + _spriteBatch.Draw(texture, + destinationRectangle, sourceRectangle, Color.White); + } + } +} diff --git a/ZoFo/GameCore/Server.cs b/ZoFo/GameCore/Server.cs index d11eee1..47ddd3d 100644 --- a/ZoFo/GameCore/Server.cs +++ b/ZoFo/GameCore/Server.cs @@ -1,4 +1,5 @@ using Microsoft.Xna.Framework; +using MonogameLibrary.UI.Elements; using System; using System.Collections.Generic; using System.Linq; @@ -7,13 +8,19 @@ using System.Text; using System.Text.Json; using System.Threading.Tasks; using ZoFo.GameCore.GameManagers; +using ZoFo.GameCore.GameManagers.CollisionManager; using ZoFo.GameCore.GameManagers.MapManager; using ZoFo.GameCore.GameManagers.NetworkManager; using ZoFo.GameCore.GameManagers.NetworkManager.Updates; using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; using ZoFo.GameCore.GameObjects; using ZoFo.GameCore.GameObjects.Entities; +using ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables; +using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies; +using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player; using ZoFo.GameCore.GameObjects.MapObjects; +using ZoFo.GameCore.GameObjects.MapObjects.StopObjects; +using ZoFo.GameCore.Graphics; namespace ZoFo.GameCore { @@ -26,13 +33,17 @@ namespace ZoFo.GameCore { networkManager = new ServerNetworkManager(); networkManager.GetDataSend += OnDataSend; + collisionManager = new CollisionManager(); } #region server logic as App + + #region Net Methods //TODO Comment pls public void OnDataSend(string data) { List updateDatas = JsonSerializer.Deserialize>(data); + AppManager.Instance.debugHud.Log(data); for (int i = 0; i < updateDatas.Count; i++) { ProcessIUpdateData(updateDatas[i]); @@ -46,6 +57,37 @@ namespace ZoFo.GameCore { //ТУТ Switch case будет честное слово + switch (updateData.UpdateType) + { + case "UpdateAnimation": + break; + case "UpdateEntityHealth": + break; + case "UpdateGameEnded": + break; + case "UpdateGameObjectCreated": + break; + case "UpdateGameObjectDeleted": + break; + case "UpdateInteraction": + break; + case "UpdateInteractionReady": + break; + case "UpdateLoot": + break; + case "UpdatePlayerParametrs": + break; + case "UpdatePosition": + break; + case "UpdateTileCreated": + break; + + } + } + + public void CloseConnection() + { + networkManager.CloseConnection(); } /// @@ -67,6 +109,10 @@ namespace ZoFo.GameCore networkManager.Start(players); } + #endregion + + #region Game Methods + public CollisionManager collisionManager; /// /// Запуск игры в комнате /// @@ -75,12 +121,16 @@ namespace ZoFo.GameCore //TODO начинает рассылку и обмен пакетами игры //Грузит карту - + collisionManager = new CollisionManager(); gameObjects = new List(); entities = new List(); new MapManager().LoadMap(); - AppManager.Instance.server.RegisterGameObject(new EntittyForAnimationTests(new Vector2(40, 40))); + AppManager.Instance.server.RegisterGameObject(new EntittyForAnimationTests(new Vector2(0, 0))); + AppManager.Instance.server.RegisterGameObject(new Player(new Vector2(740, 140))); + AppManager.Instance.server.RegisterGameObject(new Zombie(new Vector2(1000, 1000))); + AppManager.Instance.server.RegisterGameObject(new Ammo(new Vector2(140, 440))); + AppManager.Instance.server.RegisterGameObject(new Ammo(new Vector2(240, 440))); } /// @@ -92,6 +142,7 @@ namespace ZoFo.GameCore networkManager.AddData(gameEnded); networkManager.CloseConnection(); } + private List gameObjects = new List(); private List entities; //entity public void Update(GameTime gameTime) @@ -100,8 +151,9 @@ namespace ZoFo.GameCore { foreach (var go in gameObjects) { - go.UpdateLogic(gameTime); + go.UpdateLogic(); } + collisionManager.UpdatePositions(); ticks = 0; networkManager.SendData(); } @@ -116,7 +168,25 @@ namespace ZoFo.GameCore /// public void RegisterGameObject(GameObject gameObject) { + gameObjects.Add(gameObject); + if (gameObject is StopObject) + { + AddData(new UpdateStopObjectCreated() + { + Position = (gameObject as StopObject).position, + sourceRectangle = (gameObject as StopObject).sourceRectangle, + Size = (gameObject as StopObject).graphicsComponent.ObjectDrawRectangle.Size, + collisions = (gameObject as StopObject).collisionComponents.Select(x=>x.stopRectangle).ToArray(), + tileSetName = ((gameObject as StopObject).graphicsComponent as StaticGraphicsComponent)._textureName + });//TODO + foreach (var item in (gameObject as StopObject).collisionComponents) + { + collisionManager.Register(item); + + } + return; + } if (gameObject is MapObject) { AddData(new UpdateTileCreated() @@ -124,16 +194,44 @@ namespace ZoFo.GameCore Position = (gameObject as MapObject).position, sourceRectangle = (gameObject as MapObject).sourceRectangle, Size = (gameObject as MapObject).graphicsComponent.ObjectDrawRectangle.Size, - tileSetName = (gameObject as MapObject).graphicsComponent.mainTextureName + tileSetName = ((gameObject as MapObject).graphicsComponent as StaticGraphicsComponent)._textureName });//TODO return; } + if (gameObject is Entity) + { + AddData(new UpdateGameObjectCreated() { GameObjectType = gameObject.GetType().Name, IdEntity = (gameObject as Entity).Id, + position = gameObject.position}); + collisionManager.Register((gameObject as Entity).collisionComponent); + } + else + AddData(new UpdateGameObjectCreated() { GameObjectType = gameObject.GetType().Name, + position = gameObject.position + }); + - AddData(new UpdateGameObjectCreated() - { GameObjectType = gameObject.GetType().Name } - ); - + ////var elems = gameObject.GetType().GetProperties(System.Reflection.BindingFlags.Public); + ////if (elems.Count()>0) TODO + ////{ + //// AppManager.Instance.server.collisionManager.Register((elems.First().GetValue(gameObject) as CollisionComponent)); + ////} + + } + + /// + /// Удаляет игровой объект + /// + /// + public void DeleteObject(GameObject gameObject) + { + gameObjects.Remove(gameObject); + AddData(new UpdateGameObjectDeleted() + { GameObjectType = gameObject.GetType().Name} + ); } } + + #endregion + #endregion } diff --git a/ZoFo/GameSettings.txt b/ZoFo/GameSettings.txt new file mode 100644 index 0000000..f5dcd93 --- /dev/null +++ b/ZoFo/GameSettings.txt @@ -0,0 +1 @@ +{"IsFullScreen":false,"MainVolume":1.0,"MusicVolume":1.0,"SoundEffectsVolume":1.0,"Resolution":{"X":1440,"Y":900}} \ No newline at end of file diff --git a/ZoFo/ZoFo.csproj b/ZoFo/ZoFo.csproj index 93ee8ce..1fd87e3 100644 --- a/ZoFo/ZoFo.csproj +++ b/ZoFo/ZoFo.csproj @@ -11,8 +11,11 @@ Icon.ico + + + diff --git a/architecture.drawio.png b/architecture.drawio.png index c83ffee..4cb9f0f 100644 Binary files a/architecture.drawio.png and b/architecture.drawio.png differ