private static TextComponent PopulateComponent(TextComponent component, JsonElement root) { if (root.TryGetProperty("color", out var colorElement)) { var color = colorElement.GetString(); component.Color = TextComponentHelper.GetColorFromName(color); } var styles = TextComponentHelper.Styles; foreach (var style in styles) { var styleName = style.GetStyleName(); if (!root.TryGetProperty(styleName, out var styleElement)) { continue; } var hasStyle = styleElement.GetBoolean(); if (hasStyle) { component.Style |= style; } else { component.Style &= ~style; } } if (!root.TryGetProperty("extra", out var extraElement)) { return(component); } var enumerator = extraElement.EnumerateArray(); foreach (var element in enumerator) { var child = BuildComponent(element); var populatedChild = PopulateComponent(child, element); component.Children.Add(populatedChild); } return(component); }
void Start() { //Debug.Log("".IndexOf()); // 初期データのインスタンスがない場合は、データを再ロードする。 isDataReady = TextFileHelper.IsExist(Const.Path.MasterData.escapeInput) && ScenarioRepository.Count != 0; if (!isDataReady && TextFileHelper.IsExist(Const.Path.MasterData.escapeInput)) { GameController.Instance.Init(); isDataReady = true; } viewController = GameObject.FindObjectOfType <StorySceneViewController>(); scenarioManager = GameObject.FindObjectOfType <ScenarioManager>(); escapeManager = GameObject.FindObjectOfType <EscapeManager>(); viewController.Init(); scenarioManager.Init(); textHelper = new TextComponentHelper(viewController.contentText); if (isDataReady) { scenarioManager.Next(); } }