protected virtual void initMenu(MyCharacterController user) { User = user; Menu = new ItemInventoryMenu(user); Menu.Window.MultiSelectMode = MulitiSelectMode; Menu.initHeadLabel("どれを?"); Menu.SubmitAct = SubmitAct; Menu.CancelAct = () => { OperationCancel = true; }; }
protected override void initTalkAction() { base.initTalkAction(); selectmenu.setChoicesLabels(labels); selectmenu.ChoicesAction = action; message.setMessage(firstmessage); invmenu = new ItemInventoryMenu(GameController.MainPlayer,submitact); bankdislplay = new ViewOnlyWindow(WindowConfigure.createScreenPoint(0.5f, 0.3f), WindowConfigure.createFontScaleForVector(16f, 3f)); WindowText[] wts = new WindowText[2]; wts[0] = new WindowText("", bankdislplay.TextAreaPosition); wts[1] = new WindowText("", bankdislplay.TextAreaPosition+WindowConfigure.createFontScaleForVector(0,1.5f)); bankdislplay.addWindowText(wts); TalkAction.setTalkActions(new OpenMenu(message),new OpenMenu(selectmenu)); TalkAction.PreOperation = preoperaion; }
///////////////////////// /// private void ResolveDependencies() { if (_itemsParent == null) { _itemsParent = _items[0].transform.parent.gameObject; } if (_inventory == null) { _inventory = FindObjectOfType <ItemInventoryMenu>(); } if (_hotBar == null) { _hotBar = FindObjectOfType <HotBar>(); } }
public PlayerMainMenu(MyCharacterController owner) : base(owner,pos,size,"MainMenu") { WindowText[,] menus = new WindowText[2,2]; menus[0, 0] = new WindowText(inventory, Window.TextAreaPosition+new Vector2(0,-5)); menus[1, 0] = new WindowText(underfoot, menus[0,0].Position+new Vector2(0,WindowConfigure.fontScale(scale))); menus[0, 1] = new WindowText(logs, menus[0, 0].Position + new Vector2(WindowConfigure.fontScale(menus[0, 0].Text.Length+0.5f), 0)); menus[1, 1] = new WindowText(others, menus[0, 0].Position + new Vector2(WindowConfigure.fontScale(menus[0, 0].Text.Length+0.5f), WindowConfigure.fontScale(scale))); Window.setText(menus); Window.MultiSelectMode = false; initParameterWindow(); invmenu = new ItemInventoryMenu(owner); submitsave = new YesNoMenu(owner,new ViewOnlyWindow(WindowConfigure.ScreenCenter,WindowConfigure.createFontScaleForVector(13,2))); submitsave.CaptionWindow.addWindowText(new WindowText("冒険を中断しますか?",submitsave.CaptionWindow.TextAreaPosition)); submitsave.YesAct = yesaction; submitsave.NoAct = noaction; SubWindows.Add(ParameterWindow); }
protected override void normalAction() { ItemInventory targetinv = WindowOwner.Parameter.Inventory; // 使う if (SelectedObject is UsableItemBasis) { MenuContoller.doDisableAllMenu(); UsableItemBasis item = SelectedObject as UsableItemBasis; if (Window.SelectedText.Equals(item.UseTimeLabel)) { if (CurrentMode == InventoryMode.FIELD && !SelectedObject.canPickUp()) { return; } GameController.ActCommandController.registerCommand(new CMD_UseItem((WindowOwner as PlayerController), item, CurrentMode));//item.doUse(WindowOwner, WindowOwner.gameObject); } //WindowOwner.acted(); } switch (Window.SelectedText) { case trade: // 交換 MenuContoller.doDisableAllMenu(); switch (CurrentMode) { case InventoryMode.PLYAER: //(WindowOwner as PlayerController).tradeItem(SelectedObject, targetinv); GameController.ActCommandController.registerCommand( new CMD_TradeItem(WindowOwner as PlayerController,SelectedObject, targetinv)); WindowOwner.acted(); break; case InventoryMode.FIELD: if (SelectedObject.canPickUp()) { var invmenu = new ItemInventoryMenu(this.WindowOwner); invmenu.SubmitAct = delegate { MenuContoller.doDisableAllMenu(); GameController.ActCommandController.registerCommand(new CMD_TradeItem(WindowOwner as PlayerController, invmenu.SelectedItem, targetinv)); //(WindowOwner as PlayerController).tradeItem(invmenu.SelectedItem, targetinv); WindowOwner.acted(); }; invmenu.open(); } break; } break; case put: // 置く MenuContoller.doDisableAllMenu(); GameController.ActCommandController.registerCommand(new CMD_PutItem((WindowOwner as PlayerController), SelectedObject, targetinv)); WindowOwner.acted(); break; case equip: // 装備 MenuContoller.doDisableAllMenu(); GameController.ActCommandController.registerCommand(new CMD_EquipItem(WindowOwner as PlayerController, SelectedObject as EquipmentItemBasis)); //(WindowOwner as PlayerController).equip(SelectedObject as EquipmentItemBasis); if(!(SelectedObject is ShotItemBasis)) WindowOwner.acted(); break; case remove: // 外す MenuContoller.doDisableAllMenu(); GameController.ActCommandController.registerCommand(new CMD_RemovaEqipment(WindowOwner as PlayerController, SelectedObject as EquipmentItemBasis)); //(WindowOwner as PlayerController).removeEquipment(SelectedObject.Code); if (!(SelectedObject is ShotItemBasis)) WindowOwner.acted(); break; case term: // 名前 naming(); break; case description: // 説明 DescriptionMenu.open(SelectedObject); //MenuContoller.doEnableMenu(DescriptionMenu); break; case lookinside: // 見る (SelectedObject as PotBasis).openInventory(WindowOwner,CurrentMode); break; case throwitem: // 投げる MenuContoller.doDisableAllMenu(); if (CurrentMode == InventoryMode.FIELD) { if(!SelectedObject.canPickUp()) return; targetinv = null; } GameController.ActCommandController.registerCommand(new CMD_ThrowItem((WindowOwner as PlayerController),SelectedObject,targetinv)); //WindowOwner.throwItem(SelectedObject,targetinv); WindowOwner.acted(); break; case shot: MenuContoller.doDisableAllMenu(); GameController.ActCommandController.registerCommand(new CMD_Shot((WindowOwner as PlayerController), SelectedObject as ShotItemBasis)); //(SelectedObject as ShotItemBasis).shot(WindowOwner); WindowOwner.acted(); break; case pickup: MenuContoller.doDisableAllMenu(); GameController.ActCommandController.registerCommand(new CMD_PickUpItem((WindowOwner as PlayerController),SelectedObject)); WindowOwner.acted(); break; default: ISpecialUseActionItem spitem = SelectedObject as ISpecialUseActionItem; if (spitem != null) { MenuContoller.doDisableAllMenu(); spitem.specialUseAction(WindowOwner); } break; } }
public override ItemInventoryMenu setUnselectableItemConfigure(ItemInventoryMenu invmenu) { invmenu.AllowUnselectableItemType = true; invmenu.addSelectableItemTypes(typeof(IDungeonMaterial)); return invmenu; }
public virtual ItemInventoryMenu setUnselectableItemConfigure(ItemInventoryMenu invmenu) { return invmenu; }