public Interactuable GetIntFromMeta(InteractuableMetadata meta)
        {
            Interactuable interactuable = new Interactuable(meta.interactuableID);

            interactuable.setCapacidad(meta.capacidad);
            if (meta.returnToBase)
            {
                interactuable.Return();
            }
            var recursos     = builder.getRelJugadorRecursoHandler().getRecursosByColonia(meta.interactuableID);
            var destacamento = builder.getRelJugadorDestacamentoHandler().getDestacamentosByColonia(meta.interactuableID);

            var recursoToAssign = new List <RelJugadorRecurso>();
            var flotaToAssign   = new List <RelJugadorDestacamento>();
            var defensaToAssign = new List <RelJugadorDestacamento>();

            foreach (var rec in meta.recursos)
            {
                int id    = -1;
                int value = -1;
                foreach (var s in rec.ToBsonDocument().ToArray())
                {
                    if (s.Name.Equals("_id"))
                    {
                        id = s.Value.ToInt32();
                    }
                    else
                    {
                        value = s.Value.ToInt32();
                    }
                }
                var recurso = recursos.Where(c => c.recurso.id == id).ToList().First();
                recurso.cantidadR = value;
                recursoToAssign.Add(recurso);
            }
            foreach (var rec in meta.flota)
            {
                int id    = -1;
                int value = -1;
                foreach (var s in rec.ToBsonDocument().ToArray())
                {
                    if (s.Name.Equals("_id"))
                    {
                        id = s.Value.ToInt32();
                    }
                    else
                    {
                        value = s.Value.ToInt32();
                    }
                }
                var flota = destacamento.Where(c => c.destacamento.id == id).ToList().First();
                flota.cantidad = value;
                flotaToAssign.Add(flota);
            }
            foreach (var rec in meta.defensa)
            {
                int id    = -1;
                int value = -1;
                foreach (var s in rec.ToBsonDocument().ToArray())
                {
                    if (s.Name.Equals("_id"))
                    {
                        id = s.Value.ToInt32();
                    }
                    else
                    {
                        value = s.Value.ToInt32();
                    }
                }
                var defensa = destacamento.Where(c => c.destacamento.id == id).ToList().First();
                defensa.cantidad = value;
                defensaToAssign.Add(defensa);
            }
            interactuable.SetDefensas(defensaToAssign.Cast <IDestacamento>().ToList());
            interactuable.SetRecursos(recursoToAssign.Cast <IResources>().ToList());
            interactuable.SetFlota(flotaToAssign.Cast <IDestacamento>().ToList());
            return(interactuable);
        }