package LasTres::Planet::Bahdder::BosqueDelHeroe;

use v5.36.0;

use strict;
use warnings;

use feature 'signatures';

use utf8;

use Moo;

use Module::Pluggable search_path => ['LasTres::Planet::Bahdder::BosqueDelHeroe'],
    instantiate => 'instance',
    on_require_error => sub ($plugin, $error) {
        die $error;
    };

use LasTres::Planet::Bahdder;

has parent => (
    is => 'ro',
    builder => \&_build_parent,
);

with 'LasTres::SuperArea';

sub identifier {
    return 'bosque_del_heroe';
}

sub areas {
    my $self = shift;
    my $hash = {};
    my @areas = $self->plugins();
    for my $area (@areas) {
        $hash->{$area->identifier} = $area;
    }
    return $hash;
}

sub name {
    return 'Bosque del Héroe';
}

sub description {
    return 'El Bosque del Héroe es el pulmón del planeta Bahdder. '
    . 'Se cree que solo una pequeña parte de las especies que viven en el mismo han sido catalogadas. '
    . 'Los áldimor viven en este bosque en armonía con la naturaleza. '
    . 'En este bosque se encuentra la Torre de hechicería Áldimor, lugar donde los áldimor más talentosos aprenden '
    . 'a usar la magia para la guerra. ';
}

sub _build_parent {
    return LasTres::Planet::Bahdder->instance;
}

my $singleton;
sub instance {
    my $class = shift;
    if (!defined $singleton) {
        $singleton = $class->new(@_);
    }
    return $singleton;
}
1;
