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);
        }
    }
Exemple #2
0
    // 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>();
    }
Exemple #3
0
 private void Awake()
 {
     m_navAgent = GetComponent <NavMeshAgent>();
     path       = new NavMeshPath();
     stats      = GetComponent <UnitStatistics>();
 }
Exemple #4
0
 private void LoadUnitStatistics()
 {
     _unitStatistics = gameObject.GetComponent <UnitStatistics>();
 }