mirror of
https://github.com/rafi1212122/BLHX.Server.git
synced 2025-12-12 14:34:39 +01:00
grids cfg parser yummy
This commit is contained in:
@@ -1,9 +1,19 @@
|
|||||||
using System.Text.Json.Serialization;
|
using System.Text.Json;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
namespace BLHX.Server.Common.Data;
|
namespace BLHX.Server.Common.Data;
|
||||||
|
|
||||||
public class ChapterTemplate : Model
|
public class ChapterTemplate : Model
|
||||||
{
|
{
|
||||||
|
[JsonIgnore]
|
||||||
|
public List<GridItem> GridItems
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Grids.Select(x => new GridItem() { Row = x[0].GetUInt32(), Column = x[1].GetUInt32(), Blocking = x[2].GetBoolean(), Flag = x[3].GetInt32() }).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[JsonPropertyName("ItemTransformPattern")]
|
[JsonPropertyName("ItemTransformPattern")]
|
||||||
public object ItemTransformPattern { get; set; }
|
public object ItemTransformPattern { get; set; }
|
||||||
[JsonPropertyName("act_id")]
|
[JsonPropertyName("act_id")]
|
||||||
@@ -85,7 +95,7 @@ public class ChapterTemplate : Model
|
|||||||
[JsonPropertyName("friendly_id")]
|
[JsonPropertyName("friendly_id")]
|
||||||
public int FriendlyId { get; set; }
|
public int FriendlyId { get; set; }
|
||||||
[JsonPropertyName("grids")]
|
[JsonPropertyName("grids")]
|
||||||
public object[][] Grids { get; set; }
|
public List<List<JsonElement>> Grids { get; set; }
|
||||||
[JsonPropertyName("group_num")]
|
[JsonPropertyName("group_num")]
|
||||||
public int GroupNum { get; set; }
|
public int GroupNum { get; set; }
|
||||||
[JsonPropertyName("guarder_expedition_list")]
|
[JsonPropertyName("guarder_expedition_list")]
|
||||||
@@ -203,3 +213,11 @@ public class ChapterTemplate : Model
|
|||||||
[JsonPropertyName("win_condition_display")]
|
[JsonPropertyName("win_condition_display")]
|
||||||
public string WinConditionDisplay { get; set; }
|
public string WinConditionDisplay { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public readonly struct GridItem
|
||||||
|
{
|
||||||
|
public uint Row { get; init; }
|
||||||
|
public uint Column { get; init; }
|
||||||
|
public bool Blocking { get; init; }
|
||||||
|
public int Flag { get; init; }
|
||||||
|
}
|
||||||
@@ -122,7 +122,7 @@ namespace BLHX.Server.Game
|
|||||||
ns.Write(sendBuf);
|
ns.Write(sendBuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SendPacket(Packet packet)
|
void Send(Packet packet)
|
||||||
{
|
{
|
||||||
c.Log(packet.command.ToString());
|
c.Log(packet.command.ToString());
|
||||||
var ns = tcpClient.GetStream();
|
var ns = tcpClient.GetStream();
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using BLHX.Server.Common.Data;
|
using BLHX.Server.Common.Proto;
|
||||||
using BLHX.Server.Common.Proto;
|
|
||||||
using BLHX.Server.Common.Proto.common;
|
|
||||||
using BLHX.Server.Common.Proto.p12;
|
using BLHX.Server.Common.Proto.p12;
|
||||||
|
|
||||||
namespace BLHX.Server.Game.Handlers
|
namespace BLHX.Server.Game.Handlers
|
||||||
|
|||||||
@@ -1,10 +1,34 @@
|
|||||||
using BLHX.Server.Common.Proto;
|
using BLHX.Server.Common.Data;
|
||||||
|
using BLHX.Server.Common.Proto;
|
||||||
using BLHX.Server.Common.Proto.p13;
|
using BLHX.Server.Common.Proto.p13;
|
||||||
|
|
||||||
namespace BLHX.Server.Game.Handlers
|
namespace BLHX.Server.Game.Handlers
|
||||||
{
|
{
|
||||||
internal static class P13
|
internal static class P13
|
||||||
{
|
{
|
||||||
|
[PacketHandler(Command.Cs13101)]
|
||||||
|
static void TrackingHandler(Connection connection, Packet packet)
|
||||||
|
{
|
||||||
|
var req = packet.Decode<Cs13101>();
|
||||||
|
var rsp = new Sc13102();
|
||||||
|
if (!Data.ChapterTemplate.TryGetValue((int)req.Id, out var chapterTemplate))
|
||||||
|
{
|
||||||
|
rsp.Result = 1;
|
||||||
|
connection.Send(rsp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Populate values, pls make managers
|
||||||
|
connection.Send(new Sc13102()
|
||||||
|
{
|
||||||
|
CurrentChapter = new()
|
||||||
|
{
|
||||||
|
Id = req.Id,
|
||||||
|
Time = (uint)(DateTimeOffset.Now.ToUnixTimeSeconds() + chapterTemplate.Time)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
[PacketHandler(Command.Cs13505)]
|
[PacketHandler(Command.Cs13505)]
|
||||||
static void RemasterInfoRequestHandler(Connection connection, Packet packet)
|
static void RemasterInfoRequestHandler(Connection connection, Packet packet)
|
||||||
{
|
{
|
||||||
@@ -16,7 +40,7 @@ namespace BLHX.Server.Game.Handlers
|
|||||||
{
|
{
|
||||||
public static void NotifyChapterData(this Connection connection)
|
public static void NotifyChapterData(this Connection connection)
|
||||||
{
|
{
|
||||||
connection.Send(new Sc13001() { ReactChapter = new() });
|
connection.Send(new Sc13001() { ReactChapter = new() });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user