Exemplo n.º 1
0
    void SetUnit(BaseSoldierData unitData)
    {
        _unitData = unitData;
        if (_unitData == null)
        {
            return;
        }

        GameObject cardResource = UIResourcesManager.Instance.GetResource <GameObject>(
            string.Format("{0}/{1}", GameConstants.Paths.UI_WINDOWS_PREFAB_RESOURCES, "Unit_card"));

        if (cardResource == null)
        {
            return;
        }

        GameObject cardUnitData = GameObject.Instantiate(cardResource) as GameObject;
        UIUnitCard unitCard     = cardUnitData.GetComponent <UIUnitCard>();

        unitCard.UnitKey = _unitData.Key;
        cardUnitData.transform.SetParent(transform, false);

        RectTransform rectCard       = cardUnitData.GetComponent <RectTransform>();
        Rect          rectBackground = gameObject.GetComponent <RectTransform>().rect;

        rectCard.anchoredPosition = new Vector2(rectBackground.width / 2, rectBackground.height / 2);
        rectCard.localScale      *= _imgUnit.rectTransform.rect.width / rectCard.rect.width;

        _txtDamage.text = "Damage: " + _unitData.BaseDamage.ToString();
        _txtHP.text     = "Health Points: " + _unitData.BaseHealthPoints.ToString();
        _txtInfo.text   = "About Unit: " + _unitData.AboutInfo;
    }
    void SetSelectedUnit(BaseSoldierData currentSoldierData)
    {
        if (_currentSoldierData != null)
        {
            UIResourcesManager.Instance.FreeResource(
                string.Format("{0}/{1}", GameConstants.Paths.UI_WINDOWS_PREFAB_RESOURCES, "Unit_card"));
        }
        Rect rectImage = _mbtnCurrrentSoldier.GetComponent <RectTransform>().rect;

        if (rectImage.width == 0 || rectImage.height == 0)
        {
            return;
        }

        _currentSoldierData = currentSoldierData;
        if (_currentSoldierData != null)
        {
            GameObject cardResource = UIResourcesManager.Instance.GetResource <GameObject>(
                string.Format("{0}/{1}", GameConstants.Paths.UI_WINDOWS_PREFAB_RESOURCES, "Unit_card"));
            if (cardResource == null)
            {
                return;
            }

            GameObject cardUnitData = GameObject.Instantiate(cardResource) as GameObject;
            UIUnitCard unitCard     = cardUnitData.GetComponent <UIUnitCard>();
            unitCard.UnitKey = _currentSoldierData.Key;
            cardUnitData.transform.SetParent(_mbtnCurrrentSoldier.transform, false);

            RectTransform rectCard = cardUnitData.GetComponent <RectTransform>();
            rectCard.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, rectImage.width);
            rectCard.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, rectImage.height);
            rectCard.anchoredPosition = new Vector2(rectImage.width / 2, rectImage.height / 2);
            _mbtnCurrrentSoldier.AddChildImages(cardUnitData);
        }
        else
        {
            for (int i = _mbtnCurrrentSoldier.transform.childCount; i > 0; i--)
            {
                GameObject.Destroy(_mbtnCurrrentSoldier.transform.GetChild(i - 1).gameObject);
            }
        }
        UpdateLeadership();
    }
Exemplo n.º 3
0
    public void Update()
    {
        if (_unitData == null || _isLoad)
        {
            return;
        }

        Rect rectImage = GetComponent <RectTransform>().rect;

        if (rectImage.width == 0 || rectImage.height == 0)
        {
            return;
        }

        GameObject cardResource = UIResourcesManager.Instance.GetResource <GameObject>(
            string.Format("{0}/{1}", GameConstants.Paths.UI_WINDOWS_PREFAB_RESOURCES, "Unit_card"));

        if (cardResource == null)
        {
            return;
        }

        _isLoad = true;
        GameObject cardUnitData = GameObject.Instantiate(cardResource) as GameObject;
        UIUnitCard unitCard     = cardUnitData.GetComponent <UIUnitCard>();

        unitCard.UnitKey = _unitData.Key;
        cardUnitData.transform.SetParent(gameObject.transform, false);

        RectTransform rectCard = cardUnitData.GetComponent <RectTransform>();

        rectCard.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, rectImage.width);
        rectCard.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, rectImage.height);
        rectCard.anchoredPosition = new Vector2(rectImage.width / 2, rectImage.height / 2);

        (gameObject.GetComponent <MultiImageButton>()).AddChildImages(cardUnitData);
    }