mirror of
https://github.com/sebastian-heinz/Arrowgene.DragonsDogmaOnline
synced 2026-08-03 11:12:41 -04:00
- Partial implemention of the EXM "Recurrence of Darkness" (q50204000) using the scripted quest system. - Moved all scripts to a seperate Arrowgene.Ddon.Scripts project to support out of project comde completion in csx scripts. - Updated the README.md in the scripting project with details on how to enable csx autocompletion in Visual Studio Code. - Enabled scripted quests to have some dyanmic state for the instance of the quest. - Continued to build out QuestBlockUtil and QuestResultCommnandUtil to make it more convient to write scripted quests. - Updated the script callback function to pass a new object QuestCallbackParam and updated the function to support passing anonymous functions as an argument. - Moved index calculations for JSON quests to the asset deserializer. - Adjusted some "discovered quests" to not show the marker on the map until after the quest is engaged. - Renamed the script_dll directory to script_assemblies which is used for csx debug support. - Updated the README.md for the scripts directory.
28 lines
871 B
C#
28 lines
871 B
C#
public class ScriptUtils
|
|
{
|
|
/**
|
|
* @brief Parses a StageLayoutId value in the form of
|
|
* StageId.LayerNo.GroupId.
|
|
*
|
|
* @param[in] layoutString String in the format of 'StageId.LayerNo.GroupId'.
|
|
*
|
|
* @return Returns the CDataStageLayoutId parsed from the layout string.
|
|
*/
|
|
public static CDataStageLayoutId ParseLayoutId(string layoutString)
|
|
{
|
|
layoutString = layoutString.Trim();
|
|
List<string> parts = layoutString.Split(".").ToList();
|
|
|
|
if (parts.Count != 3)
|
|
{
|
|
throw new Exception($"Malformed layout string '{layoutString}'. Expects format to be 'StageId.LayerNo.GroupId'.");
|
|
}
|
|
|
|
return new CDataStageLayoutId()
|
|
{
|
|
StageId = uint.Parse(parts[0]),
|
|
LayerNo = byte.Parse(parts[1]),
|
|
GroupId = uint.Parse(parts[2]),
|
|
};
|
|
}
|
|
}
|