protected virtual void Start() { if (windowPrefab) { windowInstance = Instantiate(windowPrefab, GameManager.Instance.selectableWindowTransform); windowInstance.Init(this); } }
public SelectableMenu(WindowText[,] texts, MyCharacterController owner,Vector2 pos, Vector2 size, string name = "SelectableMenu") : base(owner,pos,size,name) { Window = new SelectableWindow(texts,pos,size); //Window.setText(texts); }
public SelectableMenu(int rowsize,int columnsize, MyCharacterController owner, Vector2 pos, Vector2 size, string name = "SelectableMenu") : base(owner, pos, size, name) { Window = new SelectableWindow(rowsize, columnsize, pos, size); }
protected override void setMenuLabels() { List<string> list = new List<string>(8); if (Pot.BasisParameter.RemovableItem) { list.Add(pickout); if (MultiSelectedItems.Count == 0) { if (SelectedObject is UsableItemBasis) { list.Add((SelectedObject as UsableItemBasis).UseTimeLabel); if (SelectedObject is PotBasis) list.Add(lookinside); } if (CurrentMode == InventoryMode.PLYAER) { if (WindowOwner.OnItem) { list.Add(trade); } else { list.Add(put); } } if (!(SelectedObject is ShotItemBasis)) list.Add(throwitem); } } if (MultiSelectedItems.Count == 0) { if (SelectedObject.CurrentDetectionLevel == ItemBasis.DetectionLevel.UNKWON) list.Add(term); } list.Add(description); list.RemoveAll(x => x.Length == 0); WindowText[,] wts = new WindowText[list.Count, 1]; Vector2 initpos = Window.TextAreaPosition; for (int i = 0; i < wts.Length; i++) { wts[i, 0] = new WindowText(list[i], initpos + new Vector2(0, WindowConfigure.fontScale(1.1f * i))); } Vector2 size = new Vector2(WindowConfigure.fontScale(4.5f), WindowConfigure.fontScale(wts.Length * 1.5f)); Window = new SelectableWindow(wts, Window.WindowPosition, size, "SelectedItemUseMenu"); }
public DungeonCompositorMenu(PlayerController owner,CompositionLeve compositionlevel,int saveslotnumber) : base(rowsize,1,owner,pos,size,"DungeonCompositer") { this.PlayerInventoryItems = owner.Parameter.Inventory.FindAll(item => item is IDungeonMaterial).ToArray(); this.PlayerWareHouseItems = owner.Parameter.WareHouseInventory.FindAll(item => item is IDungeonMaterial).ToArray(); Window.SkipText.Add(""); Window.WindoName = "ItemList"; Window.HighLightVisibleWhenUnFocus = false; SelectedItems = new List<SelectedItemEntity>(); init(PlayerInventoryItems); CurrentCompositionLevel = compositionlevel; SelectedItemTexts = new WindowText[(int)compositionlevel]; CurrentInventory = SelectedInventory.PLAYER; resetPageText(); CurrentFocusMenu = this.Window; ButtonMenu = new SelectableWindow(1, 3,pos + new Vector2(0,this.MainWindow.WindowSize.y + 40), WindowConfigure.createFontScaleForVector(12.5f,1.8f),"Button"); ButtonMenu.HighLightVisibleWhenUnFocus = false; var buttons = new WindowText[3]; var orgpos = ButtonMenu.TextAreaPosition; int idx = 0; buttons[0] = new WindowText(WareHouseLabel, orgpos); var posdelta = buttons[idx].Position + new Vector2(WindowConfigure.fontScale(buttons[idx].Text.Length + 1.2f), 0); buttons[1] = new WindowText(SubmitButton, posdelta); idx++; posdelta = buttons[idx].Position + new Vector2(WindowConfigure.fontScale(buttons[idx].Text.Length + 0.5f), 0); buttons[2] = new WindowText(CancelButton, posdelta); for (int i = 0; i < ButtonMenu.ColumnSize; i++) { ButtonMenu.setText(buttons[i], 0, i); } ButtonMenu.CurrentPageNum = 0; ButtonMenu.SelectColumnIndex = 0; ButtonMenu.SelectRowIndex = 0; /// Vector2 viewpos = this.Window.WindowPosition; viewpos.x += this.Window.WindowSize.x+10; Vector2 viewsize = new Vector2(WindowConfigure.fontScale(12),WindowConfigure.fontScale((int)compositionlevel*1.5f)); SelectedItemWindow = new ViewOnlyWindow(viewpos, viewsize, "SelectedItem"); orgpos = SelectedItemWindow.TextAreaPosition; for (int i = 0; i < SelectedItemTexts.Length; i++) { SelectedItemTexts[i] = new WindowText("",orgpos+new Vector2(0,WindowConfigure.fontScale(i*1.05f))); } SelectedItemWindow.addWindowText(SelectedItemTexts); resetSelectItemTexts(); /// PreviewTexts = new WindowText[PreviewLables.Length]; viewpos = SelectedItemWindow.WindowPosition + new Vector2(0, SelectedItemWindow.WindowSize.y + 80); viewsize = new Vector2(WindowConfigure.fontScale(12), WindowConfigure.fontScale(PreviewTexts.Length+1.5f)); PreviewWindow = new ViewOnlyWindow(viewpos, viewsize, "Preview"); orgpos = PreviewWindow.TextAreaPosition; ///--- for (int i = 0; i < PreviewTexts.Length; i++) { PreviewTexts[i] = new WindowText(PreviewLables[i], orgpos+(new Vector2(0, WindowConfigure.fontScale(1.25f)*i))); } //PreviewTexts[0] = new WindowText(MaxRank,orgpos); //PreviewTexts[1] = new WindowText(MaxFloorNum, PreviewTexts[0].Position + new Vector2(0, WindowConfigure.fontScale(1.25f))); ///--- PreviewWindow.addWindowText(PreviewTexts); /// Compositor = new DungeonCompositor(); SaveSlotNumber = saveslotnumber; this.SubWindows.Add(PreviewWindow); this.SubWindows.Add(SelectedItemWindow); this.SubWindows.Add(ButtonMenu); /// SubmitCaption = new ViewOnlyWindow(submitpos, submitsize); SubmitCaption.addWindowText(new WindowText(SubmitText,SubmitCaption.TextAreaPosition)); SubmitMenu = new YesNoMenu(owner, SubmitCaption); SubmitMenu.YesAct = delegate () { Debug.Log("Yes"); MenuContoller.doDisableMenu(SubmitMenu); StringInputSystem.initInputMenu(owner, 12); StringInputSystem.menuOpen((text,iscancel) => { if (iscancel) return; var dgparam = Compositor.createParameter(text); GameController.DgParameterTable[SaveSlotNumber] = dgparam; for (int i = 0; i < GameController.DgParameterTable.TableSize; i++) { var param = GameController.DgParameterTable[i]; string name; if (param == null) { name = "NULL"; } else { name = param.DungeonName; } Debug.LogFormat("[{0}]:{1}", i, name); } MenuContoller.doDisableAllMenu(); }); }; SubmitMenu.NoAct = delegate () { Debug.Log("No"); SubmitMenu.cancelclose(); changeFocus(WindowFocus.BUTTON); }; /// if (PlayerInventoryItems.Length != 0) { changeFocus(WindowFocus.ITEM); } else { changeFocus(WindowFocus.BUTTON); } setOnePageTexts(); updatePreview(); }
protected void setMenuLabels(params string[] labels) { WindowText[,] wts = new WindowText[labels.Length, 1]; Vector2 initpos = Window.TextAreaPosition; for (int i = 0; i < wts.Length; i++) { wts[i, 0] = new WindowText(labels[i], initpos + new Vector2(0, WindowConfigure.fontScale(1.1f * i))); } Vector2 size = new Vector2(WindowConfigure.fontScale(4.5f), WindowConfigure.fontScale(wts.Length * 1.4f)); Window = new SelectableWindow(wts, Window.WindowPosition, size, this.MenuName); }