<?php


namespace App\Model\Facades;


use App\Model\Facades\Readers\CharacterClassReader;
use App\Model\Facades\Readers\CharacterReader;
use App\Model\Facades\Readers\FactionReader;
use App\Model\Facades\Readers\GameReader;
use App\Model\Facades\Readers\InstanceReader;
use App\Model\Facades\Readers\PlatformReader;
use App\Model\Facades\Readers\PublisherReader;
use App\Model\Facades\Readers\RaceReader;
use App\Model\Facades\Readers\RegionReader;
use App\Model\Facades\Readers\ServerReader;
use App\Model\Facades\Readers\StudioReader;
use App\Model\Facades\Writers\CharacterClassWriter;
use App\Model\Facades\Writers\CharacterWriter;
use App\Model\Facades\Writers\FactionWriter;
use App\Model\Facades\Writers\GameWriter;
use App\Model\Facades\Writers\InstanceWriter;
use App\Model\Facades\Writers\PlatformWriter;
use App\Model\Facades\Writers\PublisherWriter;
use App\Model\Facades\Writers\RaceWriter;
use App\Model\Facades\Writers\RegionWriter;
use App\Model\Facades\Writers\ServerWriter;
use App\Model\Facades\Writers\StudioWriter;

class GameFacade extends BaseFacade
{
    /** @var CharacterClassReader */
    protected $characterClassReader;
    /** @var CharacterClassWriter */
    protected $characterClassWriter;
    /** @var CharacterReader */
    protected $characterReader;
    /** @var CharacterWriter */
    protected $characterWriter;
    /** @var FactionReader */
    protected $factionReader;
    /** @var FactionWriter */
    protected $factionWriter;
    /** @var GameReader */
    protected $gameReader;
    /** @var GameWriter */
    protected $gameWriter;
    /** @var InstanceReader */
    protected $instanceReader;
    /** @var InstanceWriter */
    protected $instanceWriter;
    /** @var PlatformReader */
    protected $platformReader;
    /** @var PlatformWriter */
    protected $platformWriter;
    /** @var PublisherReader */
    protected $publisherReader;
    /** @var PublisherWriter */
    protected $publisherWriter;
    /** @var RaceReader */
    protected $raceReader;
    /** @var RaceWriter */
    protected $raceWriter;
    /** @var RegionReader */
    protected $regionReader;
    /** @var RegionWriter */
    protected $regionWriter;
    /** @var ServerReader */
    protected $serverReader;
    /** @var ServerWriter */
    protected $serverWriter;
    /** @var StudioReader */
    protected $studioReader;
    /** @var StudioWriter */
    protected $studioWriter;

    public function __construct(CharacterClassReader $characterClassReader, CharacterClassWriter $characterClassWriter,
                                CharacterReader $characterReader, CharacterWriter $characterWriter,
                                FactionReader $factionReader, FactionWriter $factionWriter,
                                GameReader $gameReader, GameWriter $gameWriter,
                                InstanceReader $instanceReader, InstanceWriter $instanceWriter,
                                PlatformReader $platformReader, PlatformWriter $platformWriter,
                                PublisherReader $publisherReader, PublisherWriter $publisherWriter,
                                RaceReader $raceReader, RaceWriter $raceWriter,
                                RegionReader $regionReader, RegionWriter $regionWriter,
                                ServerReader $serverReader, ServerWriter $serverWriter,
                                StudioReader $studioReader, StudioWriter $studioWriter)
    {
        $this->characterClassReader = $characterClassReader;
        $this->characterClassWriter = $characterClassWriter;
        $this->characterReader = $characterReader;
        $this->characterWriter = $characterWriter;
        $this->factionReader = $factionReader;
        $this->factionWriter = $factionWriter;
        $this->gameReader = $gameReader;
        $this->gameWriter = $gameWriter;
        $this->instanceReader = $instanceReader;
        $this->instanceWriter = $instanceWriter;
        $this->platformReader = $platformReader;
        $this->platformWriter = $platformWriter;
        $this->publisherReader = $publisherReader;
        $this->publisherWriter = $publisherWriter;
        $this->raceReader = $raceReader;
        $this->raceWriter = $raceWriter;
        $this->regionReader = $regionReader;
        $this->regionWriter = $regionWriter;
        $this->serverReader = $serverReader;
        $this->serverWriter = $serverWriter;
        $this->studioReader = $studioReader;
        $this->studioWriter = $studioWriter;
    }

    /**
     * @return CharacterClassReader
     */
    public function getCharacterClassReader()
    {
        return $this->characterClassReader;
    }

    /**
     * @return CharacterClassWriter
     */
    public function getCharacterClassWriter()
    {
        return $this->characterClassWriter;
    }

    /**
     * @return CharacterReader
     */
    public function getCharacterReader()
    {
        return $this->characterReader;
    }

    /**
     * @return CharacterWriter
     */
    public function getCharacterWriter()
    {
        return $this->characterWriter;
    }

    /**
     * @return FactionReader
     */
    public function getFactionReader()
    {
        return $this->factionReader;
    }

    /**
     * @return FactionWriter
     */
    public function getFactionWriter()
    {
        return $this->factionWriter;
    }

    /**
     * @return GameReader
     */
    public function getGameReader()
    {
        return $this->gameReader;
    }

    /**
     * @return GameWriter
     */
    public function getGameWriter()
    {
        return $this->gameWriter;
    }

    /**
     * @return InstanceReader
     */
    public function getInstanceReader()
    {
        return $this->instanceReader;
    }

    /**
     * @return InstanceWriter
     */
    public function getInstanceWriter()
    {
        return $this->instanceWriter;
    }

    /**
     * @return PlatformReader
     */
    public function getPlatformReader()
    {
        return $this->platformReader;
    }

    /**
     * @return PlatformWriter
     */
    public function getPlatformWriter()
    {
        return $this->platformWriter;
    }

    /**
     * @return PublisherReader
     */
    public function getPublisherReader()
    {
        return $this->publisherReader;
    }

    /**
     * @return PublisherWriter
     */
    public function getPublisherWriter()
    {
        return $this->publisherWriter;
    }

    /**
     * @return RaceReader
     */
    public function getRaceReader()
    {
        return $this->raceReader;
    }

    /**
     * @return RaceWriter
     */
    public function getRaceWriter()
    {
        return $this->raceWriter;
    }

    /**
     * @return RegionReader
     */
    public function getRegionReader()
    {
        return $this->regionReader;
    }

    /**
     * @return RegionWriter
     */
    public function getRegionWriter()
    {
        return $this->regionWriter;
    }

    /**
     * @return ServerReader
     */
    public function getServerReader()
    {
        return $this->serverReader;
    }

    /**
     * @return ServerWriter
     */
    public function getServerWriter()
    {
        return $this->serverWriter;
    }

    /**
     * @return StudioReader
     */
    public function getStudioReader()
    {
        return $this->studioReader;
    }

    /**
     * @return StudioWriter
     */
    public function getStudioWriter()
    {
        return $this->studioWriter;
    }
}