コード例 #1
0
 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; };
 }
コード例 #2
0
ファイル: BankMan.cs プロジェクト: sgmtjp/Git-SODATERUTOWER
 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;
 }
コード例 #3
0
        /////////////////////////
        ///

        private void ResolveDependencies()
        {
            if (_itemsParent == null)
            {
                _itemsParent = _items[0].transform.parent.gameObject;
            }

            if (_inventory == null)
            {
                _inventory = FindObjectOfType <ItemInventoryMenu>();
            }

            if (_hotBar == null)
            {
                _hotBar = FindObjectOfType <HotBar>();
            }
        }
コード例 #4
0
 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);
 }
コード例 #5
0
    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;
        }
    }
コード例 #6
0
 public override ItemInventoryMenu setUnselectableItemConfigure(ItemInventoryMenu invmenu)
 {
     invmenu.AllowUnselectableItemType = true;
     invmenu.addSelectableItemTypes(typeof(IDungeonMaterial));
     return invmenu;
 }
コード例 #7
0
ファイル: PotBasis.cs プロジェクト: sgmtjp/Git-SODATERUTOWER
 public virtual ItemInventoryMenu setUnselectableItemConfigure(ItemInventoryMenu invmenu)
 {
     return invmenu;
 }