Merge branch 'DevelopmentX' into UpdateZombie
This commit is contained in:
commit
f0074edfd1
14 changed files with 121 additions and 103 deletions
|
@ -25,6 +25,8 @@ 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 ZoFo.GameCore.Graphics;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using Newtonsoft.Json;
|
||||||
namespace ZoFo.GameCore
|
namespace ZoFo.GameCore
|
||||||
{
|
{
|
||||||
public class Client
|
public class Client
|
||||||
|
@ -55,13 +57,21 @@ namespace ZoFo.GameCore
|
||||||
|
|
||||||
public void OnDataSend(string data)
|
public void OnDataSend(string data)
|
||||||
{
|
{
|
||||||
List<UpdateData> updateDatas = JsonSerializer.Deserialize<List<UpdateData>>(data);
|
//List<UpdateTileCreated> updateDatas = JsonSerializer.Deserialize<List<UpdateTileCreated>>(data);
|
||||||
|
JArray jToken = JsonConvert.DeserializeObject(data) as JArray;
|
||||||
|
|
||||||
|
//string[] brands = jToken.SelectToken("")?.ToObject<string[]>();
|
||||||
|
foreach (JToken update in jToken.Children())
|
||||||
|
{
|
||||||
|
string a = update.ToString();
|
||||||
|
UpdateTileCreated u = System.Text.Json.JsonSerializer.Deserialize<UpdateTileCreated>(a);
|
||||||
|
}
|
||||||
// тут будет switch
|
// тут будет switch
|
||||||
AppManager.Instance.debugHud.Log(data);
|
AppManager.Instance.debugHud.Log(data);
|
||||||
foreach (var item in updateDatas)
|
//foreach (var item in updateDatas)
|
||||||
{
|
//{
|
||||||
GotData(item);
|
// GotData(item);
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
public void GameEndedUnexpectedly() { }
|
public void GameEndedUnexpectedly() { }
|
||||||
|
@ -113,22 +123,21 @@ namespace ZoFo.GameCore
|
||||||
mapObjects.Add(
|
mapObjects.Add(
|
||||||
new MapObject(
|
new MapObject(
|
||||||
(update as UpdateTileCreated).Position,
|
(update as UpdateTileCreated).Position,
|
||||||
(update as UpdateTileCreated).Size.ToVector2(),
|
(update as UpdateTileCreated).Size.GetPoint().ToVector2(),
|
||||||
(update as UpdateTileCreated).sourceRectangle,
|
(update as UpdateTileCreated).sourceRectangle.GetRectangle(),
|
||||||
(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.ToVector2(),
|
||||||
(update as UpdateStopObjectCreated).sourceRectangle,
|
// (update as UpdateStopObjectCreated).sourceRectangle,
|
||||||
(update as UpdateStopObjectCreated).tileSetName,
|
// (update as UpdateStopObjectCreated).tileSetName
|
||||||
(update as UpdateStopObjectCreated).collisions
|
// ));
|
||||||
));
|
//}
|
||||||
}
|
|
||||||
else if (update is UpdateGameObjectCreated)
|
else if (update is UpdateGameObjectCreated)
|
||||||
{
|
{
|
||||||
GameObject created_gameObject;
|
GameObject created_gameObject;
|
||||||
|
|
|
@ -33,13 +33,13 @@ namespace ZoFo.GameCore.GameManagers.MapManager
|
||||||
PropertyNameCaseInsensitive = true
|
PropertyNameCaseInsensitive = true
|
||||||
};
|
};
|
||||||
TileMap tileMap =
|
TileMap tileMap =
|
||||||
JsonSerializer.Deserialize<TileMap>(File.ReadAllText(string.Format(_templatePath, mapName)), options);
|
JsonSerializer.Deserialize<TileMap>(File.ReadAllText(Path.Combine(AppContext.BaseDirectory, string.Format(_templatePath, mapName))), options);
|
||||||
|
|
||||||
// Загрузка TileSet-ов по TileSetInfo
|
// Загрузка TileSet-ов по TileSetInfo
|
||||||
List<TileSet> tileSets = new List<TileSet>();
|
List<TileSet> tileSets = new List<TileSet>();
|
||||||
foreach (TileSetInfo tileSetInfo in tileMap.TileSets)
|
foreach (TileSetInfo tileSetInfo in tileMap.TileSets)
|
||||||
{
|
{
|
||||||
TileSet tileSet = LoadTileSet(Path.Combine("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);
|
||||||
}
|
}
|
||||||
|
@ -75,14 +75,15 @@ namespace ZoFo.GameCore.GameManagers.MapManager
|
||||||
(i / chunk.Height) * tileMap.TileHeight + chunk.Y * tileMap.TileHeight);
|
(i / chunk.Height) * tileMap.TileHeight + chunk.Y * tileMap.TileHeight);
|
||||||
|
|
||||||
Tile tile = tileSet.Tiles[number]; // По факту может быть StopObjectom, но на уровне Tiled это все в первую очередь Tile
|
Tile tile = tileSet.Tiles[number]; // По факту может быть StopObjectom, но на уровне Tiled это все в первую очередь Tile
|
||||||
|
string textureName = Path.Combine(AppContext.BaseDirectory, "Content", "Textures", "TileSetImages",
|
||||||
|
Path.GetFileName(tileSet.Image).Replace(".png", ""));
|
||||||
switch (tile.Type)
|
switch (tile.Type)
|
||||||
{
|
{
|
||||||
case "Tile":
|
case "Tile":
|
||||||
AppManager.Instance.server.RegisterGameObject(new MapObject(position,
|
AppManager.Instance.server.RegisterGameObject(new MapObject(position,
|
||||||
new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
||||||
sourceRectangle,
|
sourceRectangle,
|
||||||
"Textures/TileSetImages/" + Path.GetFileName(tileSet.Image).Replace(".png", "")));
|
textureName));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "StopObject":
|
case "StopObject":
|
||||||
|
@ -91,7 +92,7 @@ namespace ZoFo.GameCore.GameManagers.MapManager
|
||||||
AppManager.Instance.server.RegisterGameObject(new StopObject(position,
|
AppManager.Instance.server.RegisterGameObject(new StopObject(position,
|
||||||
new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
||||||
sourceRectangle,
|
sourceRectangle,
|
||||||
"Textures/TileSetImages/" + Path.GetFileName(tileSet.Image).Replace(".png", ""),
|
textureName,
|
||||||
collisionRectangles.ToArray()));
|
collisionRectangles.ToArray()));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -116,8 +116,8 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
{
|
{
|
||||||
while(socket.Connected)
|
while(socket.Connected)
|
||||||
{
|
{
|
||||||
byte[] bytes = new byte[2048];
|
byte[] bytes = new byte[65535];
|
||||||
var countAnsw = socket.Receive(bytes); //Вылетает если кто то закрыл
|
var countAnsw = socket.Receive(bytes, SocketFlags.Partial); //Вылетает если кто то закрыл
|
||||||
string update = Encoding.UTF8.GetString(bytes, 0, countAnsw); // обновление отосланные сервером
|
string update = Encoding.UTF8.GetString(bytes, 0, countAnsw); // обновление отосланные сервером
|
||||||
GetDataSent(update);
|
GetDataSent(update);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ZoFo.GameCore.GameManagers.NetworkManager.SerializableDTO
|
||||||
|
{
|
||||||
|
public class SerializablePoint
|
||||||
|
{
|
||||||
|
public int X;
|
||||||
|
public int Y;
|
||||||
|
|
||||||
|
public SerializablePoint(Point point) { X = point.X; Y = point.Y;}
|
||||||
|
public Point GetPoint() { return new Point(X, Y);}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using ZoFo.GameCore.GameManagers.NetworkManager.SerializableDTO;
|
||||||
|
|
||||||
|
namespace ZoFo.GameCore.GameManagers.NetworkManager.SerializableDTO
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
[JsonSerializable(typeof(SerializableRectangle))]
|
||||||
|
public class SerializableRectangle
|
||||||
|
{
|
||||||
|
public SerializablePoint Size { get; set; }
|
||||||
|
public SerializablePoint Location { get; set; }
|
||||||
|
public int X { get; set; }
|
||||||
|
public int Y { get; set; }
|
||||||
|
public SerializableRectangle()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public SerializableRectangle(Rectangle rectangle) { X = rectangle.X; Y = rectangle.Y;
|
||||||
|
Size = new SerializablePoint(rectangle.Size); Location = new SerializablePoint(rectangle.Location); }
|
||||||
|
|
||||||
|
public Rectangle GetRectangle()
|
||||||
|
{
|
||||||
|
return new Rectangle() { X = X, Y = Y, Size = Size.GetPoint(), Location = Location.GetPoint() };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -53,7 +53,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.GetHostEntry(hostName).AddressList;
|
||||||
|
|
||||||
foreach (var ip in ipList)
|
foreach (var ip in ipList)
|
||||||
{
|
{
|
||||||
|
@ -80,15 +80,15 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
//Что это?
|
//Что это?
|
||||||
//по 10 паков за раз TODO FIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXIT
|
//по 10 паков за раз TODO FIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXITFIXIT
|
||||||
List<UpdateData> datasToSend = new List<UpdateData>();
|
List<UpdateData> datasToSend = new List<UpdateData>();
|
||||||
for (int i = 0; i < 5 && i<updates.Count; i++)
|
for (int i = 0; i < 200 && i<updates.Count; i++)
|
||||||
datasToSend.Add(updates[i]);
|
datasToSend.Add(updates[i]);
|
||||||
string data = JsonSerializer.Serialize(datasToSend);
|
string data = JsonSerializer.Serialize(datasToSend);
|
||||||
var databytes = Encoding.UTF8.GetBytes(data);
|
var databytes = Encoding.UTF8.GetBytes(data);
|
||||||
foreach (var item in clients)
|
foreach (Socket socket in clients)
|
||||||
{
|
{
|
||||||
item.SendAsync(databytes);
|
clients[0].SendAsync(databytes, SocketFlags.Partial);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 5 && i< datasToSend.Count; i++)
|
for (int i = 0; i < 200 && i< datasToSend.Count; i++)
|
||||||
updates.RemoveAt(0);
|
updates.RemoveAt(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,8 +171,8 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
Socket client = (Socket)socket;
|
Socket client = (Socket)socket;
|
||||||
while (client.Connected)
|
while (client.Connected)
|
||||||
{
|
{
|
||||||
var buff = new byte[1024];
|
var buff = new byte[65535];
|
||||||
var answ = client.Receive(buff);
|
var answ = client.Receive(buff, SocketFlags.Partial);
|
||||||
string response = Encoding.UTF8.GetString(buff, 0, answ);
|
string response = Encoding.UTF8.GetString(buff, 0, answ);
|
||||||
GetDataSend(response);
|
GetDataSend(response);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using ZoFo.GameCore.GameManagers.NetworkManager.SerializableDTO;
|
||||||
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer;
|
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer;
|
||||||
|
|
||||||
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
|
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
|
||||||
|
@ -18,22 +19,9 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
|
||||||
{
|
{
|
||||||
public UpdateTileCreated() { UpdateType = "UpdateTileCreated"; }
|
public UpdateTileCreated() { UpdateType = "UpdateTileCreated"; }
|
||||||
public Texture2D TextureTile { get; set; }
|
public Texture2D TextureTile { get; set; }
|
||||||
public Vector2 Position { get; set; }
|
public Vector2 Position { get; set; }
|
||||||
public Point Size { get; set; }
|
public SerializablePoint Size { get; set; }
|
||||||
public Rectangle sourceRectangle { get; set; }
|
public SerializableRectangle sourceRectangle { get; set; }
|
||||||
public string tileSetName { get; set; }
|
public string tileSetName { get; set; }
|
||||||
}
|
}
|
||||||
/// <summary>
|
|
||||||
/// При создании тайла TODO move to another file
|
|
||||||
/// </summary>
|
|
||||||
public class UpdateStopObjectCreated : UpdateData
|
|
||||||
{
|
|
||||||
public UpdateStopObjectCreated() { UpdateType = "UpdateStopObjectCreated"; }
|
|
||||||
public Texture2D TextureTile { get; set; }
|
|
||||||
public Vector2 Position { get; set; }
|
|
||||||
public Point Size { get; set; }
|
|
||||||
public Rectangle sourceRectangle { get; set; }
|
|
||||||
public string tileSetName { get; set; }
|
|
||||||
public Rectangle[] collisions { get; set; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,15 +24,7 @@ namespace ZoFo.GameCore.GameManagers
|
||||||
{
|
{
|
||||||
//List<string> sounds = AppManager.Instance.Content.Load<List<string>>("sounds/");
|
//List<string> sounds = AppManager.Instance.Content.Load<List<string>>("sounds/");
|
||||||
|
|
||||||
string a = Path.Combine("Content", "sounds");
|
string[] k = Directory.GetFiles(Path.Combine(AppContext.BaseDirectory, "Content", "sounds")).Where(x => x.EndsWith("xnb")).ToArray();
|
||||||
string[] k;
|
|
||||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
|
|
||||||
{
|
|
||||||
k = Directory.GetFiles(Path.Combine("bin", "Debug", "net8.0", "Content", "sounds")).Where(x => x.EndsWith("xnb")).ToArray();
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
k = Directory.GetFiles(Path.Combine(Directory.GetCurrentDirectory(), "Content", "sounds")).Where(x => x.EndsWith("xnb")).ToArray();
|
|
||||||
}
|
|
||||||
if (k.Length > 0)
|
if (k.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -164,6 +164,7 @@ namespace ZoFo.GameCore.Graphics
|
||||||
}
|
}
|
||||||
|
|
||||||
interval--;
|
interval--;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch)
|
public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch)
|
||||||
|
@ -188,8 +189,9 @@ namespace ZoFo.GameCore.Graphics
|
||||||
destinationRectangle.Y -= CameraPosition.Y;
|
destinationRectangle.Y -= CameraPosition.Y;
|
||||||
|
|
||||||
destinationRectangle = Scaling(destinationRectangle);
|
destinationRectangle = Scaling(destinationRectangle);
|
||||||
_spriteBatch.Draw(texture,
|
|
||||||
destinationRectangle, sourceRectangle, Color.White);
|
_spriteBatch.Draw(texture, destinationRectangle, sourceRectangle, Color.White, Rotation,
|
||||||
|
Vector2.Zero, Flip, 0);
|
||||||
}
|
}
|
||||||
public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle)
|
public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle)
|
||||||
{
|
{
|
||||||
|
@ -214,7 +216,8 @@ namespace ZoFo.GameCore.Graphics
|
||||||
|
|
||||||
destinationRectangle = Scaling(destinationRectangle);
|
destinationRectangle = Scaling(destinationRectangle);
|
||||||
_spriteBatch.Draw(texture,
|
_spriteBatch.Draw(texture,
|
||||||
destinationRectangle, sourceRectangle, Color.White);
|
destinationRectangle, sourceRectangle, Color.White, 0,
|
||||||
|
Vector2.Zero, Flip, 0);
|
||||||
}
|
}
|
||||||
private void buildSourceRectangle()
|
private void buildSourceRectangle()
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace ZoFo.GameCore.Graphics
|
||||||
public void LoadAnimations()
|
public void LoadAnimations()
|
||||||
{
|
{
|
||||||
Animations = new List<AnimationContainer>();
|
Animations = new List<AnimationContainer>();
|
||||||
string[] animationFilesNames = Directory.GetFiles("Content/Textures/Animations");
|
string[] animationFilesNames = Directory.GetFiles(Path.Combine(AppContext.BaseDirectory, "Content", "Textures", "Animations"));
|
||||||
|
|
||||||
StreamReader reader;
|
StreamReader reader;
|
||||||
foreach (var fileName in animationFilesNames)
|
foreach (var fileName in animationFilesNames)
|
||||||
|
|
|
@ -9,6 +9,9 @@ public abstract class GraphicsComponent
|
||||||
public static int scaling = 1;
|
public static int scaling = 1;
|
||||||
public string mainTextureName;//TODO костыль - пофиксить
|
public string mainTextureName;//TODO костыль - пофиксить
|
||||||
|
|
||||||
|
public SpriteEffects Flip = SpriteEffects.None;
|
||||||
|
public float Rotation;
|
||||||
|
|
||||||
public abstract void LoadContent();
|
public abstract void LoadContent();
|
||||||
public abstract void Update();
|
public abstract void Update();
|
||||||
public abstract void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch);
|
public abstract void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch);
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
using Microsoft.Xna.Framework;
|
|
||||||
using Microsoft.Xna.Framework.Graphics;
|
|
||||||
|
|
||||||
namespace ZoFo.GameCore.Graphics;
|
|
||||||
|
|
||||||
public interface IGraphicsComponent
|
|
||||||
{
|
|
||||||
public Rectangle ObjectDrawRectangle { get; set; }
|
|
||||||
public static int scaling = 1;
|
|
||||||
public string mainTextureName { get; set; }//TODO костыль - пофиксить
|
|
||||||
|
|
||||||
public abstract void LoadContent();
|
|
||||||
public abstract void Update();
|
|
||||||
public abstract void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch);
|
|
||||||
public abstract void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle);
|
|
||||||
}
|
|
|
@ -8,7 +8,6 @@ using ZoFo.GameCore.GUI;
|
||||||
|
|
||||||
namespace ZoFo.GameCore.Graphics
|
namespace ZoFo.GameCore.Graphics
|
||||||
{
|
{
|
||||||
|
|
||||||
public class StaticGraphicsComponent : GraphicsComponent
|
public class StaticGraphicsComponent : GraphicsComponent
|
||||||
{
|
{
|
||||||
private Texture2D texture;
|
private Texture2D texture;
|
||||||
|
@ -18,7 +17,7 @@ namespace ZoFo.GameCore.Graphics
|
||||||
{
|
{
|
||||||
LoadContent();
|
LoadContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
public StaticGraphicsComponent(string textureName)
|
public StaticGraphicsComponent(string textureName)
|
||||||
{
|
{
|
||||||
BuildComponent(textureName);
|
BuildComponent(textureName);
|
||||||
|
@ -29,7 +28,7 @@ namespace ZoFo.GameCore.Graphics
|
||||||
{
|
{
|
||||||
_textureName = textureName;
|
_textureName = textureName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override void LoadContent()
|
public override void LoadContent()
|
||||||
{
|
{
|
||||||
|
@ -37,7 +36,7 @@ namespace ZoFo.GameCore.Graphics
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
texture = AppManager.Instance.Content.Load<Texture2D>(_textureName);
|
texture = AppManager.Instance.Content.Load<Texture2D>(_textureName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,11 +52,14 @@ namespace ZoFo.GameCore.Graphics
|
||||||
destinationRectangle.X -= CameraPosition.X;
|
destinationRectangle.X -= CameraPosition.X;
|
||||||
destinationRectangle.Y -= CameraPosition.Y;
|
destinationRectangle.Y -= CameraPosition.Y;
|
||||||
destinationRectangle = Scaling(destinationRectangle);
|
destinationRectangle = Scaling(destinationRectangle);
|
||||||
_spriteBatch.Draw(texture, destinationRectangle, Color.White);
|
_spriteBatch.Draw(texture, destinationRectangle, texture.Bounds, Color.White, Rotation,
|
||||||
|
Vector2.Zero, Flip, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle)
|
public override void Draw(Rectangle destinationRectangle, SpriteBatch _spriteBatch, Rectangle sourceRectangle)
|
||||||
{
|
{
|
||||||
|
// Uncomment to go brrrr
|
||||||
|
//Rotation = new Random().Next(1, 365);
|
||||||
DebugHUD.Instance.Log("draw ");
|
DebugHUD.Instance.Log("draw ");
|
||||||
|
|
||||||
destinationRectangle.X -= CameraPosition.X;
|
destinationRectangle.X -= CameraPosition.X;
|
||||||
|
@ -65,7 +67,8 @@ namespace ZoFo.GameCore.Graphics
|
||||||
|
|
||||||
destinationRectangle = Scaling(destinationRectangle);
|
destinationRectangle = Scaling(destinationRectangle);
|
||||||
_spriteBatch.Draw(texture,
|
_spriteBatch.Draw(texture,
|
||||||
destinationRectangle, sourceRectangle, Color.White);
|
destinationRectangle, sourceRectangle, Color.White, Rotation,
|
||||||
|
Vector2.Zero, Flip, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -21,6 +21,7 @@ using ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player;
|
||||||
using ZoFo.GameCore.GameObjects.MapObjects;
|
using ZoFo.GameCore.GameObjects.MapObjects;
|
||||||
using ZoFo.GameCore.GameObjects.MapObjects.StopObjects;
|
using ZoFo.GameCore.GameObjects.MapObjects.StopObjects;
|
||||||
using ZoFo.GameCore.Graphics;
|
using ZoFo.GameCore.Graphics;
|
||||||
|
using ZoFo.GameCore.GameManagers.NetworkManager.SerializableDTO;
|
||||||
|
|
||||||
namespace ZoFo.GameCore
|
namespace ZoFo.GameCore
|
||||||
{
|
{
|
||||||
|
@ -172,30 +173,13 @@ namespace ZoFo.GameCore
|
||||||
{
|
{
|
||||||
|
|
||||||
gameObjects.Add(gameObject);
|
gameObjects.Add(gameObject);
|
||||||
if (gameObject is StopObject)
|
|
||||||
{
|
|
||||||
AddData(new UpdateStopObjectCreated()
|
|
||||||
{
|
|
||||||
Position = (gameObject as StopObject).position,
|
|
||||||
sourceRectangle = (gameObject as StopObject).sourceRectangle,
|
|
||||||
Size = (gameObject as StopObject).graphicsComponent.ObjectDrawRectangle.Size,
|
|
||||||
collisions = (gameObject as StopObject).collisionComponents.Select(x=>x.stopRectangle).ToArray(),
|
|
||||||
tileSetName = ((gameObject as StopObject).graphicsComponent as StaticGraphicsComponent)._textureName
|
|
||||||
});//TODO
|
|
||||||
foreach (var item in (gameObject as StopObject).collisionComponents)
|
|
||||||
{
|
|
||||||
collisionManager.Register(item);
|
|
||||||
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (gameObject is MapObject)
|
if (gameObject is MapObject)
|
||||||
{
|
{
|
||||||
AddData(new UpdateTileCreated()
|
AddData(new UpdateTileCreated()
|
||||||
{
|
{
|
||||||
Position = (gameObject as MapObject).position,
|
Position = (gameObject as MapObject).position,
|
||||||
sourceRectangle = (gameObject as MapObject).sourceRectangle,
|
sourceRectangle = new SerializableRectangle((gameObject as MapObject).sourceRectangle),
|
||||||
Size = (gameObject as MapObject).graphicsComponent.ObjectDrawRectangle.Size,
|
Size = new SerializablePoint((gameObject as MapObject).graphicsComponent.ObjectDrawRectangle.Size),
|
||||||
tileSetName = ((gameObject as MapObject).graphicsComponent as StaticGraphicsComponent)._textureName
|
tileSetName = ((gameObject as MapObject).graphicsComponent as StaticGraphicsComponent)._textureName
|
||||||
});//TODO
|
});//TODO
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Reference in a new issue