Ejemplo n.º 1
0
        public void Initialize(UserConfigurationManager config, UnityReferenceMaster unityReferenceMaster)
        {
            _cameraTransform = unityReferenceMaster.Camera.transform;
            _audio           = GetComponent <AudioSource>();

            _config = config;
            _unityReferenceMaster = unityReferenceMaster;
            _unityReferenceMaster.OnGamePausedChangedEvent += OnGamePausedChanged;
            _config.OnGameVolumeChangedEvent  += OnGameVolumeChanged;
            _config.OnMusicVolumeChangedEvent += OnMusicVolumeChanged;

            MarkAsInitialized();
        }
Ejemplo n.º 2
0
        public void Initialize(UserConfigurationManager config, UnityReferenceMaster unityReferenceMaster)
        {
            _cameraTransform = unityReferenceMaster.Camera.transform;
            _audio = GetComponent<AudioSource>();

            _config = config;
            _unityReferenceMaster = unityReferenceMaster;
            _unityReferenceMaster.OnGamePausedChangedEvent += OnGamePausedChanged;
            _config.OnGameVolumeChangedEvent += OnGameVolumeChanged;
            _config.OnMusicVolumeChangedEvent += OnMusicVolumeChanged;

            MarkAsInitialized();
        }
Ejemplo n.º 3
0
        public PoolingAudioPlayer(Logger logger, UserConfigurationManager config, UnityReferenceMaster unityReferenceMaster, GameObject audioSourcePrefab)
        {
            _logger = logger;
            _config = config;

            _sourceParent      = Object.Instantiate(new GameObject());
            _sourceParent.name = "audio_source_parent";

            _sources = new PooledAudioSource[NumberOfSources];

            for (var i = 0; i < NumberOfSources; i++)
            {
                _sources[i] = Object.Instantiate(audioSourcePrefab).GetComponent <PooledAudioSource>();
                _sources[i].transform.SetParent(_sourceParent.transform);
                _sources[i].Initialize(config, unityReferenceMaster);
            }
        }
Ejemplo n.º 4
0
        public PoolingAudioPlayer(Logger logger, UserConfigurationManager config, UnityReferenceMaster unityReferenceMaster, GameObject audioSourcePrefab)
        {
            _logger = logger;
            _config = config;

            _sourceParent = Object.Instantiate(new GameObject());
            _sourceParent.name = "audio_source_parent";

            _sources = new PooledAudioSource[NumberOfSources];

            for (var i = 0; i < NumberOfSources; i++)
            {
                _sources[i] = Object.Instantiate(audioSourcePrefab).GetComponent<PooledAudioSource>();
                _sources[i].transform.SetParent(_sourceParent.transform);
                _sources[i].Initialize(config, unityReferenceMaster);
            }
        }
Ejemplo n.º 5
0
        public void Start()
        {
            /* RESOURCE LIST CREATION */
            #if UNITY_EDITOR
            AssetDatabase.Refresh();
            FileServices.CreateResourcesList("Assets/Resources/resourceslist.txt");
            #endif
            FileServices.LoadResourcesList("resourceslist");

            #region LOAD RESOURCES
            // logger and ioc
            _logger = new Logger("info.log", false);
            _resolver = new IoCResolver(_logger);
            _resolver.RegisterItem(_logger);

            _config = new UserConfigurationManager(new UserConfigurationData
            {
                GameVolume = 1f,
                MusicVolume = 1f
            });
            _resolver.RegisterItem(_config);

            // messager
            _messager = new Messager();
            _resolver.RegisterItem(_messager);

            // unity reference master
            _unity = GetComponent<UnityReferenceMaster>();
            _unity.DebugModeActive = false;
            _resolver.RegisterItem(_unity);

            // player
            var player = new UserAccountManager();
            _resolver.RegisterItem(player);

            // material provider
            var materialProvider = new MaterialProvider(_logger);
            MaterialLoader.LoadMaterial(materialProvider,"Materials");
            _resolver.RegisterItem(materialProvider);

            // texture provider
            var textureProvider = new TextureProvider(_logger);
            var spriteProvider = new SpriteProvider(_logger);
            TextureLoader.LoadTextures(textureProvider, spriteProvider, "Textures");
            _resolver.RegisterItem(textureProvider);
            _resolver.RegisterItem(spriteProvider);

            // sound provider
            var soundProvider = new SoundProvider(_logger);
            SoundLoader.LoadSounds(_logger, soundProvider, "Sounds");
            _resolver.RegisterItem(soundProvider);

            // prefab provider
            var prefabProvider = new PrefabProvider(_logger);
            PrefabLoader.LoadPrefabs(prefabProvider);
            _resolver.RegisterItem(prefabProvider);

            // pooling
            var poolingObjectManager = new PoolingObjectManager(_logger, prefabProvider);
            _resolver.RegisterItem(poolingObjectManager);

            var soundPoolManager = new PoolingAudioPlayer(_logger, _config, _unity, prefabProvider.GetPrefab("audio_source_prefab"));
            _resolver.RegisterItem(soundPoolManager);

            _particles = new PoolingParticleManager(_resolver);
            _resolver.RegisterItem(_particles);

            // canvas provider
            var canvasProvider = new CanvasProvider(_logger);
            _unity.LoadCanvases(canvasProvider);
            _resolver.RegisterItem(canvasProvider);

            // data provider
            var gameDataProvider = new GameDataProvider(_logger);

            /* DATA GOES HERE */

            _resolver.RegisterItem(gameDataProvider);
            #endregion

            _uiManager = new UiManager();
            _resolver.RegisterItem(_uiManager);

            // lock the resolver (stop any new items being registered)
            _resolver.Lock();

            /* BEGIN STATE */
            _currentState = new MenuState(_resolver);
            _currentState.Initialize();

            /* SUBSCRIBE FOR GAME END */
            _onExit = _messager.Subscribe<ExitMessage>(OnExit);
        }