public void ReloadSprite(UnitData unitData, UnitStatistics unitStatistics) { _unitData = unitData; _unitStatistics = unitStatistics; if (!_blockAnimation) { if (!_skeletonAnimation) { LoadSprite(); } _skeletonAnimation.skeletonDataAsset = unitData.skeletonDataAsset; if (unitStatistics.team == 1) { switch (unitData.unitName) { case "Archer": _skeletonAnimation.initialSkinName = "ARCHER BLUE"; break; case "Boss": _skeletonAnimation.initialSkinName = "BOSS BLUE"; break; case "Infantry": _skeletonAnimation.initialSkinName = "SWORDMAN BLUE"; break; case "Mage": _skeletonAnimation.initialSkinName = "WIZARD BLUE"; break; case "Medic": _skeletonAnimation.initialSkinName = "MEDIC BLUE"; break; case "Rogue": _skeletonAnimation.initialSkinName = "ROGUE BLUE"; break; case "Spearman": _skeletonAnimation.initialSkinName = "SPEARMAN BLUE"; break; } } else { _skeletonAnimation.initialFlipX = true; switch (unitData.unitName) { case "Archer": _skeletonAnimation.initialSkinName = "ARCHER RED"; break; case "Boss": _skeletonAnimation.initialSkinName = "BOSS RED"; break; case "Infantry": _skeletonAnimation.initialSkinName = "SWORDMAN RED"; break; case "Mage": _skeletonAnimation.initialSkinName = "WIZARD RED"; break; case "Medic": _skeletonAnimation.initialSkinName = "MEDIC RED"; break; case "Rogue": _skeletonAnimation.initialSkinName = "ROGUE RED"; break; case "Spearman": _skeletonAnimation.initialSkinName = "SPEARMAN RED"; break; } } _skeletonAnimation.Initialize(true); _skeletonAnimation.Skeleton.SetSkin(_skeletonAnimation.initialSkinName); _skeletonAnimation.Skeleton.SetSlotsToSetupPose(); _skeletonAnimation.AnimationState.Apply(_skeletonAnimation.Skeleton); _skeletonAnimation.AnimationState.SetAnimation(0, "IDLE", true); } }
// TODO store callback with currently ongoing action - to start another one previous must finish first private void Awake() { m_movementController = GetComponent <UnitMovementController>(); m_statistics = GetComponent <UnitStatistics>(); }
private void Awake() { m_navAgent = GetComponent <NavMeshAgent>(); path = new NavMeshPath(); stats = GetComponent <UnitStatistics>(); }
private void LoadUnitStatistics() { _unitStatistics = gameObject.GetComponent <UnitStatistics>(); }