chenxin
2020-11-14 719a8a206e5167a28e5d968e13c38a3114082b7a
Assets/Scripts/TowerDefense/UI/BulletUICtl.cs
@@ -10,16 +10,25 @@
/// </summary>
public class BulletUICtl : MonoBehaviour
{
    public Image bulletScaleMask;
    public SpriteRenderer bulletScaleMask;
    public float fAdjValue;
    /// <summary>
    /// 最大子弹数目.
    /// </summary>
    public int maxBulletNum;
    /// <summary>
    /// 当前的子弹数目.
    /// </summary>
    protected int curBulletNum;
    private float[] scaleArr = { 0, 0.16f, 0.32f, 0.48f, 0.64f, 0.8f, 1f };
    private float[] yArr = { 0.4f, 0.377f, 0.307f, 0.227f, 0.153f, 0.074f, 0 };
    private float gap = 0.15f;
    // Start is called before the first frame update
    void Start()
@@ -78,8 +87,13 @@
    public void updateBulletUI( int curBNum,int totalBNum)
    {
        if (bulletScaleMask == null) return;
        float scaleY = 1.0f - curBNum / (float)totalBNum - fAdjValue;
        bulletScaleMask.rectTransform.DOScaleY( scaleY, 0.0f);
        Vector3 pos = bulletScaleMask.transform.localPosition;
        pos.y = yArr[maxBulletNum - curBulletNum];
        bulletScaleMask.transform.localPosition = pos;
        Vector3 s = bulletScaleMask.transform.localScale;
        s.y = scaleArr[maxBulletNum - curBulletNum];
        bulletScaleMask.transform.localScale = s;
    }
    // Update is called once per frame