pulled info from dev

This commit is contained in:
polten0 2024-08-18 15:18:29 +03:00
commit d098ef2e00
41 changed files with 600 additions and 27 deletions

View file

@ -88,18 +88,111 @@
/processorParam:Quality=Best /processorParam:Quality=Best
/build:sounds/Zombi stoit.wav /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 #begin Textures/Animations/player_idle_top_noweapon.animation
/copy: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 #begin Textures/Animations/player_idle_top-right_noweapon.animation
/copy: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 #begin Textures/Animations/player_running_top_rotate.animation
/copy: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 #begin Textures/Animations/running_top.animation
/copy: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 #begin Textures/Animations/testAnimationExample.animation
/copy:Textures/Animations/testAnimationExample.animation /copy:Textures/Animations/testAnimationExample.animation

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -0,0 +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"
}

View file

@ -0,0 +1 @@
{"id":"player_look_down_weapon","textureName":"Textures/AnimationTextures/Character/hr-level1_idle_gun","startSpriteRectangle":{"X":0,"Y":512,"Width":110,"Height":128},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -0,0 +1 @@
{"id":"player_look_left","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"}

View file

@ -0,0 +1 @@
{"id":"player_look_left_down","textureName":"Textures/AnimationTextures/Character/hr-level1_idle","startSpriteRectangle":{"X":0,"Y":580,"Width":92,"Height":116},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -0,0 +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"
}

View file

@ -0,0 +1 @@
{"id":"player_look_left_up","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"}

View file

@ -0,0 +1 @@
{"id":"player_look_left_up_weapon","textureName":"Textures/AnimationTextures/Character/hr-level1_idle_gun","startSpriteRectangle":{"X":0,"Y":896,"Width":110,"Height":128},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -0,0 +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"
}

View file

@ -0,0 +1 @@
{"id":"player_look_right","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"}

View file

@ -0,0 +1 @@
{"id":"player_look_right_down","textureName":"Textures/AnimationTextures/Character/hr-level1_idle","startSpriteRectangle":{"X":0,"Y":348,"Width":92,"Height":116},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -0,0 +1 @@
{"id":"player_look_right_down_weapon","textureName":"Textures/AnimationTextures/Character/hr-level1_idle_gun","startSpriteRectangle":{"X":0,"Y":384,"Width":110,"Height":128},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -0,0 +1 @@
{"id":"player_look_right_up","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"}

View file

@ -0,0 +1 @@
{"id":"player_look_right_up_weapon","textureName":"Textures/AnimationTextures/Character/hr-level1_idle_gun","startSpriteRectangle":{"X":0,"Y":128,"Width":110,"Height":128},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -0,0 +1 @@
{"id":"player_look_right_weapon","textureName":"Textures/AnimationTextures/Character/hr-level1_idle_gun","startSpriteRectangle":{"X":0,"Y":256,"Width":110,"Height":128},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -0,0 +1 @@
{"id":"player_look_up","textureName":"Textures/AnimationTextures/Character/hr-level1_idle","startSpriteRectangle":{"X":0,"Y":0,"Width":92,"Height":116},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -0,0 +1 @@
{"id":"player_look_up_weapon","textureName":"Textures/AnimationTextures/Character/hr-level1_idle_gun","startSpriteRectangle":{"X":0,"Y":0,"Width":110,"Height":128},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":22,"isCycle":true,"offset":"0, 0"}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -23,6 +23,7 @@ using System.Web;
using ZoFo.GameCore.GUI; 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;
namespace ZoFo.GameCore namespace ZoFo.GameCore
{ {
public class Client public class Client
@ -41,10 +42,14 @@ namespace ZoFo.GameCore
// Подписка на действия инпутменеджера. // Подписка на действия инпутменеджера.
// Отправляются данные апдейтса с обновлением инпута // Отправляются данные апдейтса с обновлением инпута
AppManager.Instance.InputManager.ActionEvent += () => networkManager.AddData(new UpdateInput(){ AppManager.Instance.InputManager.ActionEvent += () =>
{
networkManager.AddData(new UpdateInput()
{
InputMovementDirection = AppManager.Instance.InputManager.InputMovementDirection, InputMovementDirection = AppManager.Instance.InputManager.InputMovementDirection,
InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection
}); });
};
} }
public void OnDataSend(string data) public void OnDataSend(string data)
@ -70,6 +75,7 @@ namespace ZoFo.GameCore
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<StopObject> stopObjects = new List<StopObject>(); List<StopObject> stopObjects = new List<StopObject>();
/// <summary> /// <summary>
/// Клиент должен обнговлять игру анимаций /// Клиент должен обнговлять игру анимаций
@ -124,12 +130,20 @@ namespace ZoFo.GameCore
} }
else if (update is UpdateGameObjectCreated) else if (update is UpdateGameObjectCreated)
{ {
GameObject created_gameObject;
if ((update as UpdateGameObjectCreated).GameObjectType == "EntittyForAnimationTests") if ((update as UpdateGameObjectCreated).GameObjectType == "EntittyForAnimationTests")
gameObjects.Add(new EntittyForAnimationTests((update as UpdateGameObjectCreated).position)); gameObjects.Add(new EntittyForAnimationTests((update as UpdateGameObjectCreated).position));
if ((update as UpdateGameObjectCreated).GameObjectType == "Player") 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") if ((update as UpdateGameObjectCreated).GameObjectType == "Ammo")
gameObjects.Add(new Ammo((update as UpdateGameObjectCreated).position)); gameObjects.Add(new Ammo((update as UpdateGameObjectCreated).position));
if ((update as UpdateGameObjectCreated).GameObjectType == "Zombie")
gameObjects.Add(new Zombie((update as UpdateGameObjectCreated).position));
(gameObjects.Last() as Entity).SetIdByClient((update as UpdateGameObjectCreated).IdEntity); (gameObjects.Last() as Entity).SetIdByClient((update as UpdateGameObjectCreated).IdEntity);
//var a = Assembly.GetAssembly(typeof(GameObject)); //var a = Assembly.GetAssembly(typeof(GameObject));

View file

@ -13,6 +13,7 @@ namespace ZoFo.GameCore.GameObjects.Entities
//public override GraphicsComponent graphicsComponent { get; } = new GraphicsComponent(new List<string> { "тут пишите название анимации" }, "сдублируйте " + //public override GraphicsComponent graphicsComponent { get; } = new GraphicsComponent(new List<string> { "тут пишите название анимации" }, "сдублируйте " +
public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List<string> { "player_idle_rotate_weapon" }, "player_idle_rotate_weapon"); public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List<string> { "player_idle_rotate_weapon" }, "player_idle_rotate_weapon");
public EntittyForAnimationTests(Vector2 position) : base(position) public EntittyForAnimationTests(Vector2 position) : base(position)

View file

@ -8,7 +8,14 @@ using Microsoft.Xna.Framework.Content;
namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies; namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies;
public class Enemy : LivingEntity public class Enemy : LivingEntity
{ {
protected float speed;
protected int health;
public Enemy(Vector2 position) : base(position) public Enemy(Vector2 position) : base(position)
{ {
}
public override void Update()
{
} }
} }

View file

@ -0,0 +1,37 @@
using Microsoft.Xna.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZoFo.GameCore.GameManagers;
using ZoFo.GameCore.Graphics;
namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies
{
class Zombie : Enemy
{
public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent("Textures/icons/8");
public Zombie(Vector2 position) : base(position)
{
health = 5;
speed =2;
collisionComponent.stopRectangle = new Rectangle(0, 0, 100, 100);
graphicsComponent.ObjectDrawRectangle = new Rectangle(0, 0, 100, 100);
}
public override void Update()
{
Vector2 duration = Vector2.Normalize(
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)
{
velocity = Vector2.Zero;
}
//position.X += velocity.X*t;
//position.Y += velocity.Y * t;
}
}
}

View file

@ -21,7 +21,7 @@ public class Player : LivingEntity
public bool IsTryingToShoot { get; set; } public bool IsTryingToShoot { get; set; }
private float speed; private float speed;
private int health; private int health;
public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List<string> { "player_running_top_rotate" }, "player_running_top_rotate"); public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List<string> { "player_look_down" }, "player_look_down");
private LootData lootData; private LootData lootData;
public Player(Vector2 position) : base(position) public Player(Vector2 position) : base(position)
{ {

View file

@ -16,6 +16,8 @@ namespace ZoFo.GameCore.Graphics
StreamReader reader; StreamReader reader;
foreach (var fileName in animationFilesNames) foreach (var fileName in animationFilesNames)
{
try
{ {
if (!fileName.EndsWith(".animation")) continue; if (!fileName.EndsWith(".animation")) continue;
reader = new StreamReader(fileName); reader = new StreamReader(fileName);
@ -24,6 +26,12 @@ namespace ZoFo.GameCore.Graphics
Animations.Add(animation); Animations.Add(animation);
reader.Close(); reader.Close();
} }
catch
{
}
}
} }
} }

View file

@ -124,10 +124,12 @@ namespace ZoFo.GameCore
collisionManager = new CollisionManager(); collisionManager = new CollisionManager();
gameObjects = new List<GameObject>(); gameObjects = new List<GameObject>();
entities = new List<Entity>(); entities = new List<Entity>();
players = new List<Player>();
new MapManager().LoadMap(); new MapManager().LoadMap();
AppManager.Instance.server.RegisterGameObject(new EntittyForAnimationTests(new Vector2(0, 0))); AppManager.Instance.server.RegisterGameObject(new EntittyForAnimationTests(new Vector2(0, 0)));
AppManager.Instance.server.RegisterGameObject(new Player(new Vector2(740, 140))); AppManager.Instance.server.RegisterGameObject(new Player(new Vector2(740, 140)));
AppManager.Instance.server.RegisterGameObject(new Zombie(new Vector2(1000, 1000)));
AppManager.Instance.server.RegisterGameObject(new Ammo(new Vector2(140, 440))); AppManager.Instance.server.RegisterGameObject(new Ammo(new Vector2(140, 440)));
AppManager.Instance.server.RegisterGameObject(new Ammo(new Vector2(240, 440))); AppManager.Instance.server.RegisterGameObject(new Ammo(new Vector2(240, 440)));
} }
@ -142,8 +144,9 @@ namespace ZoFo.GameCore
networkManager.CloseConnection(); networkManager.CloseConnection();
} }
private List<GameObject> gameObjects = new List<GameObject>(); public List<GameObject> gameObjects;
private List<Entity> entities; //entity public List<Entity> entities; //entity
public List<Player> players;
public void Update(GameTime gameTime) public void Update(GameTime gameTime)
{ {
if (ticks == 3) //ОБРАБАТЫВАЕТСЯ 20 РАЗ В СЕКУНДУ if (ticks == 3) //ОБРАБАТЫВАЕТСЯ 20 РАЗ В СЕКУНДУ
@ -197,11 +200,11 @@ namespace ZoFo.GameCore
});//TODO });//TODO
return; 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}); position = gameObject.position});
collisionManager.Register((gameObject as Entity).collisionComponent); collisionManager.Register(entity.collisionComponent);
} }
else else
AddData(new UpdateGameObjectCreated() { GameObjectType = gameObject.GetType().Name, AddData(new UpdateGameObjectCreated() { GameObjectType = gameObject.GetType().Name,
@ -209,6 +212,10 @@ namespace ZoFo.GameCore
}); });
if (gameObject is Player)
{
players.Add(gameObject as Player);
}
////var elems = gameObject.GetType().GetProperties(System.Reflection.BindingFlags.Public); ////var elems = gameObject.GetType().GetProperties(System.Reflection.BindingFlags.Public);
////if (elems.Count()>0) TODO ////if (elems.Count()>0) TODO
////{ ////{

View file

@ -35,6 +35,8 @@
<ProjectReference Include="..\MonogameLibrary\MonogameLibrary.csproj" /> <ProjectReference Include="..\MonogameLibrary\MonogameLibrary.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Content\sounds\Zombie\" />
<Folder Include="Content\Textures\Animations\PlayerAFK\" />
<Folder Include="Content\Textures\GUI\" /> <Folder Include="Content\Textures\GUI\" />
</ItemGroup> </ItemGroup>
<Target Name="RestoreDotnetTools" BeforeTargets="Restore"> <Target Name="RestoreDotnetTools" BeforeTargets="Restore">