private string GetArrowFileName(DataConfig.CAMPAIGN_ARROW arrow)
    {
        string spineName = AppConfig.FOLDER_PROFAB_CAMPAIGN;

        switch (arrow)
        {
        case DataConfig.CAMPAIGN_ARROW.A_UPWARD:
            spineName += "ArrowIn";
            break;

        case DataConfig.CAMPAIGN_ARROW.B_UPWARD_TURN_LEFT:
            spineName += "ArrowLeft";
            break;

        case DataConfig.CAMPAIGN_ARROW.C_UPWARD_TURN_RIGHT:
            spineName += "ArrowRight";
            break;

        case DataConfig.CAMPAIGN_ARROW.D_UPWARD_BIG:
            spineName += "ArrowIn2";
            break;

        case DataConfig.CAMPAIGN_ARROW.E_UPWARD_TURN_LEFT_BIG:
            spineName += "ArrowLeft2";
            break;

        case DataConfig.CAMPAIGN_ARROW.F_UPWARD_TURN_RIGHT_BIG:
            spineName += "ArrowRight2";
            break;
        }

        return(spineName);
    }
    public void ShowAttackArrow()
    {
        FreeArrow();

        DataMission dataMission = _dataCampaign.missions [_selectTileIndex];

        for (int i = 0; i < DataMission.ARROW_COUNT_MAX; ++i)
        {
            DataConfig.CAMPAIGN_ARROW arrow = dataMission.arrows[i];
            float arrowRotation             = dataMission.arrowsRotation[i];
//			arrowRotation = 180;

            if (arrow != DataConfig.CAMPAIGN_ARROW.UNKNOWN)
            {
                string     spineName  = GetArrowFileName(arrow);
                GameObject spineArrow = ResourceHelper.Load(spineName);
                _skeletonAnimArrows.Add(spineArrow);

                Spine.Slot boundingSlot = GetBoundingSlot(_selectTileIndex);
                Vector3    center       = SpineHelper.CalcTileArrowOffset(boundingSlot, _skeletonAnim.transform, arrowRotation);
                spineArrow.transform.position = center + new Vector3(0, 0, -1);
                spineArrow.transform.Rotate(0, 0, arrowRotation);
            }
        }
    }
Example #3
0
    private void ReadArrow(string s, out DataConfig.CAMPAIGN_ARROW arrow, out float rotation)
    {
        if (s == null)
        {
            arrow    = DataConfig.CAMPAIGN_ARROW.UNKNOWN;
            rotation = 0;
            return;
        }

        s = s.ToLower();
        char t = s [0];

        switch (t)
        {
        case 'a':
            arrow = DataConfig.CAMPAIGN_ARROW.A_UPWARD;
            break;

        case 'b':
            arrow = DataConfig.CAMPAIGN_ARROW.B_UPWARD_TURN_LEFT;
            break;

        case 'c':
            arrow = DataConfig.CAMPAIGN_ARROW.C_UPWARD_TURN_RIGHT;
            break;

        case 'd':
            arrow = DataConfig.CAMPAIGN_ARROW.D_UPWARD_BIG;
            break;

        case 'e':
            arrow = DataConfig.CAMPAIGN_ARROW.E_UPWARD_TURN_LEFT_BIG;
            break;

        case 'f':
            arrow = DataConfig.CAMPAIGN_ARROW.F_UPWARD_TURN_RIGHT_BIG;
            break;

        default:
            arrow = DataConfig.CAMPAIGN_ARROW.UNKNOWN;
            break;
        }

        //
        if (arrow != DataConfig.CAMPAIGN_ARROW.UNKNOWN)
        {
            string r = s.Substring(1);
            rotation = -float.Parse(r);              //CLOCK WISE
        }
        else
        {
            rotation = 0;
        }
    }