|
@ -37,6 +37,9 @@
|
||||||
#begin MapData/TileMaps/main.tmj
|
#begin MapData/TileMaps/main.tmj
|
||||||
/copy:MapData/TileMaps/main.tmj
|
/copy:MapData/TileMaps/main.tmj
|
||||||
|
|
||||||
|
#begin MapData/TileSets/IconSet.tsj
|
||||||
|
/copy:MapData/TileSets/IconSet.tsj
|
||||||
|
|
||||||
#begin MapData/TileSets/tileset 1 collision.tsj
|
#begin MapData/TileSets/tileset 1 collision.tsj
|
||||||
/copy:MapData/TileSets/tileset 1 collision.tsj
|
/copy:MapData/TileSets/tileset 1 collision.tsj
|
||||||
|
|
||||||
|
@ -124,54 +127,54 @@
|
||||||
#begin Textures/Animations/player_left_idle.animation
|
#begin Textures/Animations/player_left_idle.animation
|
||||||
/copy:Textures/Animations/player_left_idle.animation
|
/copy:Textures/Animations/player_left_idle.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_down_weapon.animation
|
|
||||||
/copy:Textures/Animations/player_look_down_weapon.animation
|
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_down.animation
|
#begin Textures/Animations/player_look_down.animation
|
||||||
/copy:Textures/Animations/player_look_down.animation
|
/copy:Textures/Animations/player_look_down.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_left_down_weapon.animation
|
#begin Textures/Animations/player_look_down_weapon.animation
|
||||||
/copy:Textures/Animations/player_look_left_down_weapon.animation
|
/copy:Textures/Animations/player_look_down_weapon.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_left_down.animation
|
|
||||||
/copy:Textures/Animations/player_look_left_down.animation
|
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_left_up_weapon.animation
|
|
||||||
/copy:Textures/Animations/player_look_left_up_weapon.animation
|
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_left_up.animation
|
|
||||||
/copy:Textures/Animations/player_look_left_up.animation
|
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_left_weapon.animation
|
|
||||||
/copy:Textures/Animations/player_look_left_weapon.animation
|
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_left.animation
|
#begin Textures/Animations/player_look_left.animation
|
||||||
/copy:Textures/Animations/player_look_left.animation
|
/copy:Textures/Animations/player_look_left.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_right_down_weapon.animation
|
#begin Textures/Animations/player_look_left_down.animation
|
||||||
/copy:Textures/Animations/player_look_right_down_weapon.animation
|
/copy:Textures/Animations/player_look_left_down.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_right_down.animation
|
#begin Textures/Animations/player_look_left_down_weapon.animation
|
||||||
/copy:Textures/Animations/player_look_right_down.animation
|
/copy:Textures/Animations/player_look_left_down_weapon.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_right_up_weapon.animation
|
#begin Textures/Animations/player_look_left_up.animation
|
||||||
/copy:Textures/Animations/player_look_right_up_weapon.animation
|
/copy:Textures/Animations/player_look_left_up.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_right_up.animation
|
#begin Textures/Animations/player_look_left_up_weapon.animation
|
||||||
/copy:Textures/Animations/player_look_right_up.animation
|
/copy:Textures/Animations/player_look_left_up_weapon.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_right_weapon.animation
|
#begin Textures/Animations/player_look_left_weapon.animation
|
||||||
/copy:Textures/Animations/player_look_right_weapon.animation
|
/copy:Textures/Animations/player_look_left_weapon.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_right.animation
|
#begin Textures/Animations/player_look_right.animation
|
||||||
/copy:Textures/Animations/player_look_right.animation
|
/copy:Textures/Animations/player_look_right.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_up_weapon.animation
|
#begin Textures/Animations/player_look_right_down.animation
|
||||||
/copy:Textures/Animations/player_look_up_weapon.animation
|
/copy:Textures/Animations/player_look_right_down.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/player_look_right_down_weapon.animation
|
||||||
|
/copy:Textures/Animations/player_look_right_down_weapon.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/player_look_right_up.animation
|
||||||
|
/copy:Textures/Animations/player_look_right_up.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/player_look_right_up_weapon.animation
|
||||||
|
/copy:Textures/Animations/player_look_right_up_weapon.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/player_look_right_weapon.animation
|
||||||
|
/copy:Textures/Animations/player_look_right_weapon.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_look_up.animation
|
#begin Textures/Animations/player_look_up.animation
|
||||||
/copy:Textures/Animations/player_look_up.animation
|
/copy:Textures/Animations/player_look_up.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/player_look_up_weapon.animation
|
||||||
|
/copy:Textures/Animations/player_look_up_weapon.animation
|
||||||
|
|
||||||
#begin Textures/Animations/player_right_idle.animation
|
#begin Textures/Animations/player_right_idle.animation
|
||||||
/copy:Textures/Animations/player_right_idle.animation
|
/copy:Textures/Animations/player_right_idle.animation
|
||||||
|
|
||||||
|
@ -196,6 +199,21 @@
|
||||||
#begin Textures/Animations/testAnimationExample.animation
|
#begin Textures/Animations/testAnimationExample.animation
|
||||||
/copy:Textures/Animations/testAnimationExample.animation
|
/copy:Textures/Animations/testAnimationExample.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/zombie_attack.animation
|
||||||
|
/copy:Textures/Animations/zombie_attack.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/zombie_damaged.animation
|
||||||
|
/copy:Textures/Animations/zombie_damaged.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/zombie_death.animation
|
||||||
|
/copy:Textures/Animations/zombie_death.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/zombie_idle.animation
|
||||||
|
/copy:Textures/Animations/zombie_idle.animation
|
||||||
|
|
||||||
|
#begin Textures/Animations/zombie_walk.animation
|
||||||
|
/copy:Textures/Animations/zombie_walk.animation
|
||||||
|
|
||||||
#begin Textures/AnimationTextures/Character/hr-level1_idle.png
|
#begin Textures/AnimationTextures/Character/hr-level1_idle.png
|
||||||
/importer:TextureImporter
|
/importer:TextureImporter
|
||||||
/processor:TextureProcessor
|
/processor:TextureProcessor
|
||||||
|
@ -280,6 +298,30 @@
|
||||||
/processorParam:TextureFormat=Color
|
/processorParam:TextureFormat=Color
|
||||||
/build:Textures/AnimationTextures/unicorn.png
|
/build:Textures/AnimationTextures/unicorn.png
|
||||||
|
|
||||||
|
#begin Textures/AnimationTextures/Zombie/zombie_spritesheet_v1.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/AnimationTextures/Zombie/zombie_spritesheet_v1.png
|
||||||
|
|
||||||
|
#begin Textures/AnimationTextures/Zombie/zombie_spritesheet_v2.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/AnimationTextures/Zombie/zombie_spritesheet_v2.png
|
||||||
|
|
||||||
#begin Textures/GUI/background/base.png
|
#begin Textures/GUI/background/base.png
|
||||||
/importer:TextureImporter
|
/importer:TextureImporter
|
||||||
/processor:TextureProcessor
|
/processor:TextureProcessor
|
||||||
|
@ -568,6 +610,810 @@
|
||||||
/processorParam:TextureFormat=Color
|
/processorParam:TextureFormat=Color
|
||||||
/build:Textures/icons/9.png
|
/build:Textures/icons/9.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Collectables/Ammo.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/Collectables/Ammo.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Collectables/BottleOfWater.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/Collectables/BottleOfWater.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Collectables/Peeble.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/Collectables/Peeble.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Collectables/PureBottleOfWater.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/Collectables/PureBottleOfWater.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Collectables/RottenFlesh.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/Collectables/RottenFlesh.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Collectables/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/icons/Collectables/Steel.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Collectables/Wood.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/Collectables/Wood.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Material/Fabric.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/Material/Fabric.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Material/Leather.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/Material/Leather.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Material/Paper.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/Material/Paper.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Material/Rope.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/Material/Rope.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Material/String.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/Material/String.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Material/Wooden Plank.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/Material/Wooden Plank.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Material/Wool.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/Material/Wool.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Book 2.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/Misc/Book 2.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Book 3.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/Misc/Book 3.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Book.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/Misc/Book.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Candle.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/Misc/Candle.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Chest.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/Misc/Chest.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Copper Coin.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/Misc/Copper Coin.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Crate.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/Misc/Crate.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Envolop.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/Misc/Envolop.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Gear.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/Misc/Gear.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Golden Coin.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/Misc/Golden Coin.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Golden Key.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/Misc/Golden Key.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Heart.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/Misc/Heart.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Iron Key.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/Misc/Iron Key.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Lantern.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/Misc/Lantern.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Map.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/Misc/Map.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Rune Stone.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/Misc/Rune Stone.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Scroll.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/Misc/Scroll.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Silver Coin.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/Misc/Silver Coin.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Misc/Silver Key.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/Misc/Silver Key.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Monster Part/Bone.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/Monster Part/Bone.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Monster Part/Egg.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/Monster Part/Egg.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Monster Part/Feather.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/Monster Part/Feather.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Monster Part/Monster Egg.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/Monster Part/Monster Egg.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Monster Part/Monster Eye.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/Monster Part/Monster Eye.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Monster Part/Skull.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/Monster Part/Skull.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Monster Part/Slime Gel.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/Monster Part/Slime Gel.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Coal.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/Ore & Gem/Coal.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Copper Ingot.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/Ore & Gem/Copper Ingot.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Copper Nugget.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/Ore & Gem/Copper Nugget.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Crystal.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/Ore & Gem/Crystal.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Cut Emerald.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/Ore & Gem/Cut Emerald.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Cut Ruby.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/Ore & Gem/Cut Ruby.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Cut Sapphire.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/Ore & Gem/Cut Sapphire.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Cut Topaz.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/Ore & Gem/Cut Topaz.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Diamond.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/Ore & Gem/Diamond.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Emerald.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/Ore & Gem/Emerald.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Gold Nugget.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/Ore & Gem/Gold Nugget.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Golden Ingot.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/Ore & Gem/Golden Ingot.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Obsidian.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/Ore & Gem/Obsidian.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Pearl.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/Ore & Gem/Pearl.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Ruby.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/Ore & Gem/Ruby.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Sapphire.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/Ore & Gem/Sapphire.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Silver Nugget.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/Ore & Gem/Silver Nugget.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Ore & Gem/Topaz.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/Ore & Gem/Topaz.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Blue Potion 2.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/Potion/Blue Potion 2.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Blue Potion 3.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/Potion/Blue Potion 3.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Empty Bottle.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/Potion/Empty Bottle.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Green Potion 2.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/Potion/Green Potion 2.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Green Potion 3.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/Potion/Green Potion 3.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Green Potion.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/Potion/Green Potion.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Red Potion 2.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/Potion/Red Potion 2.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Red Potion 3.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/Potion/Red Potion 3.png
|
||||||
|
|
||||||
|
#begin Textures/icons/Potion/Red Potion.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/Potion/Red Potion.png
|
||||||
|
|
||||||
#begin Textures/Test/pickaxe.webp
|
#begin Textures/Test/pickaxe.webp
|
||||||
/importer:TextureImporter
|
/importer:TextureImporter
|
||||||
/processor:TextureProcessor
|
/processor:TextureProcessor
|
||||||
|
|
|
@ -5,53 +5,74 @@
|
||||||
},
|
},
|
||||||
"activeFile": "TileMaps/main.tmj",
|
"activeFile": "TileMaps/main.tmj",
|
||||||
"expandedProjectPaths": [
|
"expandedProjectPaths": [
|
||||||
|
".",
|
||||||
"TileSets",
|
"TileSets",
|
||||||
"TileMaps",
|
"TileMaps"
|
||||||
"."
|
|
||||||
],
|
],
|
||||||
"fileStates": {
|
"fileStates": {
|
||||||
|
"": {
|
||||||
|
"scaleInDock": 1
|
||||||
|
},
|
||||||
"TileMaps/TileSets/TileSet 1.tsj": {
|
"TileMaps/TileSets/TileSet 1.tsj": {
|
||||||
"scaleInDock": 1
|
"scaleInDock": 1
|
||||||
},
|
},
|
||||||
"TileMaps/main.tmj": {
|
"TileMaps/main.tmj": {
|
||||||
"scale": 0.5,
|
"scale": 0.33,
|
||||||
"selectedLayer": 1,
|
"selectedLayer": 1,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 895,
|
"x": 1010.6060606060606,
|
||||||
"y": 270
|
"y": 553.0303030303031
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"TileMaps/main.tmj#IconSet": {
|
||||||
|
"dynamicWrapping": true,
|
||||||
|
"scaleInEditor": 1
|
||||||
|
},
|
||||||
"TileSets/CollisionTileSet.tsj": {
|
"TileSets/CollisionTileSet.tsj": {
|
||||||
"scaleInDock": 0.75,
|
"scaleInDock": 0.75,
|
||||||
"scaleInEditor": 1
|
"scaleInEditor": 1
|
||||||
},
|
},
|
||||||
|
"TileSets/IconSet.tsj": {
|
||||||
|
"dynamicWrapping": true
|
||||||
|
},
|
||||||
"TileSets/TileSet 1.tsj": {
|
"TileSets/TileSet 1.tsj": {
|
||||||
|
"dynamicWrapping": false,
|
||||||
"scaleInDock": 1,
|
"scaleInDock": 1,
|
||||||
"scaleInEditor": 1.5
|
"scaleInEditor": 1.5
|
||||||
},
|
},
|
||||||
|
"TileSets/TilesetNature.tsj": {
|
||||||
|
"dynamicWrapping": false
|
||||||
|
"scaleInDock": 1
|
||||||
|
},
|
||||||
"TileSets/WallSet.tsj": {
|
"TileSets/WallSet.tsj": {
|
||||||
"scaleInDock": 1,
|
"scaleInDock": 1,
|
||||||
"scaleInEditor": 1
|
"scaleInEditor": 1
|
||||||
|
},
|
||||||
|
"TileSets/tileset 1 collision.tsj": {
|
||||||
|
"scaleInDock": 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"last.imagePath": "D:/C#/Я смотрел ваши ХАКАТОНЫ/ZoFo/ZoFo/Content/Textures/TileSetImages",
|
"last.imagePath": "D:/C#/Я смотрел ваши ХАКАТОНЫ/ZoFo/ZoFo/Content/Textures/icons",
|
||||||
|
"last.objectTemplatePath": "D:/C#/Я смотрел ваши ХАКАТОНЫ/ZoFo/ZoFo/Content/MapData/Templates",
|
||||||
"openFiles": [
|
"openFiles": [
|
||||||
"TileSets/TileSet 1.tsj",
|
"TileSets/TileSet 1.tsj",
|
||||||
"TileMaps/main.tmj",
|
"TileMaps/main.tmj"
|
||||||
"TileSets/CollisionTileSet.tsj"
|
|
||||||
],
|
],
|
||||||
"project": "MapSession.tiled-project",
|
"project": "MapSession.tiled-project",
|
||||||
"recentFiles": [
|
"recentFiles": [
|
||||||
|
"TileSets/TileSet 1.tsj",
|
||||||
"TileMaps/main.tmj",
|
"TileMaps/main.tmj",
|
||||||
"TileSets/CollisionTileSet.tsj",
|
"TileSets/CollisionTileSet.tsj",
|
||||||
"TileSets/TileSet 1.tsj",
|
|
||||||
"TileSets/WallSet.tsj"
|
"TileSets/WallSet.tsj"
|
||||||
],
|
],
|
||||||
|
"stampsFolder": "D:/C#/Я смотрел ваши ХАКАТОНЫ/ZoFo/ZoFo/Content/MapData/TileStamps",
|
||||||
|
"tileset.embedInMap": false,
|
||||||
"tileset.lastUsedFormat": "json",
|
"tileset.lastUsedFormat": "json",
|
||||||
"tileset.margin": 0,
|
"tileset.margin": 0,
|
||||||
"tileset.spacing": 0,
|
"tileset.spacing": 0,
|
||||||
"tileset.tileSize": {
|
"tileset.tileSize": {
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"width": 16
|
"width": 16
|
||||||
}
|
},
|
||||||
|
"tileset.type": 1
|
||||||
}
|
}
|
||||||
|
|
18
ZoFo/Content/MapData/Templates/Ammo.tj
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ "object":
|
||||||
|
{
|
||||||
|
"gid":1,
|
||||||
|
"height":16,
|
||||||
|
"id":13,
|
||||||
|
"name":"Ammo",
|
||||||
|
"rotation":0,
|
||||||
|
"type":"",
|
||||||
|
"visible":true,
|
||||||
|
"width":16
|
||||||
|
},
|
||||||
|
"tileset":
|
||||||
|
{
|
||||||
|
"firstgid":1,
|
||||||
|
"source":"..\/TileSets\/IconSet.tsj"
|
||||||
|
},
|
||||||
|
"type":"template"
|
||||||
|
}
|
18
ZoFo/Content/MapData/Templates/BottleOfWater.tj
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ "object":
|
||||||
|
{
|
||||||
|
"gid":3,
|
||||||
|
"height":16,
|
||||||
|
"id":11,
|
||||||
|
"name":"BottleOfWater",
|
||||||
|
"rotation":0,
|
||||||
|
"type":"",
|
||||||
|
"visible":true,
|
||||||
|
"width":16
|
||||||
|
},
|
||||||
|
"tileset":
|
||||||
|
{
|
||||||
|
"firstgid":1,
|
||||||
|
"source":"..\/TileSets\/IconSet.tsj"
|
||||||
|
},
|
||||||
|
"type":"template"
|
||||||
|
}
|
18
ZoFo/Content/MapData/Templates/Peeble.tj
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ "object":
|
||||||
|
{
|
||||||
|
"gid":7,
|
||||||
|
"height":16,
|
||||||
|
"id":17,
|
||||||
|
"name":"Peeble",
|
||||||
|
"rotation":0,
|
||||||
|
"type":"",
|
||||||
|
"visible":true,
|
||||||
|
"width":16
|
||||||
|
},
|
||||||
|
"tileset":
|
||||||
|
{
|
||||||
|
"firstgid":1,
|
||||||
|
"source":"..\/TileSets\/IconSet.tsj"
|
||||||
|
},
|
||||||
|
"type":"template"
|
||||||
|
}
|
18
ZoFo/Content/MapData/Templates/PureBottleOfWater.tj
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ "object":
|
||||||
|
{
|
||||||
|
"gid":2,
|
||||||
|
"height":16,
|
||||||
|
"id":10,
|
||||||
|
"name":"PureBottleOfWater",
|
||||||
|
"rotation":0,
|
||||||
|
"type":"",
|
||||||
|
"visible":true,
|
||||||
|
"width":16
|
||||||
|
},
|
||||||
|
"tileset":
|
||||||
|
{
|
||||||
|
"firstgid":1,
|
||||||
|
"source":"..\/TileSets\/IconSet.tsj"
|
||||||
|
},
|
||||||
|
"type":"template"
|
||||||
|
}
|
18
ZoFo/Content/MapData/Templates/RottenFlesh.tj
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ "object":
|
||||||
|
{
|
||||||
|
"gid":6,
|
||||||
|
"height":16,
|
||||||
|
"id":16,
|
||||||
|
"name":"RottenFlesh",
|
||||||
|
"rotation":0,
|
||||||
|
"type":"",
|
||||||
|
"visible":true,
|
||||||
|
"width":16
|
||||||
|
},
|
||||||
|
"tileset":
|
||||||
|
{
|
||||||
|
"firstgid":1,
|
||||||
|
"source":"..\/TileSets\/IconSet.tsj"
|
||||||
|
},
|
||||||
|
"type":"template"
|
||||||
|
}
|
18
ZoFo/Content/MapData/Templates/Steel.tj
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ "object":
|
||||||
|
{
|
||||||
|
"gid":5,
|
||||||
|
"height":16,
|
||||||
|
"id":15,
|
||||||
|
"name":"Steel",
|
||||||
|
"rotation":0,
|
||||||
|
"type":"",
|
||||||
|
"visible":true,
|
||||||
|
"width":16
|
||||||
|
},
|
||||||
|
"tileset":
|
||||||
|
{
|
||||||
|
"firstgid":1,
|
||||||
|
"source":"..\/TileSets\/IconSet.tsj"
|
||||||
|
},
|
||||||
|
"type":"template"
|
||||||
|
}
|
18
ZoFo/Content/MapData/Templates/Wood.tj
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ "object":
|
||||||
|
{
|
||||||
|
"gid":4,
|
||||||
|
"height":16,
|
||||||
|
"id":12,
|
||||||
|
"name":"Wood",
|
||||||
|
"rotation":0,
|
||||||
|
"type":"",
|
||||||
|
"visible":true,
|
||||||
|
"width":16
|
||||||
|
},
|
||||||
|
"tileset":
|
||||||
|
{
|
||||||
|
"firstgid":1,
|
||||||
|
"source":"..\/TileSets\/IconSet.tsj"
|
||||||
|
},
|
||||||
|
"type":"template"
|
||||||
|
}
|
60
ZoFo/Content/MapData/TileSets/IconSet.tsj
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
{ "columns":0,
|
||||||
|
"grid":
|
||||||
|
{
|
||||||
|
"height":1,
|
||||||
|
"orientation":"orthogonal",
|
||||||
|
"width":1
|
||||||
|
},
|
||||||
|
"margin":0,
|
||||||
|
"name":"IconSet",
|
||||||
|
"spacing":0,
|
||||||
|
"tilecount":7,
|
||||||
|
"tiledversion":"1.10.2",
|
||||||
|
"tileheight":1200,
|
||||||
|
"tiles":[
|
||||||
|
{
|
||||||
|
"id":0,
|
||||||
|
"image":"..\/..\/Textures\/icons\/Collectables\/ammunition.png",
|
||||||
|
"imageheight":512,
|
||||||
|
"imagewidth":512
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id":1,
|
||||||
|
"image":"..\/..\/Textures\/icons\/Collectables\/Blue Potion.png",
|
||||||
|
"imageheight":32,
|
||||||
|
"imagewidth":32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id":2,
|
||||||
|
"image":"..\/..\/Textures\/icons\/Collectables\/Water Bottle.png",
|
||||||
|
"imageheight":32,
|
||||||
|
"imagewidth":32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id":3,
|
||||||
|
"image":"..\/..\/Textures\/icons\/Collectables\/Wood Log.png",
|
||||||
|
"imageheight":32,
|
||||||
|
"imagewidth":32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id":4,
|
||||||
|
"image":"..\/..\/Textures\/icons\/Collectables\/Silver Ingot.png",
|
||||||
|
"imageheight":32,
|
||||||
|
"imagewidth":32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id":5,
|
||||||
|
"image":"..\/..\/Textures\/icons\/Collectables\/Monster Meat.png",
|
||||||
|
"imageheight":32,
|
||||||
|
"imagewidth":32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id":6,
|
||||||
|
"image":"..\/..\/Textures\/icons\/Collectables\/Stone.png",
|
||||||
|
"imageheight":1200,
|
||||||
|
"imagewidth":1200
|
||||||
|
}],
|
||||||
|
"tilewidth":1200,
|
||||||
|
"type":"tileset",
|
||||||
|
"version":"1.10"
|
||||||
|
}
|
1
ZoFo/Content/MapData/TileStamps/boulders.stamp
Normal file
1
ZoFo/Content/MapData/TileStamps/stone buildings.stamp
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"name":"Stone Buildings","variations":[{"map":{"compressionlevel":-1,"height":3,"infinite":false,"layers":[{"compression":"zlib","data":"eJwNwwcNACAMALBxLMCwwPGvjzZpiYhqszucpsvt8fr8EWABDw==","encoding":"base64","height":3,"id":1,"name":"","opacity":1,"type":"tilelayer","visible":true,"width":4,"x":0,"y":0}],"nextlayerid":2,"nextobjectid":1,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.2","tileheight":16,"tilesets":[{"firstgid":1,"source":"../TileSets/tileset 1 collision.tsj"}],"tilewidth":16,"type":"map","version":"1.10","width":4},"probability":1},{"map":{"compressionlevel":-1,"height":3,"infinite":false,"layers":[{"compression":"zlib","data":"eJxjZWBgYANidiDmAGJJIJYCYmkglgFiXSDWA2J9IDYAYgAWQAE/","encoding":"base64","height":3,"id":1,"name":"","opacity":1,"type":"tilelayer","visible":true,"width":4,"x":0,"y":0}],"nextlayerid":2,"nextobjectid":1,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.2","tileheight":16,"tilesets":[{"firstgid":1,"source":"../TileSets/tileset 1 collision.tsj"}],"tilewidth":16,"type":"map","version":"1.10","width":4},"probability":1},{"map":{"compressionlevel":-1,"height":3,"infinite":false,"layers":[{"compression":"zlib","data":"eJzjZGBg4AJibiCWBWI5IJYHYkMgNgJiYyAGAA+EAQ8=","encoding":"base64","height":3,"id":1,"name":"","opacity":1,"type":"tilelayer","visible":true,"width":3,"x":0,"y":0}],"nextlayerid":2,"nextobjectid":1,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.2","tileheight":16,"tilesets":[{"firstgid":1,"source":"../TileSets/tileset 1 collision.tsj"}],"tilewidth":16,"type":"map","version":"1.10","width":3},"probability":1},{"map":{"compressionlevel":-1,"height":3,"infinite":false,"layers":[{"compression":"zlib","data":"eJzjYWBg4AViPiBWAGJFIFYCYhMgNgViMyAGABGgASo=","encoding":"base64","height":3,"id":1,"name":"","opacity":1,"type":"tilelayer","visible":true,"width":3,"x":0,"y":0}],"nextlayerid":2,"nextobjectid":1,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.2","tileheight":16,"tilesets":[{"firstgid":1,"source":"../TileSets/tileset 1 collision.tsj"}],"tilewidth":16,"type":"map","version":"1.10","width":3},"probability":1},{"map":{"compressionlevel":-1,"height":2,"infinite":false,"layers":[{"compression":"zlib","data":"eJzzY2Bg8AfiACBOAuJkIE4BYgAb1AIX","encoding":"base64","height":2,"id":1,"name":"","opacity":1,"type":"tilelayer","visible":true,"width":3,"x":0,"y":0}],"nextlayerid":2,"nextobjectid":1,"orientation":"orthogonal","renderorder":"right-down","tiledversion":"1.10.2","tileheight":16,"tilesets":[{"firstgid":1,"source":"../TileSets/tileset 1 collision.tsj"}],"tilewidth":16,"type":"map","version":"1.10","width":3},"probability":1}]}
|
After Width: | Height: | Size: 5 KiB |
After Width: | Height: | Size: 16 KiB |
1
ZoFo/Content/Textures/Animations/zombie_attack.animation
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"id":"zombie_attack","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":64,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":3,"isCycle":true,"offset":"0, 0"}
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"zombie_damaged","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":128,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
ZoFo/Content/Textures/Animations/zombie_death.animation
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"id":"zombie_death","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":96,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":9,"isCycle":true,"offset":"0, 0"}
|
1
ZoFo/Content/Textures/Animations/zombie_idle.animation
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"id":"zombie_idle","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":0,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":60}],"textureFrameInterval":0,"framesCount":2,"isCycle":true,"offset":"0, 0"}
|
1
ZoFo/Content/Textures/Animations/zombie_walk.animation
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"id":"zombie_walk","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":32,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":8,"isCycle":true,"offset":"0, 0"}
|
BIN
ZoFo/Content/Textures/icons/Collectables/Ammo.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
ZoFo/Content/Textures/icons/Collectables/BottleOfWater.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Collectables/Peeble.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
ZoFo/Content/Textures/icons/Collectables/PureBottleOfWater.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Collectables/RottenFlesh.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Collectables/Steel.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Collectables/Wood.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Material/Fabric.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Material/Leather.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Material/Paper.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Material/Rope.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Material/String.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Material/Wooden Plank.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Material/Wool.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Book 2.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Book 3.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Book.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Candle.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Chest.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Copper Coin.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Crate.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Envolop.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Gear.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Golden Coin.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Golden Key.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Heart.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Iron Key.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Lantern.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Map.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Rune Stone.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Scroll.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Silver Coin.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Misc/Silver Key.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
ZoFo/Content/Textures/icons/Monster Part/Bone.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
ZoFo/Content/Textures/icons/Monster Part/Egg.png
Normal file
After Width: | Height: | Size: 1,011 B |
BIN
ZoFo/Content/Textures/icons/Monster Part/Feather.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
ZoFo/Content/Textures/icons/Monster Part/Monster Egg.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Monster Part/Monster Eye.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Monster Part/Skull.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
ZoFo/Content/Textures/icons/Monster Part/Slime Gel.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Coal.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Copper Ingot.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Copper Nugget.png
Normal file
After Width: | Height: | Size: 999 B |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Crystal.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Cut Emerald.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Cut Ruby.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Cut Sapphire.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Cut Topaz.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Diamond.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Emerald.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Gold Nugget.png
Normal file
After Width: | Height: | Size: 921 B |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Golden Ingot.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Obsidian.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Pearl.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Ruby.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Sapphire.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Silver Nugget.png
Normal file
After Width: | Height: | Size: 973 B |
BIN
ZoFo/Content/Textures/icons/Ore & Gem/Topaz.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Blue Potion 2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Blue Potion 3.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Empty Bottle.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Green Potion 2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Green Potion 3.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Green Potion.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Red Potion 2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Red Potion 3.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
ZoFo/Content/Textures/icons/Potion/Red Potion.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
|
@ -24,6 +24,7 @@ using ZoFo.GameCore.GUI;
|
||||||
using ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables;
|
using ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables;
|
||||||
using ZoFo.GameCore.GameObjects.MapObjects.StopObjects;
|
using ZoFo.GameCore.GameObjects.MapObjects.StopObjects;
|
||||||
using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies;
|
using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies;
|
||||||
|
using ZoFo.GameCore.Graphics;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
namespace ZoFo.GameCore
|
namespace ZoFo.GameCore
|
||||||
|
@ -51,6 +52,15 @@ namespace ZoFo.GameCore
|
||||||
InputMovementDirection = AppManager.Instance.InputManager.InputMovementDirection,
|
InputMovementDirection = AppManager.Instance.InputManager.InputMovementDirection,
|
||||||
InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection
|
InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection
|
||||||
});
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
AppManager.Instance.InputManager.OnInteract += () =>
|
||||||
|
{
|
||||||
|
networkManager.AddData(new UpdateInputInteraction() { });
|
||||||
|
};
|
||||||
|
AppManager.Instance.InputManager.ShootEvent += () =>
|
||||||
|
{
|
||||||
|
networkManager.AddData(new UpdateInputShoot() { });
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,10 +93,12 @@ namespace ZoFo.GameCore
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
Player myPlayer;
|
||||||
List<MapObject> mapObjects = new List<MapObject>();
|
List<MapObject> mapObjects = new List<MapObject>();
|
||||||
List<GameObject> gameObjects = new List<GameObject>();
|
List<GameObject> gameObjects = new List<GameObject>();
|
||||||
List<Player> players = new List<Player>();
|
List<Player> players = new List<Player>();
|
||||||
List<StopObject> stopObjects = new List<StopObject>();
|
List<StopObject> stopObjects = new List<StopObject>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Клиент должен обнговлять игру анимаций
|
/// Клиент должен обнговлять игру анимаций
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -98,6 +110,10 @@ namespace ZoFo.GameCore
|
||||||
AppManager.Instance.debugHud.Set("GameTime", gameTime.TotalGameTime.ToString());
|
AppManager.Instance.debugHud.Set("GameTime", gameTime.TotalGameTime.ToString());
|
||||||
gameObjects[i].UpdateAnimations();
|
gameObjects[i].UpdateAnimations();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
networkManager.SendData();//set to ticks
|
||||||
|
if (myPlayer!=null)
|
||||||
|
GraphicsComponent.CameraPosition = (myPlayer.position + myPlayer.graphicsComponent.ObjectDrawRectangle.Size.ToVector2()/2 - AppManager.Instance.CurentScreenResolution.ToVector2()/(2*GraphicsComponent.scaling)).ToPoint();
|
||||||
}
|
}
|
||||||
internal void Draw(SpriteBatch spriteBatch)
|
internal void Draw(SpriteBatch spriteBatch)
|
||||||
{
|
{
|
||||||
|
@ -127,16 +143,17 @@ namespace ZoFo.GameCore
|
||||||
(update as UpdateTileCreated).tileSetName
|
(update as UpdateTileCreated).tileSetName
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
//else if (update is UpdateStopObjectCreated)
|
else if (update is UpdateStopObjectCreated)
|
||||||
//{
|
{
|
||||||
// stopObjects.Add(
|
stopObjects.Add(
|
||||||
// new StopObject(
|
new StopObject(
|
||||||
// (update as UpdateStopObjectCreated).Position,
|
(update as UpdateStopObjectCreated).Position,
|
||||||
// (update as UpdateStopObjectCreated).Size.ToVector2(),
|
(update as UpdateStopObjectCreated).Size.GetPoint().ToVector2(),
|
||||||
// (update as UpdateStopObjectCreated).sourceRectangle,
|
(update as UpdateStopObjectCreated).sourceRectangle.GetRectangle(),
|
||||||
// (update as UpdateStopObjectCreated).tileSetName
|
(update as UpdateStopObjectCreated).tileSetName,
|
||||||
// ));
|
(update as UpdateStopObjectCreated).collisions.Select(x =>x.GetRectangle()).ToArray()
|
||||||
//}
|
));
|
||||||
|
}
|
||||||
else if (update is UpdateGameObjectCreated)
|
else if (update is UpdateGameObjectCreated)
|
||||||
{
|
{
|
||||||
GameObject created_gameObject;
|
GameObject created_gameObject;
|
||||||
|
@ -146,6 +163,7 @@ namespace ZoFo.GameCore
|
||||||
{
|
{
|
||||||
created_gameObject = new Player((update as UpdateGameObjectCreated).position);
|
created_gameObject = new Player((update as UpdateGameObjectCreated).position);
|
||||||
players.Add(created_gameObject as Player);
|
players.Add(created_gameObject as Player);
|
||||||
|
myPlayer = players[0];
|
||||||
gameObjects.Add(created_gameObject);
|
gameObjects.Add(created_gameObject);
|
||||||
}
|
}
|
||||||
if ((update as UpdateGameObjectCreated).GameObjectType == "Ammo")
|
if ((update as UpdateGameObjectCreated).GameObjectType == "Ammo")
|
||||||
|
@ -167,7 +185,21 @@ namespace ZoFo.GameCore
|
||||||
var ent = FindEntityById(update.IdEntity);
|
var ent = FindEntityById(update.IdEntity);
|
||||||
|
|
||||||
ent.position = (update as UpdatePosition).NewPosition;
|
ent.position = (update as UpdatePosition).NewPosition;
|
||||||
DebugHUD.Instance.Log("newPosition " + ent.position);
|
}
|
||||||
|
else if (update is UpdateAnimation)
|
||||||
|
{
|
||||||
|
var ent = FindEntityById(update.IdEntity);
|
||||||
|
if (ent != null)
|
||||||
|
((ent as Entity).graphicsComponent as AnimatedGraphicsComponent).StartAnimation((update as UpdateAnimation).animationId);
|
||||||
|
//DebugHUD.Instance.Log("new Animation " + ent.position);
|
||||||
|
}
|
||||||
|
else if (update is UpdateGameObjectDeleted)
|
||||||
|
{
|
||||||
|
var ent = FindEntityById(update.IdEntity);
|
||||||
|
|
||||||
|
if (ent != null)
|
||||||
|
DeleteObject(ent);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,6 +218,16 @@ namespace ZoFo.GameCore
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
public void DeleteObject(Entity entity)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (gameObjects.Contains(entity))
|
||||||
|
gameObjects.Remove(entity);
|
||||||
|
//if (entities.Contains(entity))
|
||||||
|
// entities.Remove(entity);
|
||||||
|
if (players.Contains(entity))
|
||||||
|
players.Remove(entity as Player);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -62,6 +62,10 @@ public class DebugHUD
|
||||||
{
|
{
|
||||||
_text[key] = value;
|
_text[key] = value;
|
||||||
}
|
}
|
||||||
|
public static void DebugSet(string key, string value)
|
||||||
|
{
|
||||||
|
Instance._text[key] = value;
|
||||||
|
}
|
||||||
|
|
||||||
public void Log(string value)
|
public void Log(string value)
|
||||||
{
|
{
|
||||||
|
@ -71,4 +75,12 @@ public class DebugHUD
|
||||||
_log.RemoveAt(0);
|
_log.RemoveAt(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static void DebugLog(string value)
|
||||||
|
{
|
||||||
|
Instance._log.Add(value);
|
||||||
|
if (Instance._log.Count > 30)
|
||||||
|
{
|
||||||
|
Instance._log.RemoveAt(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -43,12 +43,11 @@ namespace ZoFo.GameCore.GameManagers.CollisionManager
|
||||||
public GameObject gameObject { get; set; }
|
public GameObject gameObject { get; set; }
|
||||||
|
|
||||||
|
|
||||||
bool doesStop;
|
public bool hasCollision;
|
||||||
bool hasCollision;
|
|
||||||
public Rectangle stopRectangle;
|
public Rectangle stopRectangle;
|
||||||
|
|
||||||
// triggers for rectangle
|
// triggers for rectangle
|
||||||
bool isTrigger;
|
public bool isTrigger;
|
||||||
public Rectangle triggerRectangle;
|
public Rectangle triggerRectangle;
|
||||||
|
|
||||||
//delegate
|
//delegate
|
||||||
|
@ -58,13 +57,21 @@ namespace ZoFo.GameCore.GameManagers.CollisionManager
|
||||||
|
|
||||||
|
|
||||||
//events DoorInteraction
|
//events DoorInteraction
|
||||||
public event EventHandler<CollisionComponent> OnTriggerEnter;
|
public delegate void CollisionAction(Player player);
|
||||||
public event EventHandler<CollisionComponent> OnTriggerZone;
|
public event CollisionAction? OnTriggerEnter;
|
||||||
public event EventHandler<CollisionComponent> OnTriggerExit;
|
public event CollisionAction? OnTriggerZone;
|
||||||
|
public event CollisionAction? OnTriggerExit;
|
||||||
|
|
||||||
public event EventHandler<CollisionComponent> OnCollision;
|
public delegate void CoollisionEvent(GameObject gameObject);
|
||||||
|
public event CoollisionEvent? OnCollision;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void PlayerInZone(Player player) => OnTriggerZone?.Invoke(player);
|
||||||
|
public void PlayerEnter(Player player) => OnTriggerEnter?.Invoke(player);
|
||||||
|
public void PlayerExit(Player player) => OnTriggerExit?.Invoke(player);
|
||||||
|
public void OnCollisionWithObject(GameObject gameObject) => OnCollision?.Invoke(gameObject);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ using ZoFo.GameCore.GameObjects.Entities;
|
||||||
using ZoFo.GameCore.GameObjects.Entities.LivingEntities;
|
using ZoFo.GameCore.GameObjects.Entities.LivingEntities;
|
||||||
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient;
|
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient;
|
||||||
using ZoFo.GameCore.Graphics;
|
using ZoFo.GameCore.Graphics;
|
||||||
|
using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player;
|
||||||
|
|
||||||
namespace ZoFo.GameCore.GameManagers.CollisionManager
|
namespace ZoFo.GameCore.GameManagers.CollisionManager
|
||||||
{
|
{
|
||||||
|
@ -25,127 +26,193 @@ namespace ZoFo.GameCore.GameManagers.CollisionManager
|
||||||
|
|
||||||
|
|
||||||
//чекаем коллизии в листе
|
//чекаем коллизии в листе
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// минимальный накоп изменения перед перевдижением
|
||||||
|
/// </summary>
|
||||||
|
const float minimalValueToChange = 4;
|
||||||
public void CheckComponentCollision(CollisionComponent componentOfEntity)
|
public void CheckComponentCollision(CollisionComponent componentOfEntity)
|
||||||
{
|
{
|
||||||
var entity = componentOfEntity.gameObject as LivingEntity;
|
var entity = componentOfEntity.gameObject as LivingEntity;
|
||||||
//for (int i = 0; i < ObjectsWithCollisions.Count; i++)
|
//for (int i = 0; i < ObjectsWithCollisions.Count; i++)
|
||||||
//{
|
//{
|
||||||
var currentRect = entity.collisionComponent.stopRectangle;//задаём РЕК
|
var currentRect = entity.collisionComponent.stopRectangle;//задаём РЕК
|
||||||
currentRect.X+=(int)entity.position.X;
|
currentRect.X += (int)entity.position.X;
|
||||||
currentRect.Y+=(int)entity.position.Y;
|
currentRect.Y += (int)entity.position.Y;
|
||||||
|
|
||||||
var newRect = currentRect; // задаём значение старого РЕК новому РЕК
|
var newRect = currentRect; // задаём значение старого РЕК новому РЕК
|
||||||
|
|
||||||
|
|
||||||
var collidedX = false; // соприкосновение
|
if (Math.Abs((int)entity.velocity.X) > minimalValueToChange ) //TODO
|
||||||
var tryingRectX = currentRect;//переменная для попытки перемещения по X
|
|
||||||
|
|
||||||
tryingRectX.Offset((int)(entity.velocity.X), 0);//задаём значения для tryingRectX по X и по Y
|
|
||||||
|
|
||||||
foreach (var item in ObjectsWithCollisions)//фильтрация
|
|
||||||
{
|
{
|
||||||
if (item == componentOfEntity) continue;
|
var collidedX = false; // соприкосновение
|
||||||
|
var tryingRectX = currentRect;//переменная для попытки перемещения по X
|
||||||
|
|
||||||
Rectangle rectChecking = item.stopRectangle.SetOrigin(item.gameObject.position);
|
tryingRectX.Offset((int)(entity.velocity.X), 0);//задаём значения для tryingRectX по X и по Y
|
||||||
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))
|
|
||||||
|
|
||||||
|
foreach (var item in ObjectsWithCollisions)//фильтрация
|
||||||
{
|
{
|
||||||
collidedX = true;// меняем значение соприкосновения на true
|
if (item == componentOfEntity) continue;
|
||||||
entity.OnCollision(item);//подписываем entity на ивент коллизии
|
|
||||||
|
|
||||||
break;// выход
|
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))
|
||||||
|
|
||||||
|
{
|
||||||
|
collidedX = true;// меняем значение соприкосновения на true
|
||||||
|
//entity.OnCollision(item);//подписываем entity на ивент коллизии
|
||||||
|
item.OnCollisionWithObject(entity);
|
||||||
|
entity.collisionComponent.OnCollisionWithObject(item.gameObject);
|
||||||
|
break;// выход
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (collidedX)// срабатывает, если перемещение блокируется
|
if (collidedX)// срабатывает, если перемещение блокируется
|
||||||
{
|
{
|
||||||
entity.velocity.X = 0;// задаём значение смещения entity на 0
|
entity.velocity.X = 0;// задаём значение смещения entity на 0
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
entity.position.X += entity.velocity.X; //update player position
|
entity.position.X += entity.velocity.X; //update player position
|
||||||
newRect.X = tryingRectX.X;//значение по X для нового РЕК приравниваем к значению испытуемого РЕК
|
newRect.X = tryingRectX.X;//значение по X для нового РЕК приравниваем к значению испытуемого РЕК
|
||||||
}
|
}
|
||||||
|
|
||||||
|
entity.velocity.X = 0;
|
||||||
|
}
|
||||||
//==ПОВТОРЯЕМ ТОЖЕ САМОЕ ДЛЯ Y==
|
//==ПОВТОРЯЕМ ТОЖЕ САМОЕ ДЛЯ Y==
|
||||||
|
|
||||||
var collidedY = false; // соприкосновение
|
var collidedY = false; // соприкосновение
|
||||||
var tryingRectY = currentRect;//переменная для попытки перемещения по X
|
var tryingRectY = currentRect;//переменная для попытки перемещения по X
|
||||||
|
|
||||||
tryingRectY.Offset(new Point(0, (int)entity.velocity.Y));//задаём значения для tryingRectX по X и по Y
|
if (Math.Abs((int)entity.velocity.Y)> minimalValueToChange) //TODO
|
||||||
|
|
||||||
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))
|
|
||||||
|
|
||||||
|
tryingRectY.Offset(new Point(0, (int)entity.velocity.Y));//задаём значения для tryingRectX по X и по Y
|
||||||
|
|
||||||
|
foreach (var item in ObjectsWithCollisions)//фильтрация
|
||||||
{
|
{
|
||||||
collidedY = true;// меняем значение соприкосновения на true
|
if (item == componentOfEntity) continue;
|
||||||
entity.OnCollision(item);//подписываем entity на ивент коллизии
|
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))
|
||||||
|
|
||||||
break;// выход
|
{
|
||||||
|
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.velocity.Y = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
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.X = (int)entity.position.X;
|
||||||
entity.graphicsComponent.ObjectDrawRectangle.Y = (int)entity.position.Y;
|
entity.graphicsComponent.ObjectDrawRectangle.Y = (int)entity.position.Y;
|
||||||
AppManager.Instance.server.AddData(new UpdatePosition() { NewPosition = entity.position, IdEntity = entity.Id });
|
AppManager.Instance.server.AddData(new UpdatePosition() { NewPosition = entity.position, IdEntity = entity.Id });
|
||||||
AppManager.Instance.debugHud.Set("testPos", entity.position.ToString()); //TODO remove
|
AppManager.Instance.debugHud.Set("testPos", entity.position.ToString()); //TODO remove
|
||||||
entity.velocity = Vector2.Zero;
|
}
|
||||||
|
|
||||||
|
public void UpdateTriggerZones(Player player)
|
||||||
|
{
|
||||||
|
|
||||||
|
var entity = player as LivingEntity;
|
||||||
|
var currentRect = entity.collisionComponent.stopRectangle;//задаём РЕК
|
||||||
|
currentRect.X += (int)entity.position.X;
|
||||||
|
currentRect.Y += (int)entity.position.Y;
|
||||||
|
|
||||||
|
|
||||||
|
for (int i = 0; i < ObjectsWithTriggers.Count; i++)
|
||||||
|
{
|
||||||
|
int c = ObjectsWithTriggers.Count;
|
||||||
|
|
||||||
|
if (ObjectsWithTriggers[i].triggerRectangle.SetOrigin(ObjectsWithTriggers[i].gameObject.position).Intersects(currentRect))
|
||||||
|
{
|
||||||
|
ObjectsWithTriggers[i].PlayerInZone(player);
|
||||||
|
}
|
||||||
|
i -= c - ObjectsWithTriggers.Count;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//обновление позиции объекта
|
//обновление позиции объекта
|
||||||
|
|
||||||
public void UpdatePositions()
|
public void ResolvePhysics()
|
||||||
{
|
{
|
||||||
foreach (var item in EntitiesWithMovements)
|
foreach (var item in EntitiesWithMovements)
|
||||||
{
|
{
|
||||||
CheckComponentCollision(item);
|
CheckComponentCollision(item);
|
||||||
}
|
}
|
||||||
|
foreach (var item in AppManager.Instance.server.players)
|
||||||
|
{
|
||||||
|
UpdateTriggerZones(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public CollisionManager()
|
public CollisionManager()
|
||||||
{
|
{
|
||||||
//graphicsComponent
|
|
||||||
//.ObjectDrawRectangle = new Rectangle(0, 0, 16 * 12, 16 * 16);
|
|
||||||
EntitiesWithMovements = new List<CollisionComponent>();
|
EntitiesWithMovements = new List<CollisionComponent>();
|
||||||
ObjectsWithCollisions = new List<CollisionComponent>();
|
ObjectsWithCollisions = new List<CollisionComponent>();
|
||||||
|
ObjectsWithTriggers = new List<CollisionComponent>();
|
||||||
}
|
}
|
||||||
//регистрация компонента(его коллизии)
|
//регистрация компонента(его коллизии)
|
||||||
public void Register(CollisionComponent component)
|
public void Register(CollisionComponent component)
|
||||||
{
|
{
|
||||||
ObjectsWithCollisions.Add(component);
|
if (component.hasCollision)
|
||||||
|
ObjectsWithCollisions.Add(component);
|
||||||
|
if (component.isTrigger)
|
||||||
|
ObjectsWithTriggers.Add(component);
|
||||||
if (component.gameObject is LivingEntity)
|
if (component.gameObject is LivingEntity)
|
||||||
{
|
{
|
||||||
EntitiesWithMovements.Add(component);
|
EntitiesWithMovements.Add(component);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public void Deregister(CollisionComponent component)
|
||||||
|
{
|
||||||
|
if (ObjectsWithCollisions.Contains(component))
|
||||||
|
ObjectsWithCollisions.Remove(component);
|
||||||
|
if (ObjectsWithTriggers.Contains(component))
|
||||||
|
ObjectsWithTriggers.Remove(component);
|
||||||
|
if (component.gameObject is LivingEntity)
|
||||||
|
{
|
||||||
|
if (EntitiesWithMovements.Contains(component))
|
||||||
|
EntitiesWithMovements.Remove(component);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player[] GetPlayersInZone(Rectangle rectangle)
|
||||||
|
{
|
||||||
|
|
||||||
|
List<Player> players = new List<Player>();
|
||||||
|
foreach (var item in AppManager.Instance.server.players)//фильтрация
|
||||||
|
{
|
||||||
|
if (item.collisionComponent.stopRectangle.SetOrigin(item.position).Intersects(rectangle))
|
||||||
|
{
|
||||||
|
players.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return players.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
public static class ExtentionClass
|
public static class ExtentionClass
|
||||||
{
|
{
|
||||||
public static Rectangle SetOrigin(this Rectangle rectangle, Vector2 origin)
|
public static Rectangle SetOrigin(this Rectangle rectangle, Vector2 origin)
|
||||||
{
|
{
|
||||||
rectangle.X = (int)origin.X;
|
rectangle.X += (int)origin.X;
|
||||||
rectangle.Y = (int)origin.Y;
|
rectangle.Y += (int)origin.Y;
|
||||||
return rectangle;
|
return rectangle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ using System.Linq;
|
||||||
using System.Reflection.Metadata.Ecma335;
|
using System.Reflection.Metadata.Ecma335;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using ZoFo.GameCore.GUI;
|
||||||
|
|
||||||
namespace ZoFo.GameCore.GameManagers
|
namespace ZoFo.GameCore.GameManagers
|
||||||
{
|
{
|
||||||
|
@ -27,9 +28,6 @@ namespace ZoFo.GameCore.GameManagers
|
||||||
private Vector2 prevInputMovementDirection;
|
private Vector2 prevInputMovementDirection;
|
||||||
public Vector2 InputAttackDirection;
|
public Vector2 InputAttackDirection;
|
||||||
private Vector2 prevInputAttackDirection;
|
private Vector2 prevInputAttackDirection;
|
||||||
|
|
||||||
public event Action TalkEvent;
|
|
||||||
|
|
||||||
public ScopeState currentScopeState; // Положение оружия. Left, Right, Straight, Back, StraightLeft, StraightRight, BackLeft, BackRight.
|
public ScopeState currentScopeState; // Положение оружия. Left, Right, Straight, Back, StraightLeft, StraightRight, BackLeft, BackRight.
|
||||||
private ScopeState prevCurrentScopeState;
|
private ScopeState prevCurrentScopeState;
|
||||||
private bool _cheatsEnabled = false;
|
private bool _cheatsEnabled = false;
|
||||||
|
@ -48,6 +46,7 @@ namespace ZoFo.GameCore.GameManagers
|
||||||
|
|
||||||
public InputManager()
|
public InputManager()
|
||||||
{
|
{
|
||||||
|
isInteract = true;
|
||||||
InputMovementDirection = new Vector2(0, 0);
|
InputMovementDirection = new Vector2(0, 0);
|
||||||
InputAttackDirection = new Vector2(0, 0);
|
InputAttackDirection = new Vector2(0, 0);
|
||||||
this.isShoot = false;
|
this.isShoot = false;
|
||||||
|
@ -170,41 +169,49 @@ namespace ZoFo.GameCore.GameManagers
|
||||||
#endregion // Cheats
|
#endregion // Cheats
|
||||||
|
|
||||||
#region Обработка состояния объекта. Задает значение полю scopeState.
|
#region Обработка состояния объекта. Задает значение полю scopeState.
|
||||||
if (keyBoardState.IsKeyDown(Keys.Up) || keyBoardState.IsKeyDown(Keys.W))
|
if(keyBoardState.IsKeyDown(Keys.Right) && keyBoardState.IsKeyDown(Keys.Up) ||
|
||||||
{
|
|
||||||
currentScopeState = ScopeState.Straight;
|
|
||||||
}
|
|
||||||
else if (keyBoardState.IsKeyDown(Keys.Down) || keyBoardState.IsKeyDown(Keys.S))
|
|
||||||
{
|
|
||||||
currentScopeState = ScopeState.Back;
|
|
||||||
}
|
|
||||||
else if(keyBoardState.IsKeyDown(Keys.Left) || keyBoardState.IsKeyDown(Keys.A))
|
|
||||||
{
|
|
||||||
currentScopeState = ScopeState.Left;
|
|
||||||
}
|
|
||||||
else if(keyBoardState.IsKeyDown(Keys.Right) || keyBoardState.IsKeyDown(Keys.D))
|
|
||||||
{
|
|
||||||
currentScopeState = ScopeState.Right;
|
|
||||||
}
|
|
||||||
else if(keyBoardState.IsKeyDown(Keys.Right) && keyBoardState.IsKeyDown(Keys.Up) ||
|
|
||||||
keyBoardState.IsKeyDown(Keys.D) && keyBoardState.IsKeyDown(Keys.W))
|
keyBoardState.IsKeyDown(Keys.D) && keyBoardState.IsKeyDown(Keys.W))
|
||||||
{
|
{
|
||||||
currentScopeState = ScopeState.StraightRight;
|
currentScopeState = ScopeState.StraightRight;
|
||||||
|
InputMovementDirection = new Vector2(1, -1);
|
||||||
}
|
}
|
||||||
else if(keyBoardState.IsKeyDown(Keys.Left) && keyBoardState.IsKeyDown(Keys.Up) ||
|
else if(keyBoardState.IsKeyDown(Keys.Left) && keyBoardState.IsKeyDown(Keys.Up) ||
|
||||||
keyBoardState.IsKeyDown(Keys.A) && keyBoardState.IsKeyDown(Keys.W))
|
keyBoardState.IsKeyDown(Keys.A) && keyBoardState.IsKeyDown(Keys.W))
|
||||||
{
|
{
|
||||||
currentScopeState = ScopeState.StraightLeft;
|
currentScopeState = ScopeState.StraightLeft;
|
||||||
|
InputMovementDirection = new Vector2(-1, -1);
|
||||||
}
|
}
|
||||||
else if(keyBoardState.IsKeyDown(Keys.Right) && keyBoardState.IsKeyDown(Keys.Down) ||
|
else if(keyBoardState.IsKeyDown(Keys.Right) && keyBoardState.IsKeyDown(Keys.Down) ||
|
||||||
keyBoardState.IsKeyDown(Keys.D) && keyBoardState.IsKeyDown(Keys.S))
|
keyBoardState.IsKeyDown(Keys.D) && keyBoardState.IsKeyDown(Keys.S))
|
||||||
{
|
{
|
||||||
currentScopeState = ScopeState.BackRight;
|
currentScopeState = ScopeState.BackRight;
|
||||||
|
InputMovementDirection = new Vector2(1, 1);
|
||||||
}
|
}
|
||||||
else if(keyBoardState.IsKeyDown(Keys.Left) && keyBoardState.IsKeyDown(Keys.Down) ||
|
else if(keyBoardState.IsKeyDown(Keys.Left) && keyBoardState.IsKeyDown(Keys.Down) ||
|
||||||
keyBoardState.IsKeyDown(Keys.A) && keyBoardState.IsKeyDown(Keys.S))
|
keyBoardState.IsKeyDown(Keys.A) && keyBoardState.IsKeyDown(Keys.S))
|
||||||
{
|
{
|
||||||
currentScopeState = ScopeState.BackLeft;
|
currentScopeState = ScopeState.BackLeft;
|
||||||
|
InputMovementDirection = new Vector2(-1, 1);
|
||||||
|
}
|
||||||
|
else if (keyBoardState.IsKeyDown(Keys.Up) || keyBoardState.IsKeyDown(Keys.W))
|
||||||
|
{
|
||||||
|
currentScopeState = ScopeState.Straight;
|
||||||
|
InputMovementDirection = new Vector2(0, -1);
|
||||||
|
}
|
||||||
|
else if (keyBoardState.IsKeyDown(Keys.Down) || keyBoardState.IsKeyDown(Keys.S))
|
||||||
|
{
|
||||||
|
currentScopeState = ScopeState.Back;
|
||||||
|
InputMovementDirection = new Vector2(0, 1);
|
||||||
|
}
|
||||||
|
else if(keyBoardState.IsKeyDown(Keys.Left) || keyBoardState.IsKeyDown(Keys.A))
|
||||||
|
{
|
||||||
|
currentScopeState = ScopeState.Left;
|
||||||
|
InputMovementDirection = new Vector2(-1, 0);
|
||||||
|
}
|
||||||
|
else if(keyBoardState.IsKeyDown(Keys.Right) || keyBoardState.IsKeyDown(Keys.D))
|
||||||
|
{
|
||||||
|
currentScopeState = ScopeState.Right;
|
||||||
|
InputMovementDirection = new Vector2(1, 0);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -247,6 +254,8 @@ namespace ZoFo.GameCore.GameManagers
|
||||||
prevInputAttackDirection = InputAttackDirection;
|
prevInputAttackDirection = InputAttackDirection;
|
||||||
prevCurrentScopeState = currentScopeState;
|
prevCurrentScopeState = currentScopeState;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
DebugHUD.Instance.Set("controls", currentScopeState.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,11 +10,14 @@ namespace ZoFo.GameCore.GameManagers.MapManager.MapElements
|
||||||
public class Layer
|
public class Layer
|
||||||
{
|
{
|
||||||
public List<Chunk> Chunks { get; set; }
|
public List<Chunk> Chunks { get; set; }
|
||||||
|
public List<Object> Objects { get; set; }
|
||||||
public int Height { get; set; }
|
public int Height { get; set; }
|
||||||
public int Width { get; set; }
|
public int Width { get; set; }
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public bool Visibility { get; set; }
|
public bool Visibility { get; set; }
|
||||||
public string Class { get; set; }
|
public string Class { get; set; }
|
||||||
public string Type { get; set; }
|
public string Type { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,16 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
|
||||||
namespace ZoFo.GameCore.GameManagers.MapManager.MapElements
|
namespace ZoFo.GameCore.GameManagers.MapManager.MapElements
|
||||||
{
|
{
|
||||||
public class Object
|
public class Object
|
||||||
{
|
{
|
||||||
public double Height { get; set; }
|
public double Height { get; set; }
|
||||||
public double Width { get; set; }
|
public double Width { get; set; }
|
||||||
public double X { get; set; }
|
public float X { get; set; }
|
||||||
public double Y { get; set; }
|
public float Y { get; set; }
|
||||||
|
public string Template { get; set; }
|
||||||
|
public string Type { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using ZoFo.GameCore.GameManagers.MapManager.MapElements;
|
||||||
|
|
||||||
|
namespace ZoFo.GameCore.GameManagers.MapManager.MapElements
|
||||||
|
{
|
||||||
|
public class Template
|
||||||
|
{
|
||||||
|
public Object Object { get; set; }
|
||||||
|
public string Type { get; set; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using ZoFo.GameCore.GameManagers.MapManager.MapElements;
|
using ZoFo.GameCore.GameManagers.MapManager.MapElements;
|
||||||
|
using ZoFo.GameCore.GameObjects;
|
||||||
using ZoFo.GameCore.GameObjects.MapObjects;
|
using ZoFo.GameCore.GameObjects.MapObjects;
|
||||||
using ZoFo.GameCore.GameObjects.MapObjects.StopObjects;
|
using ZoFo.GameCore.GameObjects.MapObjects.StopObjects;
|
||||||
|
|
||||||
|
@ -17,9 +18,16 @@ namespace ZoFo.GameCore.GameManagers.MapManager
|
||||||
public class MapManager
|
public class MapManager
|
||||||
{
|
{
|
||||||
private static readonly string _templatePath = "Content/MapData/TileMaps/{0}.tmj";
|
private static readonly string _templatePath = "Content/MapData/TileMaps/{0}.tmj";
|
||||||
|
private static readonly JsonSerializerOptions _options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; // Задача настроек для JsonSerialize
|
||||||
|
private static readonly Dictionary<string, string> _classPath = new Dictionary<string, string>() {
|
||||||
|
{ "Collectables", "ZoFo.GameCore.GameObjects.Entities.Interactables.Collectables." },
|
||||||
|
{ "Enemies", "ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies." }
|
||||||
|
};
|
||||||
|
|
||||||
//private static readonly float _scale = 1.0f;
|
//private static readonly float _scale = 1.0f;
|
||||||
private List<TileSet> _tileSets = new List<TileSet>();
|
private List<TileSet> _tileSets = new List<TileSet>();
|
||||||
|
private TileMap _tileMap = new TileMap();
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Загрузка карты. Передаётся название файла карты. По умолчанию main.
|
/// Загрузка карты. Передаётся название файла карты. По умолчанию main.
|
||||||
|
@ -28,86 +36,95 @@ namespace ZoFo.GameCore.GameManagers.MapManager
|
||||||
public void LoadMap(string mapName = "main")
|
public void LoadMap(string mapName = "main")
|
||||||
{
|
{
|
||||||
// Загрузка TileMap
|
// Загрузка TileMap
|
||||||
var options = new JsonSerializerOptions
|
_tileMap = JsonSerializer.Deserialize<TileMap>(File.ReadAllText(string.Format(_templatePath, mapName)), _options);
|
||||||
{
|
|
||||||
PropertyNameCaseInsensitive = true
|
|
||||||
};
|
|
||||||
TileMap tileMap =
|
|
||||||
JsonSerializer.Deserialize<TileMap>(File.ReadAllText(Path.Combine(AppContext.BaseDirectory, string.Format(_templatePath, mapName))), options);
|
|
||||||
|
|
||||||
// Загрузка TileSet-ов по TileSetInfo
|
// Загрузка TileSet-ов по TileSetInfo
|
||||||
List<TileSet> tileSets = new List<TileSet>();
|
foreach (TileSetInfo tileSetInfo in _tileMap.TileSets)
|
||||||
foreach (TileSetInfo tileSetInfo in tileMap.TileSets)
|
|
||||||
{
|
{
|
||||||
TileSet tileSet = LoadTileSet(Path.Combine(AppContext.BaseDirectory, "Content", "MapData", "TileMaps", tileSetInfo.Source));
|
TileSet tileSet = LoadTileSet(Path.Combine(AppContext.BaseDirectory, "Content", "MapData", "TileMaps", tileSetInfo.Source));
|
||||||
tileSet.FirstGid = tileSetInfo.FirstGid;
|
tileSet.FirstGid = tileSetInfo.FirstGid;
|
||||||
tileSets.Add(tileSet);
|
_tileSets.Add(tileSet);
|
||||||
}
|
}
|
||||||
tileSets.Reverse();
|
_tileSets.Reverse();
|
||||||
|
|
||||||
foreach (var layer in tileMap.Layers)
|
|
||||||
|
foreach (var layer in _tileMap.Layers)
|
||||||
{
|
{
|
||||||
if (layer.Type == "objectgroup")
|
if (layer.Type == "objectgroup")
|
||||||
{
|
{
|
||||||
|
ProcessObjectLayers(layer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
foreach (var chunk in layer.Chunks)
|
ProcessTileLayers(layer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProcessTileLayers(Layer layer)
|
||||||
|
{
|
||||||
|
foreach (var chunk in layer.Chunks)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < chunk.Data.Length; i++)
|
||||||
|
{
|
||||||
|
foreach (var tileSet in _tileSets)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < chunk.Data.Length; i++)
|
if (tileSet.FirstGid <= chunk.Data[i])
|
||||||
{
|
{
|
||||||
foreach (var tileSet in tileSets)
|
int number = chunk.Data[i] - tileSet.FirstGid;
|
||||||
|
|
||||||
|
int relativeColumn = number % tileSet.Columns;
|
||||||
|
int relativeRow = number / tileSet.Columns; // относительно левого угла чанка
|
||||||
|
|
||||||
|
Rectangle sourceRectangle = new Rectangle(relativeColumn * (tileSet.TileWidth + tileSet.Spacing) + tileSet.Margin,
|
||||||
|
relativeRow * (tileSet.TileHeight + tileSet.Spacing) + tileSet.Margin,
|
||||||
|
tileSet.TileWidth, tileSet.TileHeight);
|
||||||
|
|
||||||
|
Vector2 position = new Vector2(
|
||||||
|
(i % chunk.Width) * _tileMap.TileWidth + chunk.X * _tileMap.TileWidth,
|
||||||
|
(i / chunk.Height) * _tileMap.TileHeight + chunk.Y * _tileMap.TileHeight);
|
||||||
|
|
||||||
|
Tile tile = tileSet.Tiles[number]; // По факту может быть StopObjectom, но на уровне Tiled это все в первую очередь Tile
|
||||||
|
|
||||||
|
switch (tile.Type)
|
||||||
{
|
{
|
||||||
if (tileSet.FirstGid <= chunk.Data[i])
|
case "Tile":
|
||||||
{
|
AppManager.Instance.server.RegisterGameObject(new MapObject(position,
|
||||||
int number = chunk.Data[i] - tileSet.FirstGid;
|
new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
||||||
|
sourceRectangle,
|
||||||
int relativeColumn = number % tileSet.Columns;
|
"Textures/TileSetImages/" + Path.GetFileName(tileSet.Image).Replace(".png", "")));
|
||||||
int relativeRow = number / tileSet.Columns; // относительно левого угла чанка
|
break;
|
||||||
|
|
||||||
Rectangle sourceRectangle = new Rectangle(relativeColumn * (tileSet.TileWidth + tileSet.Spacing) + tileSet.Margin,
|
case "StopObject":
|
||||||
relativeRow * (tileSet.TileHeight + tileSet.Spacing) + tileSet.Margin,
|
var collisionRectangles = LoadRectangles(tile); // Грузит коллизии обьектов
|
||||||
tileSet.TileWidth, tileSet.TileHeight);
|
|
||||||
|
AppManager.Instance.server.RegisterGameObject(new StopObject(position,
|
||||||
Vector2 position = new Vector2(
|
new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
||||||
(i % chunk.Width) * tileMap.TileWidth + chunk.X * tileMap.TileWidth,
|
sourceRectangle,
|
||||||
(i / chunk.Height) * tileMap.TileHeight + chunk.Y * tileMap.TileHeight);
|
"Textures/TileSetImages/" + Path.GetFileName(tileSet.Image).Replace(".png", ""),
|
||||||
|
collisionRectangles.ToArray()));
|
||||||
Tile tile = tileSet.Tiles[number]; // По факту может быть StopObjectom, но на уровне Tiled это все в первую очередь Tile
|
break;
|
||||||
string textureName = Path.Combine(AppContext.BaseDirectory, "Content", "Textures", "TileSetImages",
|
|
||||||
Path.GetFileName(tileSet.Image).Replace(".png", ""));
|
default:
|
||||||
switch (tile.Type)
|
|
||||||
{
|
|
||||||
case "Tile":
|
|
||||||
AppManager.Instance.server.RegisterGameObject(new MapObject(position,
|
|
||||||
new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
|
||||||
sourceRectangle,
|
|
||||||
textureName));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "StopObject":
|
|
||||||
var collisionRectangles = LoadRectangles(tile); // Грузит коллизии обьектов
|
|
||||||
|
|
||||||
AppManager.Instance.server.RegisterGameObject(new StopObject(position,
|
|
||||||
new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
|
||||||
sourceRectangle,
|
|
||||||
textureName,
|
|
||||||
collisionRectangles.ToArray()));
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ProcessObjectLayers(Layer layer)
|
||||||
|
{
|
||||||
|
foreach (var item in layer.Objects)
|
||||||
|
{
|
||||||
|
string type = Path.GetFileName(item.Template).Replace(".tj", "");
|
||||||
|
var collectable = Activator.CreateInstance(Type.GetType(_classPath[layer.Name] + type), new Vector2(item.X, item.Y));
|
||||||
|
AppManager.Instance.server.RegisterGameObject(collectable as GameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Загружает и парсит TileSet по его пути.
|
/// Загружает и парсит TileSet по его пути.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -115,15 +132,8 @@ namespace ZoFo.GameCore.GameManagers.MapManager
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private TileSet LoadTileSet(string path)
|
private TileSet LoadTileSet(string path)
|
||||||
{
|
{
|
||||||
using (StreamReader reader = new StreamReader(path))
|
return JsonSerializer.Deserialize<TileSet>(File.ReadAllText(path), _options);
|
||||||
{
|
|
||||||
var options = new JsonSerializerOptions //TODO Remove
|
|
||||||
{
|
|
||||||
PropertyNameCaseInsensitive = true
|
|
||||||
};
|
|
||||||
string data = reader.ReadToEnd();
|
|
||||||
return JsonSerializer.Deserialize<TileSet>(data, options);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -146,5 +156,10 @@ namespace ZoFo.GameCore.GameManagers.MapManager
|
||||||
|
|
||||||
return collisionRectangles;
|
return collisionRectangles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private MapElements.Object LoadObject(string path)
|
||||||
|
{
|
||||||
|
return JsonSerializer.Deserialize<MapElements.Object>(File.ReadAllText(path), _options);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -42,6 +42,13 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
|
|
||||||
public void SendData()
|
public void SendData()
|
||||||
{
|
{
|
||||||
|
for (int i = 0; i < updates.Count; i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
AppManager.Instance.server.ProcessIUpdateData(updates[i]);
|
||||||
|
}
|
||||||
|
updates.Clear();
|
||||||
|
return;// TODO remove
|
||||||
byte[] bytes = Encoding.UTF8.GetBytes(JsonSerializer.Serialize(updates)); //нужно сериализовать
|
byte[] bytes = Encoding.UTF8.GetBytes(JsonSerializer.Serialize(updates)); //нужно сериализовать
|
||||||
socket.Send(bytes);
|
socket.Send(bytes);
|
||||||
}
|
}
|
||||||
|
@ -98,7 +105,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
|
|
||||||
public static IPAddress GetIp()
|
public static IPAddress GetIp()
|
||||||
{
|
{
|
||||||
string hostName = Dns.GetHostName(); // Retrive the Name of HOST
|
/*string hostName = Dns.GetHostName(); // Retrive the Name of HOST
|
||||||
var ipList = Dns.GetHostByName(hostName).AddressList;
|
var ipList = Dns.GetHostByName(hostName).AddressList;
|
||||||
|
|
||||||
foreach (var ip in ipList)
|
foreach (var ip in ipList)
|
||||||
|
@ -107,8 +114,8 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
{
|
{
|
||||||
return ip;
|
return ip;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
return IPAddress.Loopback;
|
return IPAddress.Parse("127.0.0.1");
|
||||||
}
|
}
|
||||||
|
|
||||||
//поток 2
|
//поток 2
|
||||||
|
@ -117,7 +124,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
while(socket.Connected)
|
while(socket.Connected)
|
||||||
{
|
{
|
||||||
byte[] bytes = new byte[65535];
|
byte[] bytes = new byte[65535];
|
||||||
var countAnsw = socket.Receive(bytes, SocketFlags.Partial); //Вылетает если кто то закрыл
|
var countAnsw = socket.Receive(bytes); //Вылетает если кто то закрыл
|
||||||
string update = Encoding.UTF8.GetString(bytes, 0, countAnsw); // обновление отосланные сервером
|
string update = Encoding.UTF8.GetString(bytes, 0, countAnsw); // обновление отосланные сервером
|
||||||
GetDataSent(update);
|
GetDataSent(update);
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,17 +52,16 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static IPAddress GetIp()
|
public static IPAddress GetIp()
|
||||||
{
|
{
|
||||||
string hostName = Dns.GetHostName(); // Retrive the Name of HOST
|
/*string hostName = Dns.GetHostName(); // Retrive the Name of HOST
|
||||||
var ipList = Dns.GetHostEntry(hostName).AddressList;
|
var ipList = Dns.GetHostByName(hostName).AddressList;
|
||||||
|
|
||||||
foreach (var ip in ipList)
|
foreach (var ip in ipList)
|
||||||
{
|
{
|
||||||
if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
|
if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
|
||||||
{
|
{
|
||||||
return ip;
|
return ip;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
return IPAddress.Loopback;
|
return IPAddress.Parse("127.0.0.1");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -172,7 +171,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
while (client.Connected)
|
while (client.Connected)
|
||||||
{
|
{
|
||||||
var buff = new byte[65535];
|
var buff = new byte[65535];
|
||||||
var answ = client.Receive(buff, SocketFlags.Partial);
|
var answ = client.Receive(buff);
|
||||||
string response = Encoding.UTF8.GetString(buff, 0, answ);
|
string response = Encoding.UTF8.GetString(buff, 0, answ);
|
||||||
GetDataSend(response);
|
GetDataSend(response);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
using System;
|
||||||
|
using ZoFo.GameCore.GameManagers.NetworkManager;
|
||||||
|
|
||||||
|
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// уведомляет сервер о том, что игрок взаимодействует
|
||||||
|
/// </summary>
|
||||||
|
public class UpdateInputInteraction : UpdateData
|
||||||
|
{
|
||||||
|
public UpdateInputInteraction() { UpdateType = "UpdateInputInteraction"; }
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
using System;
|
||||||
|
using ZoFo.GameCore.GameManagers.NetworkManager.Updates;
|
||||||
|
|
||||||
|
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer;
|
||||||
|
|
||||||
|
public class UpdateInputShoot : UpdateData
|
||||||
|
{
|
||||||
|
public UpdateInputShoot() { UpdateType = "UpdateInputShoot"; }
|
||||||
|
}
|