12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using System;
- using UnityEngine;
- public class UI_ImageFitPos : UI_ScreenFitBase
- {
- protected override void Start()
- {
- base.Start();
- }
- protected override void Update()
- {
- base.Update();
- }
- protected override void FitAction()
- {
- if (!this.FitImage)
- {
- return;
- }
- Vector3 zero = Vector3.zero;
- switch (this.m_UIFitType)
- {
- case UI_ImageFitPos.FitType.HorizontalRight:
- zero.x = (float)(this.FitImage.width / 2);
- if (this.m_UseFillAmount)
- {
- zero.x -= (float)this.FitImage.width * ((!this.m_FillReverse) ? this.FitImage.fillAmount : (1f - this.FitImage.fillAmount));
- }
- break;
- case UI_ImageFitPos.FitType.HorizontalLeft:
- zero.x = (float)(-(float)this.FitImage.width / 2);
- if (this.m_UseFillAmount)
- {
- zero.x += (float)this.FitImage.width * ((!this.m_FillReverse) ? this.FitImage.fillAmount : (1f - this.FitImage.fillAmount));
- }
- break;
- case UI_ImageFitPos.FitType.VerticalTop:
- zero.y = (float)(this.FitImage.height / 2);
- if (this.m_UseFillAmount)
- {
- zero.y -= (float)this.FitImage.height * ((!this.m_FillReverse) ? this.FitImage.fillAmount : (1f - this.FitImage.fillAmount));
- }
- break;
- case UI_ImageFitPos.FitType.VerticalBottom:
- zero.y = (float)(-(float)this.FitImage.height / 2);
- if (this.m_UseFillAmount)
- {
- zero.y += (float)this.FitImage.height * ((!this.m_FillReverse) ? this.FitImage.fillAmount : (1f - this.FitImage.fillAmount));
- }
- break;
- }
- if (this.m_UIFitType == UI_ImageFitPos.FitType.HorizontalLeft || this.m_UIFitType == UI_ImageFitPos.FitType.HorizontalRight)
- {
- base.transform.localPosition = new Vector3(this.FitImage.transform.localPosition.x + zero.x, base.transform.localPosition.y, 0f);
- }
- else
- {
- base.transform.localPosition = new Vector3(base.transform.localPosition.x, this.FitImage.transform.localPosition.y + zero.y, 0f);
- }
- }
- [SerializeField]
- private UI_ImageFitPos.FitType m_UIFitType = UI_ImageFitPos.FitType.HorizontalLeft;
- [SerializeField]
- private bool m_UseFillAmount;
- [SerializeField]
- private bool m_FillReverse;
- public UIBasicSprite FitImage;
- private enum FitType
- {
- HorizontalRight,
- HorizontalLeft,
- VerticalTop,
- VerticalBottom
- }
- }
|