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"); }
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>(); }
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; }