using System; using System.Collections.Generic; using UnityEngine; using Wizard.Battle.View.Vfx; namespace Wizard.Battle.View; public interface IBattleCardView { Vector3 ForecastIconPosition { get; } Vector3 ForecastIconScale { get; } float OriginalRootYPosition { get; } IReadOnlyBattleCardInfo CardInfo { get; } BattlePlayerReadOnlyInfoPair PlayerInfoPair { get; } IReadOnlyVoiceInfo VoiceInfo { get; } GameObject GameObject { get; } GameObject CardWrapObject { get; } Transform Transform { get; } CardTemplate CardTemplate { get; } BoxCollider Collider { get; } BattleCardIconAnimations BattleCardIconAnimations { get; } Func GetIsOnMove { get; } bool InPlayModelActive { get; set; } BattleCamera m_BattleCamera { get; } BackGroundBase m_BackGround { get; } HandParameter HandParam { get; } BattleCardView.AttackTargetSelectInfo _attackTargetSelectInfo { get; set; } InPlayCardFrameEffectControl _inPlayFrameEffect { get; set; } bool areArrowsForcedOff { get; set; } bool _isCardQueuedToBePlayed { get; set; } bool isHiddenFromHandView { get; set; } bool isHiddenFromInPlayView { get; set; } bool isHideFrameEffect { get; set; } bool _hasCardEnteredPlayQueue { get; set; } bool playVoiceOnDeath { get; set; } Coroutine _inPlayRearrangeCoroutine { get; set; } Coroutine _waitUntilCardIsInQueueCoroutine { get; set; } bool IsNullView { get; } bool IsLoadResorces { get; } void InitializeVoiceInfo(int cardID); void SetupIconAnimations(BattleCardBase card, SkillCollectionBase skills); VfxBase LoadResource(); VfxBase GetResourcePathes(List resourceInfos); VfxBase LoadChoiceTransformCardsResources(BattleCardBase card); VfxBase GetChoiceTransformCardsResourcePathes(BattleCardBase card, List resourceInfos, bool isRecoveryFinish = false); void ResetTemplate(); bool HasChild(string objectName); void AttachChild(string objectName, GameObject gameObject, bool isDestoryEarlierAttached = false); void ReserveAttachChild(string objectName); bool HasReservedAttachChild(string objectName); GameObject DetachChild(string objectName); void DestroyChild(string objectName); VfxBase UnloadResource(); void UpdateMovability(); void HideCanPlayEffect(); GameObject GetCardMeshGameObject(); void UpdateParameterView(int offence, int life, int cost, string name, bool isOnField, bool isRecovery = false, bool useNormalCost = false); void UpdateOffence(int offence); void UpdateLife(int life); void UpdateCost(List costList, bool isGenerateInHand = true, bool playEffect = true, bool isForceUpdate = false, bool isOnlyFixedUseCost = false); List GetUseCostList(int cost, bool useNomalCost = false); void UpdateCostWithoutFixedUse(int cost); void SetTillingAndOffset(Vector2 tilling, Vector2 offset); void SetVoiceFileCueName(string cueName); void PlayVoice(string voiceName); void StopVoice(); void ShowInHandFrameEffect(bool enable); void ShowInHandFrameEffect(bool enable, HandCardFrameEffectType type); void ShowFusionMetamorphoseFrameEffect(bool enable); VfxBase ResetCardView(CardParameter baseParameter); VfxBase RecoveryInPlay(); VfxBase RecoveryInHand(); VfxBase ShowHandCardInfo(bool isRecovery = false, bool modifyParameterLabel = true); void HideHandCardInfo(); VfxBase ShowAttackFinished(); VfxBase ShowAttackFinished(SkillBase skill); void HideAttackFinished(); VfxBase InitializeBattleCardIcon(BattleCardBase card, SkillCollectionBase collection, bool isStackWhiteRitual = false); VfxBase InitializeBattleCardStackIcon(BattleCardBase card, SkillCollectionBase collection); VfxBase ShowBattleCardIcon(); void SetCostLabelEnable(bool isEnable); void SetNormalLabelEnable(bool isEnable); GameObject GetChild(string objectName); void InitHandParameter(); void UpdateCostViewStrategy(bool isForceUpdate = false); void InitHandParameterIconPos(HandParameter.IconLayout layout); VfxBase UpdateBattleCardIconLabelNumber(BattleCardBase card, SkillCollectionBase collection); VfxBase UpdateStackWhiteRitualIconNumber(); void SetCutInLayerNormalObject(); void ResetPlayQueueFlags(); void SetParameterIconEnable(bool isEnable); VfxBase AddBattleCardIcon(string iconType, string iconFileName); VfxBase DeleteBattleCardIcon(string iconType); void SetNotCancelColliderEnable(bool isEnable); void InitCostViewAnim(); VfxBase LoadEvolveFrameEffect(); VfxBase HideBattleCardIcon(); }