Esempio n. 1
0
        public BoardSkill(GameObject obj, Player player, HeroSkill skillInfo, bool isPrimary)
        {
            SelfObject = obj;
            Skill      = skillInfo;
            Owner      = player;
            IsPrimary  = isPrimary;

            _initialCooldown = skillInfo.InitialCooldown;
            _cooldown        = skillInfo.Cooldown;

            _loadObjectsManager = GameClient.Get <ILoadObjectsManager>();
            _gameplayManager    = GameClient.Get <IGameplayManager>();
            _tutorialManager    = GameClient.Get <ITutorialManager>();

            _playerController     = _gameplayManager.GetController <PlayerController>();
            _skillsController     = _gameplayManager.GetController <SkillsController>();
            _boardArrowController = _gameplayManager.GetController <BoardArrowController>();

            _glowObjectSprite = SelfObject.transform.Find("Glow").GetComponent <SpriteRenderer>();
            _glowObjectSprite.gameObject.SetActive(false);

            _cooldownText = SelfObject.transform.Find("SpellCost/SpellCostText").GetComponent <TextMeshPro>();

            string name = isPrimary ? "1stShutters" : "2ndtShutters";

            _shutterAnimator = SelfObject.transform.parent.transform
                               .Find("OverlordArea/RegularModel/CZB_3D_Overlord_death_regular_LOD0/" + name).GetComponent <Animator>();
            _shutterAnimator.enabled = false;
            _shutterAnimator.StopPlayback();

            Owner.TurnStarted += TurnStartedHandler;
            Owner.TurnEnded   += TurnEndedHandler;

            _behaviourHandler = SelfObject.GetComponent <OnBehaviourHandler>();
            {
                _pointerEventSolver              = new PointerEventSolver();
                _pointerEventSolver.DragStarted += PointerSolverDragStartedHandler;
                _pointerEventSolver.Clicked     += PointerEventSolverClickedHandler;
                _pointerEventSolver.Ended       += PointerEventSolverEndedHandler;
            }

            _cooldownText.text = _cooldown.ToString();

            _fightTargetingArrowPrefab =
                _loadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/Arrow/AttackArrowVFX_Object");
        }
Esempio n. 2
0
        public void Init()
        {
            _gameplayManager    = GameClient.Get <IGameplayManager>();
            _dataManager        = GameClient.Get <IDataManager>();
            _tutorialManager    = GameClient.Get <ITutorialManager>();
            _loadObjectsManager = GameClient.Get <ILoadObjectsManager>();

            _abilitiesController    = _gameplayManager.GetController <AbilitiesController>();
            _battlegroundController = _gameplayManager.GetController <BattlegroundController>();
            _cardsController        = _gameplayManager.GetController <CardsController>();
            _actionsQueueController = _gameplayManager.GetController <ActionsQueueController>();
            _skillsController       = _gameplayManager.GetController <SkillsController>();

            _gameplayManager.GameEnded   += GameEndedHandler;
            _gameplayManager.GameStarted += GameStartedHandler;

            _normalUnitCardInHand  = new List <WorkingCard>();
            _normalSpellCardInHand = new List <WorkingCard>();
        }
Esempio n. 3
0
        public Player(GameObject playerObject, bool isOpponent)
        {
            PlayerObject  = playerObject;
            IsLocalPlayer = !isOpponent;

            _dataManager     = GameClient.Get <IDataManager>();
            _gameplayManager = GameClient.Get <IGameplayManager>();
            _soundManager    = GameClient.Get <ISoundManager>();

            _cardsController        = _gameplayManager.GetController <CardsController>();
            _battlegroundController = _gameplayManager.GetController <BattlegroundController>();
            _skillsController       = _gameplayManager.GetController <SkillsController>();
            _animationsController   = _gameplayManager.GetController <AnimationsController>();

            CardsInDeck      = new List <WorkingCard>();
            CardsInGraveyard = new List <WorkingCard>();
            CardsInHand      = new List <WorkingCard>();
            CardsOnBoard     = new List <WorkingCard>();
            BoardCards       = new List <BoardUnit>();

            CardsPreparingToHand = new List <BoardCard>();

            int heroId;

            if (!isOpponent)
            {
                if (!_gameplayManager.IsTutorial)
                {
                    heroId = _dataManager.CachedDecksData.Decks.First(d => d.Id == _gameplayManager.PlayerDeckId)
                             .HeroId;
                }
                else
                {
                    heroId = Constants.TutorialPlayerHeroId;
                }
            }
            else
            {
                heroId = _dataManager.CachedOpponentDecksData.Decks.First(d => d.Id == _gameplayManager.OpponentDeckId)
                         .HeroId;
            }

            SelfHero = _dataManager.CachedHeroesData.HeroesParsed[heroId];

            _health   = Constants.DefaultPlayerHp;
            InitialHp = _health;
            BuffedHp  = 0;
            _goo      = Constants.DefaultPlayerGoo;

            _avatarObject            = playerObject.transform.Find("Avatar/Hero_Object").gameObject;
            _overlordRegularObject   = playerObject.transform.Find("OverlordArea/RegularModel").gameObject;
            _overlordDeathObject     = playerObject.transform.Find("OverlordArea/OverlordDeath").gameObject;
            _avatarHeroHighlight     = playerObject.transform.Find("Avatar/HeroHighlight").gameObject;
            _avatarSelectedHighlight = playerObject.transform.Find("Avatar/SelectedHighlight").gameObject;

            _avatarAnimator = playerObject.transform.Find("Avatar/Hero_Object").GetComponent <Animator>();
            _deathAnimator  = _overlordDeathObject.GetComponent <Animator>();
            _gooBarFadeTool = playerObject.transform.Find("Avatar/Hero_Object").GetComponent <FadeTool>();

            _freezedHighlightObject = playerObject.transform.Find("Avatar/FreezedHighlight").gameObject;

            _avatarAnimator.enabled = false;
            _deathAnimator.enabled  = false;
            _deathAnimator.StopPlayback();

            PlayerHpChanged += PlayerHpChangedHandler;

            DamageByNoMoreCardsInDeck = 0;
        }