From 0336c3095b92765726f9d1f88f8f75f431a4842d Mon Sep 17 00:00:00 2001 From: SergoDobro Date: Sun, 18 Aug 2024 15:15:14 +0300 Subject: [PATCH] Player List Added + animations --- ZoFo/Content/Content.mgcb | 105 ++++++++++++++++-- .../player_down-left_idle.animation | 21 ++++ .../player_down-right_idle.animation | 20 ++++ .../Animations/player_down_idle.animation | 20 ++++ .../player_idle_down-left_mining.animation | 21 ++++ .../player_idle_down_mining.animation | 21 ++++ .../player_idle_left_mining.animation | 21 ++++ .../player_idle_rights_mining.animation | 21 ++++ .../player_idle_top-left_mining.animation | 21 ++++ .../player_idle_top-rights_mining.animation | 20 ++++ .../Animations/player_left_idle.animation | 21 ++++ .../Animations/player_look_down.animation | 21 +++- .../player_look_left_down_weapon.animation | 21 +++- .../player_look_left_weapon.animation | 21 +++- .../Animations/player_right_idle.animation | 21 ++++ .../Animations/player_top-left_idle.animation | 21 ++++ .../player_top-right_idle.animation | 21 ++++ .../Animations/player_top_mining.animation | 21 ++++ .../Animations/testAnimation.animation | 21 ++++ .../Animations/testAnimationExample.animation | 21 +++- ZoFo/GameCore/Client.cs | 33 ++++-- .../Entities/LivingEntities/Enemies/Zombie.cs | 6 +- .../Entities/LivingEntities/Player/Player.cs | 2 +- ZoFo/GameCore/Graphics/AnimationBuilder.cs | 20 +++- ZoFo/GameCore/Server.cs | 20 ++-- 25 files changed, 539 insertions(+), 43 deletions(-) create mode 100644 ZoFo/Content/Textures/Animations/player_down-left_idle.animation create mode 100644 ZoFo/Content/Textures/Animations/player_down-right_idle.animation create mode 100644 ZoFo/Content/Textures/Animations/player_down_idle.animation create mode 100644 ZoFo/Content/Textures/Animations/player_idle_down-left_mining.animation create mode 100644 ZoFo/Content/Textures/Animations/player_idle_down_mining.animation create mode 100644 ZoFo/Content/Textures/Animations/player_idle_left_mining.animation create mode 100644 ZoFo/Content/Textures/Animations/player_idle_rights_mining.animation create mode 100644 ZoFo/Content/Textures/Animations/player_idle_top-left_mining.animation create mode 100644 ZoFo/Content/Textures/Animations/player_idle_top-rights_mining.animation create mode 100644 ZoFo/Content/Textures/Animations/player_left_idle.animation create mode 100644 ZoFo/Content/Textures/Animations/player_right_idle.animation create mode 100644 ZoFo/Content/Textures/Animations/player_top-left_idle.animation create mode 100644 ZoFo/Content/Textures/Animations/player_top-right_idle.animation create mode 100644 ZoFo/Content/Textures/Animations/player_top_mining.animation create mode 100644 ZoFo/Content/Textures/Animations/testAnimation.animation diff --git a/ZoFo/Content/Content.mgcb b/ZoFo/Content/Content.mgcb index d8fde75..09e9f35 100644 --- a/ZoFo/Content/Content.mgcb +++ b/ZoFo/Content/Content.mgcb @@ -85,18 +85,111 @@ /processorParam:Quality=Best /build:sounds/Zombi stoit.wav +#begin Textures/Animations/player_down_idle.animation +/copy:Textures/Animations/player_down_idle.animation + +#begin Textures/Animations/player_down-left_idle.animation +/copy:Textures/Animations/player_down-left_idle.animation + +#begin Textures/Animations/player_down-right_idle.animation +/copy:Textures/Animations/player_down-right_idle.animation + +#begin Textures/Animations/player_idle_down_mining.animation +/copy:Textures/Animations/player_idle_down_mining.animation + +#begin Textures/Animations/player_idle_down-left_mining.animation +/copy:Textures/Animations/player_idle_down-left_mining.animation + +#begin Textures/Animations/player_idle_left_mining.animation +/copy:Textures/Animations/player_idle_left_mining.animation + +#begin Textures/Animations/player_idle_rights_mining.animation +/copy:Textures/Animations/player_idle_rights_mining.animation + #begin Textures/Animations/player_idle_top_noweapon.animation /copy:Textures/Animations/player_idle_top_noweapon.animation +#begin Textures/Animations/player_idle_top-left_mining.animation +/copy:Textures/Animations/player_idle_top-left_mining.animation + #begin Textures/Animations/player_idle_top-right_noweapon.animation /copy:Textures/Animations/player_idle_top-right_noweapon.animation +#begin Textures/Animations/player_idle_top-rights_mining.animation +/copy:Textures/Animations/player_idle_top-rights_mining.animation + +#begin 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 +/copy:Textures/Animations/player_look_down.animation + +#begin Textures/Animations/player_look_left_down_weapon.animation +/copy:Textures/Animations/player_look_left_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 +/copy:Textures/Animations/player_look_left.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_down.animation +/copy:Textures/Animations/player_look_right_down.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_up.animation +/copy:Textures/Animations/player_look_right_up.animation + +#begin Textures/Animations/player_look_right_weapon.animation +/copy:Textures/Animations/player_look_right_weapon.animation + +#begin Textures/Animations/player_look_right.animation +/copy:Textures/Animations/player_look_right.animation + +#begin Textures/Animations/player_look_up_weapon.animation +/copy:Textures/Animations/player_look_up_weapon.animation + +#begin Textures/Animations/player_look_up.animation +/copy:Textures/Animations/player_look_up.animation + +#begin Textures/Animations/player_right_idle.animation +/copy:Textures/Animations/player_right_idle.animation + #begin Textures/Animations/player_running_top_rotate.animation /copy:Textures/Animations/player_running_top_rotate.animation +#begin Textures/Animations/player_top_mining.animation +/copy:Textures/Animations/player_top_mining.animation + +#begin Textures/Animations/player_top-left_idle.animation +/copy:Textures/Animations/player_top-left_idle.animation + +#begin Textures/Animations/player_top-right_idle.animation +/copy:Textures/Animations/player_top-right_idle.animation + #begin Textures/Animations/running_top.animation /copy:Textures/Animations/running_top.animation +#begin Textures/Animations/testAnimation.animation +/copy:Textures/Animations/testAnimation.animation + #begin Textures/Animations/testAnimationExample.animation /copy:Textures/Animations/testAnimationExample.animation @@ -580,15 +673,3 @@ /processorParam:TextureFormat=Color /build:Textures/TileSets/TilesetFloor.png -#begin Textures/TileSets/TilesetFloor.png -/importer:TextureImporter -/processor:TextureProcessor -/processorParam:ColorKeyColor=255,0,255,255 -/processorParam:ColorKeyEnabled=True -/processorParam:GenerateMipmaps=False -/processorParam:PremultiplyAlpha=True -/processorParam:ResizeToPowerOfTwo=False -/processorParam:MakeSquare=False -/processorParam:TextureFormat=Color -/build:Textures/TileSets/TilesetFloor.png - diff --git a/ZoFo/Content/Textures/Animations/player_down-left_idle.animation b/ZoFo/Content/Textures/Animations/player_down-left_idle.animation new file mode 100644 index 0000000..6c2a6c7 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_down-left_idle.animation @@ -0,0 +1,21 @@ +{ + "id": "player_down-left_idle", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 560, + "Width": 92, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_down-right_idle.animation b/ZoFo/Content/Textures/Animations/player_down-right_idle.animation new file mode 100644 index 0000000..016a3f2 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_down-right_idle.animation @@ -0,0 +1,20 @@ +{ + "id": "player_down-right_idle", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 358, + "Width": 92, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" +} diff --git a/ZoFo/Content/Textures/Animations/player_down_idle.animation b/ZoFo/Content/Textures/Animations/player_down_idle.animation new file mode 100644 index 0000000..243946c --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_down_idle.animation @@ -0,0 +1,20 @@ +{ + "id": "player_down_idle", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 464, + "Width": 92, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" +} diff --git a/ZoFo/Content/Textures/Animations/player_idle_down-left_mining.animation b/ZoFo/Content/Textures/Animations/player_idle_down-left_mining.animation new file mode 100644 index 0000000..ba1b3c9 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_idle_down-left_mining.animation @@ -0,0 +1,21 @@ +{ + "id": "player_idle_down-left_mining", + "textureName": "Textures/AnimationTextures/Character/hr-level1_mining_tool-1", + "startSpriteRectangle": { + "X": 0, + "Y": 776, + "Width": 196, + "Height": 194 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 13, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_idle_down_mining.animation b/ZoFo/Content/Textures/Animations/player_idle_down_mining.animation new file mode 100644 index 0000000..92bda6c --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_idle_down_mining.animation @@ -0,0 +1,21 @@ +{ + "id": "player_idle_down_mining", + "textureName": "Textures/AnimationTextures/Character/hr-level1_mining_tool-1", + "startSpriteRectangle": { + "X": 0, + "Y": 582, + "Width": 196, + "Height": 194 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 13, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_idle_left_mining.animation b/ZoFo/Content/Textures/Animations/player_idle_left_mining.animation new file mode 100644 index 0000000..81f9629 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_idle_left_mining.animation @@ -0,0 +1,21 @@ +{ + "id": "player_idle_left_mining", + "textureName": "Textures/AnimationTextures/Character/hr-level1_mining_tool-1", + "startSpriteRectangle": { + "X": 0, + "Y": 1358, + "Width": 196, + "Height": 194 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 13, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_idle_rights_mining.animation b/ZoFo/Content/Textures/Animations/player_idle_rights_mining.animation new file mode 100644 index 0000000..6570cce --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_idle_rights_mining.animation @@ -0,0 +1,21 @@ +{ + "id": "player_idle_rights_mining", + "textureName": "Textures/AnimationTextures/Character/hr-level1_mining_tool-1", + "startSpriteRectangle": { + "X": 0, + "Y": 388, + "Width": 196, + "Height": 194 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 13, + "isCycle": false, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_idle_top-left_mining.animation b/ZoFo/Content/Textures/Animations/player_idle_top-left_mining.animation new file mode 100644 index 0000000..3dfef38 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_idle_top-left_mining.animation @@ -0,0 +1,21 @@ +{ + "id": "player_idle_top-left_mining", + "textureName": "Textures/AnimationTextures/Character/hr-level1_mining_tool-1", + "startSpriteRectangle": { + "X": 0, + "Y": 1552, + "Width": 196, + "Height": 194 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 13, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_idle_top-rights_mining.animation b/ZoFo/Content/Textures/Animations/player_idle_top-rights_mining.animation new file mode 100644 index 0000000..d4a5828 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_idle_top-rights_mining.animation @@ -0,0 +1,20 @@ +{ + "id": "player_idle_top-rights_mining", + "textureName": "Textures/AnimationTextures/Character/hr-level1_mining_tool-1", + "startSpriteRectangle": { + "X": 0, + "Y": 194, + "Width": 196, + "Height": 194 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 13, + "isCycle": true, + "offset": "0, 0" +} diff --git a/ZoFo/Content/Textures/Animations/player_left_idle.animation b/ZoFo/Content/Textures/Animations/player_left_idle.animation new file mode 100644 index 0000000..8906cb3 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_left_idle.animation @@ -0,0 +1,21 @@ +{ + "id": "player_left_idle", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 696, + "Width": 92, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_look_down.animation b/ZoFo/Content/Textures/Animations/player_look_down.animation index 3c008c0..0b4e385 100644 --- a/ZoFo/Content/Textures/Animations/player_look_down.animation +++ b/ZoFo/Content/Textures/Animations/player_look_down.animation @@ -1 +1,20 @@ -{"id":"player_look_down","textureName":"Textures/AnimationTextures/Character/hr-level1_idle","startSpriteRectangle":{"X":0,"Y":464,"Width":92,"Height":116},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"} +{ + "id": "player_look_down", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 464, + "Width": 92, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" +} diff --git a/ZoFo/Content/Textures/Animations/player_look_left_down_weapon.animation b/ZoFo/Content/Textures/Animations/player_look_left_down_weapon.animation index bc33138..5d7468b 100644 --- a/ZoFo/Content/Textures/Animations/player_look_left_down_weapon.animation +++ b/ZoFo/Content/Textures/Animations/player_look_left_down_weapon.animation @@ -1 +1,20 @@ -{"id":"player_look_left_down_weapon","textureName":"Textures/AnimationTextures/Character/hr-level1_idle_gun","startSpriteRectangle":{"X":0,"Y":640,"Width":110,"Height":128},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"} +{ + "id": "player_look_left_down_weapon", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle_gun", + "startSpriteRectangle": { + "X": 0, + "Y": 640, + "Width": 110, + "Height": 128 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" +} diff --git a/ZoFo/Content/Textures/Animations/player_look_left_weapon.animation b/ZoFo/Content/Textures/Animations/player_look_left_weapon.animation index 2df77a0..638f33a 100644 --- a/ZoFo/Content/Textures/Animations/player_look_left_weapon.animation +++ b/ZoFo/Content/Textures/Animations/player_look_left_weapon.animation @@ -1 +1,20 @@ -{"id":"player_look_left_weapon","textureName":"Textures/AnimationTextures/Character/hr-level1_idle_gun","startSpriteRectangle":{"X":0,"Y":768,"Width":110,"Height":128},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"} +{ + "id": "player_look_left_weapon", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle_gun", + "startSpriteRectangle": { + "X": 0, + "Y": 768, + "Width": 110, + "Height": 128 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" +} diff --git a/ZoFo/Content/Textures/Animations/player_right_idle.animation b/ZoFo/Content/Textures/Animations/player_right_idle.animation new file mode 100644 index 0000000..a3c1538 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_right_idle.animation @@ -0,0 +1,21 @@ +{ + "id": "player_right_idle", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 232, + "Width": 92, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_top-left_idle.animation b/ZoFo/Content/Textures/Animations/player_top-left_idle.animation new file mode 100644 index 0000000..feb823e --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_top-left_idle.animation @@ -0,0 +1,21 @@ +{ + "id": "player_top-left_idle", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 812, + "Width": 92, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_top-right_idle.animation b/ZoFo/Content/Textures/Animations/player_top-right_idle.animation new file mode 100644 index 0000000..df132a3 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_top-right_idle.animation @@ -0,0 +1,21 @@ +{ + "id": "player_top-right_idle", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 116, + "Width": 92, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 22, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/player_top_mining.animation b/ZoFo/Content/Textures/Animations/player_top_mining.animation new file mode 100644 index 0000000..061d43a --- /dev/null +++ b/ZoFo/Content/Textures/Animations/player_top_mining.animation @@ -0,0 +1,21 @@ +{ + "id": "player_top_mining", + "textureName": "Textures/AnimationTextures/Character/hr-level1_mining_tool-1", + "startSpriteRectangle": { + "X": 0, + "Y": 0, + "Width": 196, + "Height": 194 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 13, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/testAnimation.animation b/ZoFo/Content/Textures/Animations/testAnimation.animation new file mode 100644 index 0000000..917113d --- /dev/null +++ b/ZoFo/Content/Textures/Animations/testAnimation.animation @@ -0,0 +1,21 @@ +{ + "id": "testAnimation", + "textureName": "Textures/AnimationTextures/Character/hr-level1_idle", + "startSpriteRectangle": { + "X": 0, + "Y": 0, + "Width": 53, + "Height": 116 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 5 + } + ], + "textureFrameInterval": 0, + "framesCount": 11, + "isCycle": true, + "offset": "0, 0" + +} diff --git a/ZoFo/Content/Textures/Animations/testAnimationExample.animation b/ZoFo/Content/Textures/Animations/testAnimationExample.animation index de970c1..88d3740 100644 --- a/ZoFo/Content/Textures/Animations/testAnimationExample.animation +++ b/ZoFo/Content/Textures/Animations/testAnimationExample.animation @@ -1 +1,20 @@ -{"id":"testAnimationExample","textureName":"Textures/AnimationTextures/unicorn","startSpriteRectangle":{"X":0,"Y":0,"Width":400,"Height":400},"frameSecond":[{"Item1":0,"Item2":1}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"} +{ + "id": "testAnimationExample", + "textureName": "Textures/AnimationTextures/unicorn", + "startSpriteRectangle": { + "X": 0, + "Y": 0, + "Width": 400, + "Height": 400 + }, + "frameSecond": [ + { + "Item1": 0, + "Item2": 1 + } + ], + "textureFrameInterval": 1, + "framesCount": 1, + "isCycle": true, + "offset": "0, 0" +} diff --git a/ZoFo/GameCore/Client.cs b/ZoFo/GameCore/Client.cs index e61253e..626f732 100644 --- a/ZoFo/GameCore/Client.cs +++ b/ZoFo/GameCore/Client.cs @@ -12,9 +12,9 @@ using ZoFo.GameCore.GameObjects.MapObjects; using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient; using System.Drawing; using System.Reflection; -using ZoFo.GameCore.GameObjects.Entities; +using ZoFo.GameCore.GameObjects.Entities; using System.Net.Sockets; -using System.Net; +using System.Net; using ZoFo.GameCore.GameManagers; using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer; using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player; @@ -42,10 +42,14 @@ namespace ZoFo.GameCore // Подписка на действия инпутменеджера. // Отправляются данные апдейтса с обновлением инпута - AppManager.Instance.InputManager.ActionEvent += () => networkManager.AddData(new UpdateInput(){ - InputMovementDirection = AppManager.Instance.InputManager.InputMovementDirection, - InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection - }); + AppManager.Instance.InputManager.ActionEvent += () => + { + networkManager.AddData(new UpdateInput() + { + InputMovementDirection = AppManager.Instance.InputManager.InputMovementDirection, + InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection + }); + }; } public void OnDataSend(string data) @@ -70,7 +74,8 @@ namespace ZoFo.GameCore #endregion List mapObjects = new List(); - List gameObjects = new List(); + List gameObjects = new List(); + List players = new List(); List stopObjects = new List(); /// /// Клиент должен обнговлять игру анимаций @@ -102,7 +107,7 @@ namespace ZoFo.GameCore internal void GotData(UpdateData update) { - if (update is UpdateTileCreated) + if (update is UpdateTileCreated) { mapObjects.Add( new MapObject( @@ -112,7 +117,7 @@ namespace ZoFo.GameCore (update as UpdateTileCreated).tileSetName )); } - else if (update is UpdateStopObjectCreated) + else if (update is UpdateStopObjectCreated) { stopObjects.Add( new StopObject( @@ -125,12 +130,18 @@ namespace ZoFo.GameCore } else if (update is UpdateGameObjectCreated) { + GameObject created_gameObject; if ((update as UpdateGameObjectCreated).GameObjectType == "EntittyForAnimationTests") gameObjects.Add(new EntittyForAnimationTests((update as UpdateGameObjectCreated).position)); if ((update as UpdateGameObjectCreated).GameObjectType == "Player") - gameObjects.Add(new Player((update as UpdateGameObjectCreated).position)); + { + created_gameObject = new Player((update as UpdateGameObjectCreated).position); + players.Add(created_gameObject as Player); + gameObjects.Add(created_gameObject); + } if ((update as UpdateGameObjectCreated).GameObjectType == "Ammo") - gameObjects.Add(new Ammo((update as UpdateGameObjectCreated).position)) if ((update as UpdateGameObjectCreated).GameObjectType == "Zombie") + gameObjects.Add(new Ammo((update as UpdateGameObjectCreated).position)); + if ((update as UpdateGameObjectCreated).GameObjectType == "Zombie") gameObjects.Add(new Zombie((update as UpdateGameObjectCreated).position)); diff --git a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs index 632eceb..bc504f9 100644 --- a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs +++ b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs @@ -11,7 +11,7 @@ namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies { class Zombie : Enemy { - public override GraphicsComponent graphicsComponent { get; } = new("Textures/icons/8"); + public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent("Textures/icons/8"); public Zombie(Vector2 position) : base(position) { health = 5; @@ -22,7 +22,9 @@ namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies public override void Update() { - Vector2 duration = Vector2.Normalize(new Vector2(600 - position.X, 500 - position.Y)); + Vector2 duration = Vector2.Normalize( + AppManager.Instance.server.players[0].position - position + ); velocity=new Vector2(duration.X * speed, duration.Y*speed); if(position.X>595 && 605>position.X && position.Y>495 && 505>position.Y) { diff --git a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/Player.cs b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/Player.cs index 3e21338..42d89c2 100644 --- a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/Player.cs +++ b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Player/Player.cs @@ -21,7 +21,7 @@ public class Player : LivingEntity public bool IsTryingToShoot { get; set; } private float speed; private int health; - public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List { "player_running_top_rotate" }, "player_running_top_rotate"); + public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List { "player_look_down" }, "player_look_down"); private LootData lootData; public Player(Vector2 position) : base(position) { diff --git a/ZoFo/GameCore/Graphics/AnimationBuilder.cs b/ZoFo/GameCore/Graphics/AnimationBuilder.cs index 2ff7ac4..e85ec28 100644 --- a/ZoFo/GameCore/Graphics/AnimationBuilder.cs +++ b/ZoFo/GameCore/Graphics/AnimationBuilder.cs @@ -17,12 +17,20 @@ namespace ZoFo.GameCore.Graphics StreamReader reader; foreach (var fileName in animationFilesNames) { - if (!fileName.EndsWith(".animation")) continue; - reader = new StreamReader(fileName); - string json = reader.ReadToEnd(); - AnimationContainer animation = JsonConvert.DeserializeObject(json); - Animations.Add(animation); - reader.Close(); + try + { + if (!fileName.EndsWith(".animation")) continue; + reader = new StreamReader(fileName); + string json = reader.ReadToEnd(); + AnimationContainer animation = JsonConvert.DeserializeObject(json); + Animations.Add(animation); + reader.Close(); + } + catch + { + + + } } } diff --git a/ZoFo/GameCore/Server.cs b/ZoFo/GameCore/Server.cs index 47ddd3d..329763c 100644 --- a/ZoFo/GameCore/Server.cs +++ b/ZoFo/GameCore/Server.cs @@ -124,6 +124,7 @@ namespace ZoFo.GameCore collisionManager = new CollisionManager(); gameObjects = new List(); entities = new List(); + players = new List(); new MapManager().LoadMap(); AppManager.Instance.server.RegisterGameObject(new EntittyForAnimationTests(new Vector2(0, 0))); @@ -143,8 +144,9 @@ namespace ZoFo.GameCore networkManager.CloseConnection(); } - private List gameObjects = new List(); - private List entities; //entity + public List gameObjects; + public List entities; //entity + public List players; public void Update(GameTime gameTime) { if (ticks == 3) //ОБРАБАТЫВАЕТСЯ 20 РАЗ В СЕКУНДУ @@ -198,24 +200,28 @@ namespace ZoFo.GameCore });//TODO return; } - if (gameObject is Entity) + if (gameObject is Entity entity) { - AddData(new UpdateGameObjectCreated() { GameObjectType = gameObject.GetType().Name, IdEntity = (gameObject as Entity).Id, + AddData(new UpdateGameObjectCreated() { GameObjectType = gameObject.GetType().Name, IdEntity = entity.Id, position = gameObject.position}); - collisionManager.Register((gameObject as Entity).collisionComponent); + collisionManager.Register(entity.collisionComponent); } else AddData(new UpdateGameObjectCreated() { GameObjectType = gameObject.GetType().Name, position = gameObject.position }); - + + if (gameObject is Player) + { + players.Add(gameObject as Player); + } ////var elems = gameObject.GetType().GetProperties(System.Reflection.BindingFlags.Public); ////if (elems.Count()>0) TODO ////{ //// AppManager.Instance.server.collisionManager.Register((elems.First().GetValue(gameObject) as CollisionComponent)); ////} - + } ///