コード例 #1
0
    private void CreateDependecies()
    {
        var uiButtonsPopup = _btnGameObject.GetComponent <UiButtonsPopups>();

        uiButtonsPopup.SetDependecies(_publisher);
        _audioManager.SetDependecies(_soundGameObject);
        _publisher.Publish(this, new CustomEventArgs(GameEventName.GoStageStartGame));
        _configurateManager.SetDependecies(_poolParent, _defaultCard);
        _objectStorage.CreateAllPools();

        _gameManager.SetUiComponents(_hud, _deckInGame);
        _gameManager.PlaceObjects();
        _deckManager.SetUiComponents(_hud, _pointStopDrag, _pointReturnCard);
        _deckManager.PlaceObjects();
        _enemyManager.SetDependecies(_panelEnemy);
        _alliesManager.SetDependecies(_panelAllies);
        _tokenRewardManager.SetDependecies(_panelPlayers);
        _activateCardManager.SetDependecies(_iconСounterCardPlay);

        uiButtonsPopup = _btnEndTurn.GetComponent <UiButtonsPopups>();
        uiButtonsPopup.SetDependecies(_publisher);
        _publisher.AddSubscriber(uiButtonsPopup);
        uiButtonsPopup = _btnMenu.GetComponent <UiButtonsPopups>();
        uiButtonsPopup.SetDependecies(_publisher);
        _publisher.AddSubscriber(uiButtonsPopup);

        var cardPlaceInSlot = _objectStorage.GetPollObjects(ObjectTypeEnum.PrefabCard, 1)[0];

        cardPlaceInSlot.transform.SetParent(_popupPlaceInSlot.transform);
        cardPlaceInSlot.SetActive(true);
        cardPlaceInSlot.GetComponent <RectTransform>().SetRect(0.0614f, 0.0575f, 0.412f, 0.9422f);
        cardPlaceInSlot.GetComponent <RectTransform>().SetOffset(0, 0, 0, 0);

        _popupDescriptionCard.AddComponent <ClickHandlerPopupCard>();
        var component = _popupDescriptionCard.GetComponent <ClickHandlerPopupCard>();

        component.SetDependecies(_publisher);

        var rect = _panelAllies.GetComponent <RectTransform>();

        _panelAllies.GetComponent <BoxCollider2D>().SetSizeBox2D(rect, 10f, 10f);

        _targetManager.SetDependecies(_targetPointer, _targetPlayer, _hud);
        _popupManagers.PopupGameMenu.SetDependecies(_popupGameMenu);
        _popupManagers.PopupInventory.SetDependecies(_popupInventory);
        _popupManagers.PopupEvent.SetDependecies(_popupEvent);
        _popupManagers.PopupPlayers.SetDependecies(_popupPlayers);
        _popupManagers.PopupInventory.SearchAndSetHolders(_popupManagers.PopupPlayers.GetArrayPlayers());
        _publisher.Publish(this,
                           new CustomEventArgs(GameEventName.GoCreateBarsPlayers, _popupManagers.PopupPlayers.GetArrayPlayers()));

        _popupManagers.PopupDescriptionCard.SetDependecies(_popupDescriptionCard);
        _popupManagers.PopupPlaceInSlot.SetDependecies(_popupPlaceInSlot, cardPlaceInSlot);
        _popupManagers.PopupRewardEvent.SetDependecies(_popupRewardEvent, _btnContinuePopupReward);
    }
コード例 #2
0
    private void CreatePanelPlayers()
    {
        var holder        = _popupPlayers.GetComponentsInChildren <Transform>().SearchChild("PopupPlayers");
        var holderPlayers = holder.gameObject; //найдем панель под иконки игроков

        //----------------------------
        _arrayPlayers = _objectStorage.GetPollObjects(ObjectTypeEnum.PrefabIconPlayer, 4);
        var players      = _objectStorage.GetDictionaryCards(SubTypeCard.GameClass);
        var playersCards = new List <ICard>(players.Values);
        var count        = 0;

        foreach (var obj in _arrayPlayers)
        {
            var gameclass = playersCards[count].GetDataCard().GameClass;
            var points    = _dictionaryPoints[gameclass];
            _configurateManager.Configurate(obj, holderPlayers, true,
                                            points[0], points[1], points[2], points[3]);
            var componentObj = obj.GetComponent <ActionsWithCardGameClass>();
            componentObj.СhangeCardType(playersCards[count]);
            var icon = obj.GetComponentsInChildren <Transform>().SearchChild("Icon");
            icon.GetComponent <Image>().sprite = componentObj.CardGame.GetDataCard().Art;
            componentObj.SetDependecies(_publisher);
            if (gameclass == GameClass.Red)
            {
                componentObj.SetSelected();
            }

            var rect = obj.GetComponent <RectTransform>();
            obj.GetComponent <BoxCollider2D>().SetSizeBox2D(rect, 10f, 10f);
            _publisher.AddSubscriber(componentObj);
            _publisher.Publish(null, new CustomEventArgs(GameEventName.SpawnPlayer, obj));
            count++;
        }
    }
コード例 #3
0
 public void SetDependecies(ISaveManager saveManager, IAnimaManager animaManager, IPublisher publisher, IAudioManager audioManager)
 {
     _saveManager  = saveManager;
     _animaManager = animaManager;
     _publisher    = publisher;
     _audioManager = audioManager;
     _audioManager.SetDependecies(_soundGameObject);
     _publisher.AddSubscriber(this);
 }
コード例 #4
0
ファイル: GameManager.cs プロジェクト: tsvetkov89/test
        private void Initialization()
        {
            _objectsOnScene = new Dictionary <GameObject, ObjectData>();
            _publisher.AddSubscriber(GameEventName.CreateNewObject, this);
            _publisher.AddSubscriber(GameEventName.ClickedObject, this);

            var file    = _objectLoader.Load <TextAsset>("JsonFiles/ObjectTypes");
            var content = file.text;

            _objectTypes = new List <string>(4);
            var objects = JsonUtility.FromJson <Objects>(content);

            for (var i = 0; i < objects.BaseObjects.Length; i++)
            {
                var item = objects.BaseObjects[i];
                _objectTypes.Add(item.ObjectType);
            }

            _clickColorDatasByObjectType = new Dictionary <string, List <ClickColorData> >();
            var geometryObjectData =
                _objectLoader.Load <GeometryObjectData>("ScriptableObject/GeometryObjectData/Default");

            for (var i = 0; i < geometryObjectData.ClicksData.Count; i++)
            {
                var data = geometryObjectData.ClicksData[i];
                if (_clickColorDatasByObjectType.ContainsKey(data.ObjectType))
                {
                    _clickColorDatasByObjectType[data.ObjectType].Add(data);
                }
                else
                {
                    _clickColorDatasByObjectType[data.ObjectType] = new List <ClickColorData>
                    {
                        data
                    };
                }
            }

            var gameData = _objectLoader.Load <GameData>("ScriptableObject/GameData/Default");

            _observableTime = gameData.ObservableTime;
        }
コード例 #5
0
 public NewsWindow(IPublisher publisher)
 {
     InitializeComponent();
     Messages   = new ObservableCollection <string>();
     Subscriber = new NewsSubscriber(Messages)
     {
         SubscriberType = SubscriberType.News
     };
     publisher.AddSubscriber(Subscriber);
     DataContext    = this;
     this.publisher = publisher;
 }
コード例 #6
0
    private void SetDependecies(ILogicManager logicManager)
    {
        _popupManagers      = logicManager.PopupManagers;
        _tokenRewardManager = logicManager.GameManagers.TokenRewardManager;

        _saveManager         = logicManager.BaseManagers.SaveManager;
        _animaManager        = logicManager.BaseManagers.AnimaManager;
        _objectStorage       = logicManager.BaseManagers.ObjectStorage;
        _publisher           = logicManager.BaseManagers.Publisher;
        _gameManager         = logicManager.GameManagers.GameManager;
        _coroutiner          = logicManager.BaseManagers.Coroutiner;
        _deckManager         = logicManager.GameManagers.DeckManager;
        _targetManager       = logicManager.GameManagers.TargetManager;
        _enemyManager        = logicManager.GameManagers.EnemyManager;
        _alliesManager       = logicManager.GameManagers.AlliesManager;
        _configurateManager  = logicManager.BaseManagers.ConfigurateManager;
        _audioManager        = logicManager.BaseManagers.AudioManager;
        _activateCardManager = logicManager.GameManagers.ActivateCardManager;
        _publisher.AddSubscriber(this);
    }
コード例 #7
0
    IEnumerator SpawnCardClass()
    {
        _cardClassPrefab = Resources.LoadAll <GameObject>("Prefabs/CardPrefab");
        _allcards        = Resources.LoadAll <CardsGameClass>("CardsClass/");
        _cardInGame      = new GameObject[_allcards.Length];
        //---------------добавляю карты на сцену
        for (int i = 0; i < _allcards.Length; i++)
        {
            _cardInGame[i] = Instantiate(_cardClassPrefab[0], _deck.transform, false);
            _cardInGame[i].transform.localPosition = new Vector3(0, 0f, 0f);
            ActionsWithCard cardDis = _cardInGame[i].GetComponent <ActionsWithCard>();
            cardDis.CardSetup(_allcards[i]);
            _animaManager.SetStateAnima(_cardInGame[i], "dist_num", i + 1);
            yield return(new WaitForSeconds(0.5f));
        }
        //добавляю карту на панель описания класса
        GameObject card = Instantiate(_cardClassPrefab[0], _popupClass.transform, false);

        card.transform.localPosition = new Vector3(-620f, 10f, 0f);
        card.transform.localScale    = new Vector3(1.5f, 1.5f, 0f);

        _classPopup = new PopupClass(_popupClass, card);
        _publisher.AddSubscriber(_classPopup);
    }
コード例 #8
0
 public Tom(IPublisher publisher)
 {
     publisher.AddSubscriber(this);
 }
コード例 #9
0
 public void Subscribe(IPublisher publisher)
 {
     publisher.AddSubscriber(this);
 }
コード例 #10
0
    void Start()
   {
       _publisher = new Publisher();

       _saveManager = new SaveManager();
       _animaManager = new AnimaManager();
       _objectLoader = new ObjectLoader();
       _configurateManager = new ConfigurateManager();

       _objectStorage = new ObjectStorage(_objectLoader,_configurateManager);
       _tokenRewardManager = new TokenRewardManager(_publisher, _animaManager, _objectStorage,_configurateManager);
       _audioManager = new AudioManager(_objectStorage, _coroutiner);
       _barsPlayerManager = new BarsPlayerManager(_objectStorage);

       _inventoryManager = new InventoryManager(_objectStorage, _publisher, _coroutiner,_configurateManager);
       
       _gameStageManager = new GameStageManager(_publisher, _coroutiner);
       _gameManager = new GameManager(_publisher, _animaManager, _objectStorage, _coroutiner,_inventoryManager,_configurateManager);
       _enemyManager = new EnemyManager(_publisher, _coroutiner,_animaManager,_objectStorage, _configurateManager);
       _alliesManager = new AlliesManager(_coroutiner, _configurateManager);
       _playersManager = new PlayersManager(_publisher,_animaManager, _tokenRewardManager);
       _barsEnemyManager = new BarsEnemyManager(_enemyManager, _publisher);
       _activateCardManager = new ActivateCardManager(_publisher, _barsPlayerManager,_enemyManager);
       _targetManager = new TargetManager(_publisher, _animaManager, _activateCardManager, _enemyManager);
       _deckManager = new DeckManager(_objectStorage,_inventoryManager,_animaManager,_publisher,_coroutiner, _targetManager,_configurateManager);
       
       _popupEvent = new PopupEvent(_objectStorage,_publisher,_animaManager,_coroutiner, _configurateManager);
       _popupGameMenu = new PopupGameMenu(_objectStorage, _publisher, _animaManager,_coroutiner);
       _popupInventory = new PopupInventory(_inventoryManager, _animaManager);
       _popupPlaceInSlot = new PopupPlaceInSlot(_publisher);
       _popupPlayers = new PopupPlayers(_animaManager, _objectStorage, _publisher, _configurateManager);
       //_descriptionCardPopup = new PopupDescriptionCard(_popupDescriptionCard);
       _popupDescriptionCard = new PopupDescriptionCard(_coroutiner,_animaManager);
       _popupRewardEvent = new PopupRewardEvent(_publisher, _objectStorage, _configurateManager, _coroutiner);
       
       _publisher.AddSubscriber((ISubscriber) _gameManager);
       _publisher.AddSubscriber((ISubscriber) _inventoryManager);
       _publisher.AddSubscriber((ISubscriber) _gameStageManager);
       _publisher.AddSubscriber((ISubscriber) _activateCardManager);
       _publisher.AddSubscriber((ISubscriber) _barsPlayerManager);
       _publisher.AddSubscriber((ISubscriber) _barsEnemyManager);
       _publisher.AddSubscriber((ISubscriber) _enemyManager);
       _publisher.AddSubscriber((ISubscriber) _alliesManager);
       _publisher.AddSubscriber((ISubscriber) _playersManager);
       _publisher.AddSubscriber((ISubscriber) _deckManager);
       _publisher.AddSubscriber((ISubscriber) _targetManager);
       _publisher.AddSubscriber((ISubscriber) _audioManager);
       _publisher.AddSubscriber((ISubscriber) _tokenRewardManager);
       
       _publisher.AddSubscriber((ISubscriber) _popupGameMenu);
       _publisher.AddSubscriber((ISubscriber) _popupInventory);
       _publisher.AddSubscriber((ISubscriber) _popupEvent);
       _publisher.AddSubscriber((ISubscriber) _popupPlayers);
       _publisher.AddSubscriber((ISubscriber) _popupDescriptionCard);
       _publisher.AddSubscriber((ISubscriber) _popupRewardEvent);
       _publisher.AddSubscriber((ISubscriber) _popupPlaceInSlot);
       
       _baseManagers = new BaseManagers(_saveManager,_animaManager,_publisher,_objectStorage,_configurateManager,_coroutiner, _audioManager);
       _gameManagers = new GameManagers(_gameManager, _activateCardManager, _barsPlayerManager, _barsEnemyManager, 
           _enemyManager, _alliesManager,  _playersManager, _deckManager, _inventoryManager, _targetManager, _tokenRewardManager);
       _popupManagers = new PopupManagers(_popupGameMenu,_popupInventory, _popupEvent, _popupPlayers, _popupDescriptionCard,_popupPlaceInSlot, _popupRewardEvent);
       
       
       _logicManager = new LogicManager(_baseManagers,_gameManagers, _popupManagers);
       _loadManager = new LoadManager(_logicManager);
       //-------------------Делаем переход в сцену "Меню"
       _loadManager.Navigate(SceneTypeEnum.Bootstrapper, SceneTypeEnum.Menu, CustomObject.Empty);
   }
コード例 #11
0
 public Allen(IPublisher publisher)
 {
     publisher.AddSubscriber(this);
 }
コード例 #12
0
 public Gary(IPublisher publisher)
 {
     publisher.AddSubscriber(this);
 }