public DestConfig GetDestConfig(DestSelector ucDestOptions) { DestConfig DestConfig = new UploadersLib.DestConfig(); Adapter.SaveMenuConfigToList <OutputEnum>(ucDestOptions.tsddbOutputs, DestConfig.Outputs); Adapter.SaveMenuConfigToList <ClipboardContentEnum>(ucDestOptions.tsddbClipboardContent, DestConfig.TaskClipboardContent); Adapter.SaveMenuConfigToList <LinkFormatEnum>(ucDestOptions.tsddbLinkFormat, DestConfig.LinkFormat); Adapter.SaveMenuConfigToList <ImageDestination>(ucDestOptions.tsddbDestImage, DestConfig.ImageUploaders); Adapter.SaveMenuConfigToList <TextDestination>(ucDestOptions.tsddbDestText, DestConfig.TextUploaders); Adapter.SaveMenuConfigToList <FileDestination>(ucDestOptions.tsddbDestFile, DestConfig.FileUploaders); Adapter.SaveMenuConfigToList <UrlShortenerType>(ucDestOptions.tsddbDestLink, DestConfig.LinkUploaders); return(DestConfig); }
private IEnumerator SelectDest(Player player, int dicenum) { TreeNode <Square> root = new TreeNode <Square>(player.Pos); // destOptionsは「到着先のマスを指す木の葉ノード」のリスト List <TreeNode <Square> > destOptions = new List <TreeNode <Square> >(); // 多分木をつくる GenerateDestTree(destOptions, root, dicenum); // ここでdestOptionsからプレイヤーに行き先を選ばせる DestSelectEvent OnDestSelected = new DestSelectEvent(); TreeNode <Square> nodeptr = null; bool selected = false; OnDestSelected.AddListener((TreeNode <Square> dest) => { nodeptr = dest; selected = true; }); // DestSelectorを生成 List <DestSelector> destSelectors = new List <DestSelector>(); foreach (TreeNode <Square> dest in destOptions) { DestSelector temp = (DestSelector)Instantiate(destSelectorPrefab); temp.transform.position = dest.value.transform.position; temp.transform.Translate(0, 0, -1f); temp.dest = dest; temp.OnDestSelected = OnDestSelected; destSelectors.Add(temp); } while (!selected) { yield return(null); } foreach (DestSelector ds in destSelectors) { Destroy(ds.gameObject); } // 木を逆に辿りながらstackにpushしていくことで進む道順を作成する Stack <Square> directions = new Stack <Square>(); while (nodeptr.Parent != null) { directions.Push(nodeptr.value); nodeptr = nodeptr.Parent; } yield return(directions); }