public BoardUnit(Transform parent) { _gameplayManager = GameClient.Get <IGameplayManager>(); _loadObjectsManager = GameClient.Get <ILoadObjectsManager>(); _soundManager = GameClient.Get <ISoundManager>(); _tutorialManager = GameClient.Get <ITutorialManager>(); _timerManager = GameClient.Get <ITimerManager>(); _battlegroundController = _gameplayManager.GetController <BattlegroundController>(); _playerController = _gameplayManager.GetController <PlayerController>(); _animationsController = _gameplayManager.GetController <AnimationsController>(); _battleController = _gameplayManager.GetController <BattleController>(); _actionsQueueController = _gameplayManager.GetController <ActionsQueueController>(); _vfxController = _gameplayManager.GetController <VfxController>(); _ranksController = _gameplayManager.GetController <RanksController>(); _abilitiesController = _gameplayManager.GetController <AbilitiesController>(); _cardsController = _gameplayManager.GetController <CardsController>(); _inputController = _gameplayManager.GetController <InputController>(); _boardArrowController = _gameplayManager.GetController <BoardArrowController>(); GameObject = Object.Instantiate(_loadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/BoardCreature")); GameObject.transform.SetParent(parent, false); _fightTargetingArrowPrefab = _loadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/Arrow/AttackArrowVFX_Object"); _pictureSprite = GameObject.transform.Find("CreaturePicture").GetComponent <SpriteRenderer>(); _frozenSprite = GameObject.transform.Find("Other/Frozen").GetComponent <SpriteRenderer>(); _glowSprite = GameObject.transform.Find("Other/Glow").GetComponent <SpriteRenderer>(); _shieldSprite = GameObject.transform.Find("Other/Shield").gameObject; _glowSelectedObjectSprite = GameObject.transform.Find("Other/GlowSelectedObject").gameObject; _attackText = GameObject.transform.Find("Other/AttackAndDefence/AttackText").GetComponent <TextMeshPro>(); _healthText = GameObject.transform.Find("Other/AttackAndDefence/DefenceText").GetComponent <TextMeshPro>(); _sleepingParticles = GameObject.transform.Find("Other/SleepingParticles").GetComponent <ParticleSystem>(); _unitContentObject = GameObject.transform.Find("Other").gameObject; _unitContentObject.SetActive(false); _inputController.UnitSelectedEvent += UnitSelectedEventHandler; _inputController.UnitDeselectedEvent += UnitDeselectedEventHandler; BuffsOnUnit = new List <Enumerators.BuffType>(); AttackedBoardObjectsThisTurn = new List <object>(); _glowSprite.gameObject.SetActive(true); _glowSprite.enabled = false; IsCreatedThisTurn = true; UnitStatus = Enumerators.UnitStatusType.NONE; IsAllAbilitiesResolvedAtStart = true; _gameplayManager.CanDoDragActions = false; }
public void Init() { _gameplayManager = GameClient.Get <IGameplayManager>(); _timerManager = GameClient.Get <ITimerManager>(); _loadObjectsManager = GameClient.Get <ILoadObjectsManager>(); _dataManager = GameClient.Get <IDataManager>(); _soundManager = GameClient.Get <ISoundManager>(); _tutorialManager = GameClient.Get <ITutorialManager>(); _uiManager = GameClient.Get <IUIManager>(); _battlegroundController = _gameplayManager.GetController <BattlegroundController>(); _vfxController = _gameplayManager.GetController <VfxController>(); _abilitiesController = _gameplayManager.GetController <AbilitiesController>(); _actionsQueueController = _gameplayManager.GetController <ActionsQueueController>(); _animationsController = _gameplayManager.GetController <AnimationsController>(); _ranksController = _gameplayManager.GetController <RanksController>(); CreatureCardViewPrefab = _loadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/Cards/CreatureCard"); SpellCardViewPrefab = _loadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/Cards/SpellCard"); OpponentCardPrefab = _loadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/Cards/OpponentCard"); _gameplayManager.GameStarted += GameStartedHandler; _gameplayManager.GameEnded += GameEndedHandler; _indexOfCard = -1; }
public AbilityBase(Enumerators.CardKind cardKind, AbilityData ability) { LoadObjectsManager = GameClient.Get <ILoadObjectsManager>(); GameplayManager = GameClient.Get <IGameplayManager>(); DataManager = GameClient.Get <IDataManager>(); TimerManager = GameClient.Get <ITimerManager>(); SoundManager = GameClient.Get <ISoundManager>(); AbilitiesController = GameplayManager.GetController <AbilitiesController>(); ParticlesController = GameplayManager.GetController <ParticlesController>(); BattleController = GameplayManager.GetController <BattleController>(); ActionsQueueController = GameplayManager.GetController <ActionsQueueController>(); BattlegroundController = GameplayManager.GetController <BattlegroundController>(); CardsController = GameplayManager.GetController <CardsController>(); AbilityData = ability; CardKind = cardKind; AbilityActivityType = ability.AbilityActivityType; AbilityCallType = ability.AbilityCallType; AbilityTargetTypes = ability.AbilityTargetTypes; AbilityEffectType = ability.AbilityEffectType; _playerAvatar = GameplayManager.CurrentPlayer; _opponenentAvatar = GameplayManager.OpponentPlayer; PermanentInputEndEvent += InputEndedHandler; ParticleIds = new List <ulong>(); }
public void Init() { _gameplayManager = GameClient.Get <IGameplayManager>(); _tutorialManager = GameClient.Get <ITutorialManager>(); _actionsQueueController = _gameplayManager.GetController <ActionsQueueController>(); _abilitiesController = _gameplayManager.GetController <AbilitiesController>(); _vfxController = _gameplayManager.GetController <VfxController>(); FillStrongersAndWeakers(); }
public void Init() { _activeAbilities = new List <ActiveAbility>(); _gameplayManager = GameClient.Get <IGameplayManager>(); _tutorialManager = GameClient.Get <ITutorialManager>(); _cardsController = _gameplayManager.GetController <CardsController>(); _playerController = _gameplayManager.GetController <PlayerController>(); _battlegroundController = _gameplayManager.GetController <BattlegroundController>(); _actionsQueueController = _gameplayManager.GetController <ActionsQueueController>(); }
private void ReturnBoardUnitToHand(BoardUnit unit) { CreateVfx(unit.Transform.position, true, 3f, true); CardsController.ReturnCardToHand(unit); ActionsQueueController.PostGameActionReport(ActionsQueueController.FormatGameActionReport( Enumerators.ActionType.RETURN_TO_HAND_CARD_ABILITY, new object[] { PlayerCallerOfAbility, AbilityData, unit })); }
public override void Action(object info = null) { base.Action(info); Vector3 unitPosition = TargetUnit.Transform.position; CreateVfx(unitPosition, true, 3f, true); CardsController.ReturnCardToHand(TargetUnit); ActionsQueueController.PostGameActionReport(ActionsQueueController.FormatGameActionReport( Enumerators.ActionType.RETURN_TO_HAND_CARD_ABILITY, new object[] { PlayerCallerOfAbility, AbilityData, TargetUnit })); }
public void Init() { _loadObjectsManager = GameClient.Get <ILoadObjectsManager>(); _gameplayManager = GameClient.Get <IGameplayManager>(); _tutorialManager = GameClient.Get <ITutorialManager>(); _uiManager = GameClient.Get <IUIManager>(); _timerManager = GameClient.Get <ITimerManager>(); _soundManager = GameClient.Get <ISoundManager>(); _vfxController = _gameplayManager.GetController <VfxController>(); _battleController = _gameplayManager.GetController <BattleController>(); _actionsQueueController = _gameplayManager.GetController <ActionsQueueController>(); _cardsController = _gameplayManager.GetController <CardsController>(); _gameplayManager.GameEnded += GameplayManagerGameEnded; }
public ReportPanelItem(GameObject gameObject) { ILoadObjectsManager loadObjectsManager = GameClient.Get <ILoadObjectsManager>(); IGameplayManager gameplayManager = GameClient.Get <IGameplayManager>(); _actionsQueueController = gameplayManager.GetController <ActionsQueueController>(); _allReports = new List <ReportViewBase>(); _selfPanel = gameObject.transform.Find("Viewport/CardGraveyard").gameObject; _reportGroup = _selfPanel.GetComponent <VerticalLayoutGroup>(); _playedCardPrefab = loadObjectsManager.GetObjectByPath <GameObject>("Prefabs/UI/Elements/GraveyardCardPreview"); _actionsQueueController.GotNewActionReportEvent += GotNewActionReportEventHandler; _reportGroup.padding.top = 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>(); }
protected override void UnitAttackedHandler(object info, int damage, bool isAttacker) { base.UnitAttackedHandler(info, damage, isAttacker); if (AbilityCallType != Enumerators.AbilityCallType.ATTACK || !isAttacker) { return; } if (info is BoardUnit) { BoardUnit creature = info as BoardUnit; creature.Stun(Enumerators.StunType.FREEZE, Value); CreateVfx(creature.Transform.position); ActionsQueueController.PostGameActionReport(ActionsQueueController.FormatGameActionReport( Enumerators.ActionType.STUN_CREATURE_BY_ABILITY, new object[] { AbilityUnitOwner, creature })); } }
public ReportViewBase(GameObject prefab, Transform parent, GameActionReport gameAction) { LoadObjectsManager = GameClient.Get <ILoadObjectsManager>(); GameplayManager = GameClient.Get <IGameplayManager>(); ActionsQueueController = GameplayManager.GetController <ActionsQueueController>(); CardsController = GameplayManager.GetController <CardsController>(); GameAction = gameAction; SelfObject = Object.Instantiate(prefab, parent, false); SelfObject.transform.SetSiblingIndex(0); PreviewImage = SelfObject.transform.Find("Image").GetComponent <Image>(); OnBehaviourHandler behaviour = SelfObject.GetComponent <OnBehaviourHandler>(); behaviour.PointerEntered += PointerEnteredHandler; behaviour.PointerExited += PointerExitedHandler; PlayerAvatarPreviewPrefab = LoadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/PlayerAvatarPreview"); AttackingHealthPrefab = LoadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/AttackingHealth"); CreatePreviewPanel(); }
public override void Action(object info = null) { base.Action(info); if (AbilityUnitOwner.IsReanimated) { return; } Player owner = AbilityUnitOwner.OwnerPlayer; Card libraryCard = AbilityUnitOwner.Card.LibraryCard.Clone(); WorkingCard card = new WorkingCard(libraryCard, owner); BoardUnit unit = CreateBoardUnit(card, owner); unit.IsReanimated = true; AbilityUnitOwner.IsReanimated = true; owner.AddCardToBoard(card); owner.BoardCards.Add(unit); if (!owner.IsLocalPlayer) { BattlegroundController.OpponentBoardCards.Add(unit); BattlegroundController.UpdatePositionOfBoardUnitsOfOpponent(); } else { BattlegroundController.PlayerBoardCards.Add(unit); BattlegroundController.UpdatePositionOfBoardUnitsOfPlayer(GameplayManager.CurrentPlayer.BoardCards); } ActionsQueueController.PostGameActionReport(ActionsQueueController.FormatGameActionReport( Enumerators.ActionType.REANIMATE_UNIT_BY_ABILITY, new object[] { owner, unit })); }