forked from SoDOff-Project/sodoff
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 AchievementService achievementService;
|
||||||
private InventoryService inventoryService;
|
private InventoryService inventoryService;
|
||||||
private GameDataService gameDataService;
|
private GameDataService gameDataService;
|
||||||
|
private DisplayNamesService displayNamesService;
|
||||||
private Random random = new Random();
|
private Random random = new Random();
|
||||||
private readonly IOptions<ApiServerConfig> config;
|
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.ctx = ctx;
|
||||||
this.keyValueService = keyValueService;
|
this.keyValueService = keyValueService;
|
||||||
this.itemService = itemService;
|
this.itemService = itemService;
|
||||||
@ -32,6 +33,7 @@ public class ContentController : Controller {
|
|||||||
this.achievementService = achievementService;
|
this.achievementService = achievementService;
|
||||||
this.inventoryService = inventoryService;
|
this.inventoryService = inventoryService;
|
||||||
this.gameDataService = gameDataService;
|
this.gameDataService = gameDataService;
|
||||||
|
this.displayNamesService = displayNamesService;
|
||||||
this.config = config;
|
this.config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -352,11 +354,13 @@ public class ContentController : Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
//[Produces("application/xml")]
|
[Produces("application/xml")]
|
||||||
[Route("ContentWebService.asmx/GetAvatar")] // used by World Of Jumpstart
|
[Route("ContentWebService.asmx/GetAvatar")] // used by World Of Jumpstart
|
||||||
[VikingSession(UseLock=false)]
|
[VikingSession(UseLock=false)]
|
||||||
public IActionResult GetAvatar(Viking viking) {
|
public IActionResult GetAvatar(Viking viking) {
|
||||||
return Ok(viking.AvatarSerialized);
|
AvatarData avatarData = XmlUtil.DeserializeXml<AvatarData>(viking.AvatarSerialized);
|
||||||
|
avatarData.Id = viking.Id;
|
||||||
|
return Ok(avatarData);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
@ -1281,7 +1285,19 @@ public class ContentController : Controller {
|
|||||||
[Route("ContentWebService.asmx/GetDisplayNamesByCategoryID")] // used by Math Blaster
|
[Route("ContentWebService.asmx/GetDisplayNamesByCategoryID")] // used by Math Blaster
|
||||||
public IActionResult GetDisplayNames() {
|
public IActionResult GetDisplayNames() {
|
||||||
// TODO: This is a placeholder
|
// 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]
|
[HttpPost]
|
||||||
|
@ -26,6 +26,7 @@ builder.Services.AddSingleton<MissionStoreSingleton>();
|
|||||||
builder.Services.AddSingleton<AchievementStoreSingleton>();
|
builder.Services.AddSingleton<AchievementStoreSingleton>();
|
||||||
builder.Services.AddSingleton<ItemService>();
|
builder.Services.AddSingleton<ItemService>();
|
||||||
builder.Services.AddSingleton<StoreService>();
|
builder.Services.AddSingleton<StoreService>();
|
||||||
|
builder.Services.AddSingleton<DisplayNamesService>();
|
||||||
|
|
||||||
builder.Services.AddScoped<KeyValueService>();
|
builder.Services.AddScoped<KeyValueService>();
|
||||||
builder.Services.AddScoped<MissionService>();
|
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\items.xml" />
|
||||||
<None Remove="Resources\missions.xml" />
|
<None Remove="Resources\missions.xml" />
|
||||||
<None Remove="Resources\mmo.xml" />
|
<None Remove="Resources\mmo.xml" />
|
||||||
|
<None Remove="Resources\displaynames.xml" />
|
||||||
<None Remove="Resources\rankattrib.xml" />
|
<None Remove="Resources\rankattrib.xml" />
|
||||||
<None Remove="Resources\rewardmultiplier.xml" />
|
<None Remove="Resources\rewardmultiplier.xml" />
|
||||||
<None Remove="Resources\store.xml" />
|
<None Remove="Resources\store.xml" />
|
||||||
@ -80,6 +81,9 @@
|
|||||||
<EmbeddedResource Include="Resources\mmo.xml">
|
<EmbeddedResource Include="Resources\mmo.xml">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Resources\displaynames.xml">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Resources\rewardmultiplier.xml">
|
<EmbeddedResource Include="Resources\rewardmultiplier.xml">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user