// File: /workspace/github_cpp_makefile_star2_O2/rcolomina[P]the_charmed_house/src/operaciones.cpp
// Function: Coger::execute()
void Coger::execute()
{

//	  cout<<(*escenario)->Name()<<endl;
//	  cout<<"Parametro "<<parametro<<endl;
    // Existe el objeto especificado en parametro 1
    if((*scene)->get_existe_objeto_escenario(parametro))
    {			 
        Objeto *objeto=(*scene)->get_objeto(parametro);
        //Si se puede tirar del objeto pasado por parametro
        if(!objeto->get_value<bool>("fix"))
        {
            if(objeto->get_value<bool>("alcanzable"))
            {
                inventario.insertar_objeto(objeto);
                (*scene)->eliminar(objeto);
                cout<<Color::yellow<<"Has cogido "<<parametro<<Color::def<<endl;
            }
            else
                cout<<Color::red<<"No se puedes coger porque no es alcanzable "<<Color::def<<endl;
        }
        else
            cout<<Color::red<<"No puedes cogerlo porque esta fijado."<<parametro<<Color::def<<endl;			 
    }
    else
    {
        if(parametro!="")
            cout<<""<<parametro<<" no se puede coger."<<endl;
        else
            cout<<Color::magenta<<"Coger que?"<<Color::def<<endl;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movq 0x28(%rdi), %rax
movq 0x38(%rdi), %rsi
movq (%rax), %r15
leaq 0x28(%rsp), %r14
movq %r14, %rdi
callq 0x5430
movq %r15, %rdi
movq %r14, %rsi
callq 0x12f60
movl %eax, %ebp
leaq 0x28(%rsp), %rdi
callq 0x5638
testb %bpl, %bpl
je 0x1c22d
movq 0x28(%rbx), %rax
movq 0x38(%rbx), %rsi
movq (%rax), %r15
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x5430
movq %r15, %rdi
movq %r14, %rsi
callq 0x1c9a2
movq %rax, %r15
leaq 0x8(%rsp), %rdi
callq 0x5638
leaq 0x4eb3(%rip), %rsi      # 0x210b5
movq %r15, %rdi
callq 0x1a8f8
testb %al, %al
je 0x1c289
movq 0x12da3(%rip), %rdi     # 0x2efb8
leaq 0x1a4a8(%rip), %rsi     # 0x366c4
callq 0x1c978
leaq 0x5da1(%rip), %rsi      # 0x21fc9
jmp 0x1c2d1
movq 0x38(%rbx), %rdi
leaq 0x5403(%rip), %rsi      # 0x2163b
callq 0x136ed
movq 0x12d74(%rip), %rdi     # 0x2efb8
testb %al, %al
je 0x1c274
leaq 0x53ec(%rip), %rsi      # 0x2163b
callq 0x5310
movq 0x38(%rbx), %rsi
movq %rax, %rdi
callq 0x52d0
leaq 0x5d88(%rip), %rsi      # 0x21fef
movq %rax, %rdi
callq 0x5310
jmp 0x1c318
leaq 0x1a451(%rip), %rsi     # 0x366cc
callq 0x1c978
leaq 0x5d7c(%rip), %rsi      # 0x22003
jmp 0x1c301
leaq 0x5b10(%rip), %rsi      # 0x21da0
movq %r15, %rdi
callq 0x1a8f8
testb %al, %al
je 0x1c2e7
movq 0x30(%rbx), %rdi
movq %r15, %rsi
callq 0x16d22
movq 0x28(%rbx), %rax
movq (%rax), %rdi
movq %r15, %rsi
callq 0x13100
movq 0x12cfa(%rip), %rdi     # 0x2efb8
leaq 0x1a403(%rip), %rsi     # 0x366c8
callq 0x1c978
leaq 0x5cc0(%rip), %rsi      # 0x21f91
movq %rax, %rdi
callq 0x5310
movq 0x38(%rbx), %rsi
movq %rax, %rdi
callq 0x52d0
jmp 0x1c309
movq 0x12cca(%rip), %rdi     # 0x2efb8
leaq 0x1a3cf(%rip), %rsi     # 0x366c4
callq 0x1c978
leaq 0x5c9c(%rip), %rsi      # 0x21f9d
movq %rax, %rdi
callq 0x5310
leaq 0x1a3b0(%rip), %rsi     # 0x366c0
movq %rax, %rdi
callq 0x1c978
movq %rax, %rdi
callq 0x51a0
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1c32d
movq %rax, %rbx
movq %r14, %rdi
callq 0x5638
movq %rbx, %rdi
callq 0x55a0