Exemple #1
0
 public Button(string Name, string Text, Comands Comm) : base(Name, 0, 0, 0, Text)
 {
     InvokeCommand = Comm;
 }
Exemple #2
0
 public void NewCommand(Comands Command, string Token)
 {
     throw new NotImplementedException();
 }
Exemple #3
0
 public Button(string Name, string Text, int TabIndex, int Top, int Left, Comands Comm) : base(Name, TabIndex, Top, Left, Text)
 {
     InvokeCommand = Comm;
 }
Exemple #4
0
    public static Comands ParseItemCommand(string cmd, ComandsType typeCommands, Room currentRoom, PlayerNode player)
    {
        var retornoComando = new Comands();
        var nomeItem = cmd;
        retornoComando.Comando = "Comando inválido";
        if(typeCommands == ComandsType.UsarItem)
        {
            var openDoor = false;
            foreach (var item in currentRoom.m_ItemsRoom)
            {

                if (item.m_NameItem == nomeItem)
                {
                    var jogadorComItem = player.Inventory.Where(i => i.m_NameItem == nomeItem).Select(s => s.m_NameItem == nomeItem).FirstOrDefault();
                    if(jogadorComItem)
                    {
                        if (item.m_IsUsedItem)
                        {
                            retornoComando.Comando = "Item ja usado.";
                            break;
                        }
                        else
                        {
                            if (item.m_GetItem)
                            {
                                retornoComando.Comando = "Usar item " + nomeItem;
                                item.m_IsUsedItem = true;
                                player.Inventory.Remove(item);

                                break;
                            }
                        }
                    }
                    else{
                 		retornoComando.Comando = "Jogador esta sem o item.";
                        break;
                    }
                }

            }

            retornoComando.IsOpenDoor = currentRoom.m_ItemsRoom.All(a => a.m_IsUsedItem == true);

        }
        else if (typeCommands == ComandsType.PegarItem)
        {
            foreach (var item in currentRoom.m_ItemsRoom)
            {
                if (item.m_NameItem == nomeItem)
                {
                    if (item.m_GetItem)
                    {
                        retornoComando.Comando = "Item já foi pego.";
                        break;
                    }
                    else
                    {
                        retornoComando.Comando = "Item " + nomeItem +" adquerido.";
                        item.m_GetItem = true;
                        item.m_Collectable = false;
                        //item = GameObject.GetComponent<Room>();
                        player.Inventory.Add(item);
                        break;
                    }
                }
            }
        }
        else if (typeCommands == ComandsType.LargarItem)
        {
            foreach (var item in currentRoom.m_ItemsRoom)
            {
                if (item.m_NameItem == nomeItem)
                {
                    var jogadorComItem = player.Inventory.Where(i => i.m_NameItem == nomeItem).Select(s => s.m_NameItem == nomeItem).FirstOrDefault();
                    if(jogadorComItem)
                    {
                        if (item.m_Collectable)
                        {
                            retornoComando.Comando = "Item já foi largado.";
                            break;
                        }
                        else
                        {
                            retornoComando.Comando = "Deixou item " + nomeItem;
                            item.m_GetItem = false;
                            item.m_Collectable = true;
                            player.Inventory.Remove(item);
                            break;
                        }
                    }else{
                        retornoComando.Comando = "O jogador esta sem esse item.";
                        break;
                    }
                }
            }
        }

        return retornoComando;
    }
Exemple #5
0
    public static Comands ParseCommand(string cmd)
    {
        var retornoComando = new Comands();
        var comando = cmd.Trim().ToLower().Split(' ');
        if(comando[0] == "mover"){
            comando[0] = comando[0] + comando[1];
        }

        switch (comando[0])
        {
            case "ajuda":
                retornoComando.Comando = "";
                retornoComando.TiposComando = ComandsType.Ajuda;
                break;
            case "movernorte":
                retornoComando.Comando = "0";
                retornoComando.TiposComando = ComandsType.Direcao;
                break;
            case "moversul":
                retornoComando.Comando = "1";
                retornoComando.TiposComando = ComandsType.Direcao;
                break;
            case "moverleste":
                retornoComando.Comando = "2";
                retornoComando.TiposComando = ComandsType.Direcao;
                break;
            case "moveroeste":
                retornoComando.Comando = "3";
                retornoComando.TiposComando = ComandsType.Direcao;
                break;
            case "examinar":
                retornoComando.Comando = comando[1];
                retornoComando.TiposComando = ComandsType.DescricaoSala;
                break;
            case "usar":
                retornoComando.Comando = comando[1];
                retornoComando.TiposComando = ComandsType.UsarItem;
                break;
            case "pegar":
                retornoComando.Comando = comando[1];
                retornoComando.TiposComando = ComandsType.PegarItem;
                break;
            case "largar":
                retornoComando.Comando = comando[1];
                retornoComando.TiposComando = ComandsType.LargarItem;
                break;
            case "falar":
                retornoComando.Comando = comando[1];
                retornoComando.TiposComando = ComandsType.Falar;
                break;
         	case "cochichar":
                retornoComando.Comando = comando[1];
                retornoComando.TiposComando = ComandsType.Cochichar;
                retornoComando.playerCommand = comando[2];
                break;
            case "inventorio":
                retornoComando.Comando = "";
                retornoComando.TiposComando = ComandsType.Inventorio;
                break;
            case "mapa":
                retornoComando.Comando = "";
                retornoComando.TiposComando = ComandsType.mapa;
                break;
            default:
                retornoComando.Comando = "";
                retornoComando.TiposComando = ComandsType.Invalido;
                break;
        }
        return retornoComando;
    }
Exemple #6
0
 public Button(string Name, Comands Comm)
 {
     InvokeCommand = Comm;
     this.Name     = Name;
 }
Exemple #7
0
    public static void ContextMenu(int col, int row, Entry entry, ColorScheme scheme = ColorScheme.Default)
    {
        Comands cmd   = new Comands();
        Frame   mfr   = new Frame(col + 2, row + 1, 5, 12, "Action", scheme);
        int     index = 0;

        mfr.SetContent(0, "Create");
        mfr.SetContent(1, "Delete");
        mfr.SetContent(2, "Copy to");
        mfr.SetContent(3, "Move to");

        mfr.Show(true, false, ColorsPreset.ContextNormal);
        bool cmc = true;

        do
        {
            mfr.SetColor(ColorsPreset.ContextSelected);
            mfr.WriteText(mfr.Content[index], 0, index);
            mfr.SetColor(ColorsPreset.ContextNormal);
            var c = Console.ReadKey(true);
            switch (c.Key)
            {
            case ConsoleKey.Enter:
                switch (index)
                {
                case 0:
                    Frame creator = new Frame(30, 30, 5, 60, "Creating", ColorScheme.BIOS);
                    creator.Show(true);
                    creator.WriteText($"Create Directory or File? [D/F] ?");
                    var q = Console.ReadKey(true);
                    cmd.Create(entry, q.KeyChar);
                    break;

                case 1:
                    Frame deletor = new Frame(30, 30, 5, 60, "Deleting", ColorScheme.BIOS);
                    deletor.Show(true);
                    deletor.WriteText($"Delete {entry.Name} Y/N ?");
                    if (Console.ReadKey(true).Key == ConsoleKey.Y)
                    {
                        cmd.Delete(entry);
                    }
                    break;

                case 2:
                    Frame copyer = new Frame(30, 30, 5, 70, "Copy to", ColorScheme.BIOS);
                    copyer.Show(true);
                    copyer.WriteText($"Input destination path");
                    copyer.SetCursorPosition(0, 1);
                    copyer.WriteText("".PadRight(65, ' '));
                    copyer.SetCursorPosition(0, 1);
                    string destination = Console.ReadLine();
                    cmd.Copy(entry, destination);
                    break;

                default:
                    break;
                }
                break;

            case ConsoleKey.UpArrow: if (index > 0)
                {
                    index--;
                }
                else
                {
                    index = 3;
                } break;

            case ConsoleKey.DownArrow: if (index < 3)
                {
                    index++;
                }
                else
                {
                    index = 0;
                } break;

            case ConsoleKey.LeftArrow:
            case ConsoleKey.Escape: cmc = false; break;

            default: break;
            }
        } while (cmc);
    }
Exemple #8
0
 public bool ParseCommand(Component Subject, Comands Command, MyConsoleKeyInfo KeyInfo)
 {
     ActiveComponent = Subject;
     return(ParseCommand(Command, KeyInfo));
 }
Exemple #9
0
        public bool ParseCommand(Comands Command, MyConsoleKeyInfo KeyInfo)
        {
            switch (InputMode)
            {
            case InputMode.ControlOnly:
                try
                {
                    Comand[Command](CommandControls.InvokedBaseCommand[Command]);
                    return(true);
                }
                catch (Exception ex)
                {
                    EnqueMessage(ex);
                    return(false);
                }

            case InputMode.ControlFirst:
                try
                {
                    Comand[Command](CommandControls.InvokedBaseCommand[Command]);
                    return(true);
                }
                catch
                {
                    if (UIComponents.ParseCommand(KeyInfo))
                    {
                        if (this.Name == Active.Peek().Name)
                        {
                            ScreenChange();
                        }
                        return(true);
                    }
                    return(false);
                }

            case InputMode.InputOnly:
                if (UIComponents.ParseCommand(KeyInfo))
                {
                    if (this.Name == Active.Peek().Name)
                    {
                        ScreenChange();
                    }
                    return(true);
                }
                return(false);

            case InputMode.InputFirst:
                if (!UIComponents.ParseCommand(KeyInfo))
                {
                    try
                    {
                        Comand[Command](CommandControls.InvokedBaseCommand[Command]);
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        EnqueMessage(ex);
                        return(false);
                    }
                }
                else if (this.Name == Active.Peek().Name)
                {
                    ScreenChange();
                }
                return(true);
            }
            return(false);
        }
Exemple #10
0
 public void RegistartionBot(Comands arg)
 {
     comands = arg;
 }