示例#1
0
        public override void DoAction(NWPlayer player, string pageName, int responseID)
        {
            switch (pageName)
            {
            case "MainPage":
                switch (responseID)
                {
                // Open Overflow Inventory
                case 1:
                    NWObject storage = NWObject.Wrap(_.CreateObject(NWScript.OBJECT_TYPE_PLACEABLE, "overflow_storage", player.Location));
                    player.AssignCommand(() => _.ActionInteractObject(storage.Object));
                    break;

                // View Skills
                case 2:
                    SwitchConversation("ViewSkills");
                    break;

                // View Perks
                case 3:
                    SwitchConversation("ViewPerks");
                    break;

                // View Blueprints
                case 4:
                    SwitchConversation("ViewBlueprints");
                    break;

                // Dice Bag
                case 5:
                    player.SetLocalObject("dmfi_univ_target", player.Object);
                    player.SetLocalLocation("dmfi_univ_location", player.Location);
                    player.SetLocalString("dmfi_univ_conv", "pc_dicebag");
                    player.AssignCommand(() =>
                    {
                        _.ClearAllActions();
                        _.ActionStartConversation(player.Object, "dmfi_universal", 1, 0);
                    });
                    break;

                // Emote Menu
                case 6:
                    player.SetLocalObject("dmfi_univ_target", player.Object);
                    player.SetLocalLocation("dmfi_univ_location", player.Location);
                    player.SetLocalString("dmfi_univ_conv", "pc_emote");
                    player.AssignCommand(() =>
                    {
                        _.ClearAllActions();
                        _.ActionStartConversation(player.Object, "dmfi_universal", 1, 0);
                    });
                    break;

                // Key Item Categories Page
                case 7:
                    SwitchConversation("KeyItems");
                    break;

                // Modify Clothes
                case 8:
                    player.AssignCommand(() => _.ActionStartConversation(player.Object, "x0_skill_ctrap", 1, 0));
                    break;

                // Character Management
                case 9:
                    SwitchConversation("CharacterManagement");
                    break;

                // Open Trash Can (Destroy Items)
                case 10:
                    EndConversation();
                    NWPlaceable trashCan = NWPlaceable.Wrap(_.CreateObject(NWScript.OBJECT_TYPE_PLACEABLE, "reo_trash_can", player.Location));

                    player.AssignCommand(() => _.ActionInteractObject(trashCan.Object));
                    _.DelayCommand(0.2f, () => trashCan.IsUseable = false);
                    break;
                }
                break;
            }
        }