Skip to content

Commit

Permalink
Merge pull request #823 from uni-bremen-agst/Fix-RuntimeMenu
Browse files Browse the repository at this point in the history
Fix runtime menu
  • Loading branch information
koschke authored Feb 3, 2025
2 parents 6bf8362 + bb9ed45 commit 2240aa1
Showing 1 changed file with 2 additions and 46 deletions.
48 changes: 2 additions & 46 deletions Assets/SEE/UI/RuntimeConfigMenu/RuntimeTabMenu.cs
Original file line number Diff line number Diff line change
Expand Up @@ -606,8 +606,7 @@ private void CreateSetting(Func<object> getter, string settingName, GameObject p
// not supported
break;
case IDictionary dict:
parent = CreateNestedSetting(settingName, parent, settingName == "NodeTypes");
CreateDictAddEntry(parent, dict, settingName);
parent = CreateNestedSetting(settingName, parent);
UpdateDictChildren(parent, dict);
OnUpdateMenuValues += () => UpdateDictChildren(parent, dict);
break;
Expand Down Expand Up @@ -663,57 +662,14 @@ private void CreateSetting(Func<object> getter, string settingName, GameObject p
/// </summary>
/// <param name="settingName">setting name</param>
/// <param name="parent">container</param>
/// <param name="addVisibility">Enables the add button to add new items.</param>
/// <returns>container for child settings</returns>
private static GameObject CreateNestedSetting(string settingName, GameObject parent, bool addVisibility = false)
private static GameObject CreateNestedSetting(string settingName, GameObject parent)
{
GameObject container =
PrefabInstantiator.InstantiatePrefab(settingsObjectPrefab, parent.transform, false);
container.name = settingName;
container.GetComponentInChildren<TextMeshProUGUI>().text = settingName;
if (addVisibility)
{
MoveAddButton().Forget();
}
return container.transform.Find("Content").gameObject;

async UniTask MoveAddButton()
{
RectTransform titleCollapse = container.transform.Find("TitleCollapse").GetComponent<RectTransform>();
Transform addTransform = container.transform.Find("TitleCollapse/Add");
addTransform.gameObject.SetActive(true);
await UniTask.WaitUntil(() => titleCollapse.rect.width != 0)
.ContinueWith(() => addTransform.DOLocalMoveX(titleCollapse.rect.width + titleCollapse.rect.x - 25, 0));
}
}

private void CreateDictAddEntry(GameObject parent, IDictionary dict, string settingName)
{
ButtonManagerBasicIcon addBtn = parent.transform.parent.Find("TitleCollapse/Add").GetComponent<ButtonManagerBasicIcon>();
addBtn.clickEvent.AddListener(() =>
{
switch (settingName)
{
case "NodeTypes":
AddNodeType().Forget();
break;
default:
break;
}
});
return;
async UniTask AddNodeType()
{
AddNodeTypeProperty nodeTypeProperty = new();
nodeTypeProperty.Open(city);
string nodeTypeName = null;
await UniTask.WaitUntil(() => nodeTypeProperty.TryGetNodeTypeName(out nodeTypeName) || nodeTypeProperty.WasCanceled());
if (nodeTypeName != null)
{
dict.Add(nodeTypeName, new VisualNodeAttributes());
UpdateDictChildren(parent, dict);
}
}
}

/// <summary>
Expand Down

0 comments on commit 2240aa1

Please sign in to comment.