mirror of
https://github.com/SoDOff-Project/sodoff.git
synced 2025-10-11 08:18:49 -07:00
fix set Jumpee name (and init move tutorial)
This commit is contained in:
parent
f8c8b75645
commit
6960aadcc3
@ -20,10 +20,11 @@ public class ContentController : Controller {
|
||||
private AchievementService achievementService;
|
||||
private InventoryService inventoryService;
|
||||
private GameDataService gameDataService;
|
||||
private DisplayNamesService displayNamesService;
|
||||
private Random random = new Random();
|
||||
private readonly IOptions<ApiServerConfig> config;
|
||||
|
||||
public ContentController(DBContext ctx, KeyValueService keyValueService, ItemService itemService, MissionService missionService, RoomService roomService, AchievementService achievementService, InventoryService inventoryService, GameDataService gameDataService, IOptions<ApiServerConfig> config) {
|
||||
public ContentController(DBContext ctx, KeyValueService keyValueService, ItemService itemService, MissionService missionService, RoomService roomService, AchievementService achievementService, InventoryService inventoryService, GameDataService gameDataService, DisplayNamesService displayNamesService, IOptions<ApiServerConfig> config) {
|
||||
this.ctx = ctx;
|
||||
this.keyValueService = keyValueService;
|
||||
this.itemService = itemService;
|
||||
@ -32,6 +33,7 @@ public class ContentController : Controller {
|
||||
this.achievementService = achievementService;
|
||||
this.inventoryService = inventoryService;
|
||||
this.gameDataService = gameDataService;
|
||||
this.displayNamesService = displayNamesService;
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
@ -352,11 +354,13 @@ public class ContentController : Controller {
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
//[Produces("application/xml")]
|
||||
[Produces("application/xml")]
|
||||
[Route("ContentWebService.asmx/GetAvatar")] // used by World Of Jumpstart
|
||||
[VikingSession(UseLock=false)]
|
||||
public IActionResult GetAvatar(Viking viking) {
|
||||
return Ok(viking.AvatarSerialized);
|
||||
AvatarData avatarData = XmlUtil.DeserializeXml<AvatarData>(viking.AvatarSerialized);
|
||||
avatarData.Id = viking.Id;
|
||||
return Ok(avatarData);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
@ -1281,7 +1285,19 @@ public class ContentController : Controller {
|
||||
[Route("ContentWebService.asmx/GetDisplayNamesByCategoryID")] // used by Math Blaster
|
||||
public IActionResult GetDisplayNames() {
|
||||
// TODO: This is a placeholder
|
||||
return Ok("<?xml version=\"1.0\" encoding=\"utf-8\"?> <DisplayNames xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"> <DisplayName> <ID>1</ID> <Name>Aaliyah</Name> <Ordinal>1</Ordinal> </DisplayName> <DisplayName> <ID>2</ID> <Name>Abby</Name> <Ordinal>2</Ordinal> </DisplayName> <DisplayName> <ID>3</ID> <Name>Adrian</Name> <Ordinal>3</Ordinal> </DisplayName> <DisplayName> <ID>11</ID> <Name>Karen</Name> <Ordinal>2</Ordinal> </DisplayName> <DisplayName> <ID>12</ID> <Name>Luna</Name> <Ordinal>2</Ordinal> </DisplayName> <DisplayName> <ID>13</ID> <Name>Tori</Name> <Ordinal>2</Ordinal> </DisplayName></DisplayNames>");
|
||||
return Ok(XmlUtil.ReadResourceXmlString("displaynames"));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
//[Produces("application/xml")]
|
||||
[Route("ContentWebService.asmx/SetDisplayName")] // used by World Of Jumpstart
|
||||
[VikingSession]
|
||||
public IActionResult SetProduct(Viking viking, [FromForm] int firstNameID, [FromForm] int secondNameID, [FromForm] int thirdNameID) {
|
||||
AvatarData avatarData = XmlUtil.DeserializeXml<AvatarData>(viking.AvatarSerialized);
|
||||
avatarData.DisplayName = displayNamesService.GetName(firstNameID, secondNameID, thirdNameID);
|
||||
viking.AvatarSerialized = XmlUtil.SerializeXml(avatarData);
|
||||
ctx.SaveChanges();
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
|
@ -26,6 +26,7 @@ builder.Services.AddSingleton<MissionStoreSingleton>();
|
||||
builder.Services.AddSingleton<AchievementStoreSingleton>();
|
||||
builder.Services.AddSingleton<ItemService>();
|
||||
builder.Services.AddSingleton<StoreService>();
|
||||
builder.Services.AddSingleton<DisplayNamesService>();
|
||||
|
||||
builder.Services.AddScoped<KeyValueService>();
|
||||
builder.Services.AddScoped<MissionService>();
|
||||
|
33
src/Resources/displaynames.xml
Normal file
33
src/Resources/displaynames.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<DisplayNames xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<DisplayName>
|
||||
<ID>1</ID>
|
||||
<Name>Aaliyah</Name>
|
||||
<Ordinal>1</Ordinal>
|
||||
</DisplayName>
|
||||
<DisplayName>
|
||||
<ID>2</ID>
|
||||
<Name>Abby</Name>
|
||||
<Ordinal>2</Ordinal>
|
||||
</DisplayName>
|
||||
<DisplayName>
|
||||
<ID>3</ID>
|
||||
<Name>Adrian</Name>
|
||||
<Ordinal>3</Ordinal>
|
||||
</DisplayName>
|
||||
<DisplayName>
|
||||
<ID>11</ID>
|
||||
<Name>Karen</Name>
|
||||
<Ordinal>2</Ordinal>
|
||||
</DisplayName>
|
||||
<DisplayName>
|
||||
<ID>12</ID>
|
||||
<Name>Luna</Name>
|
||||
<Ordinal>2</Ordinal>
|
||||
</DisplayName>
|
||||
<DisplayName>
|
||||
<ID>13</ID>
|
||||
<Name>Tori</Name>
|
||||
<Ordinal>2</Ordinal>
|
||||
</DisplayName>
|
||||
</DisplayNames>
|
15
src/Schema/DisplayNames.cs
Normal file
15
src/Schema/DisplayNames.cs
Normal file
@ -0,0 +1,15 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace sodoff.Schema;
|
||||
|
||||
[Serializable]
|
||||
[XmlRoot(ElementName = "DisplayNames", Namespace = "")]
|
||||
public class DisplayNameList : List<DisplayName> {
|
||||
}
|
||||
public class DisplayName {
|
||||
[XmlElement("ID")]
|
||||
public int Id;
|
||||
|
||||
[XmlElement("Name")]
|
||||
public string Name;
|
||||
}
|
19
src/Services/DisplayNamesService.cs
Normal file
19
src/Services/DisplayNamesService.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using sodoff.Schema;
|
||||
using sodoff.Util;
|
||||
|
||||
namespace sodoff.Services;
|
||||
|
||||
public class DisplayNamesService {
|
||||
Dictionary<int, string> displayNames = new();
|
||||
|
||||
public DisplayNamesService(ItemService itemService) {
|
||||
DisplayNameList displayNamesList = XmlUtil.DeserializeXml<DisplayNameList>(XmlUtil.ReadResourceXmlString("displaynames"));
|
||||
foreach (var n in displayNamesList) {
|
||||
displayNames.Add(n.Id, n.Name);
|
||||
}
|
||||
}
|
||||
|
||||
public string GetName(int firstNameID, int secondNameID, int thirdNameID) {
|
||||
return displayNames[firstNameID] + " " + displayNames[secondNameID] + displayNames[thirdNameID];
|
||||
}
|
||||
}
|
@ -41,6 +41,7 @@
|
||||
<None Remove="Resources\items.xml" />
|
||||
<None Remove="Resources\missions.xml" />
|
||||
<None Remove="Resources\mmo.xml" />
|
||||
<None Remove="Resources\displaynames.xml" />
|
||||
<None Remove="Resources\rankattrib.xml" />
|
||||
<None Remove="Resources\rewardmultiplier.xml" />
|
||||
<None Remove="Resources\store.xml" />
|
||||
@ -80,6 +81,9 @@
|
||||
<EmbeddedResource Include="Resources\mmo.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\displaynames.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\rewardmultiplier.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
|
Loading…
x
Reference in New Issue
Block a user