Hello Justin,
While looking at the Crosshairs code I noticed we're using "UnityEngineUtility.SizeSprite" and setting RectTransform size with it.
Would it be possible to do it this instead:
Add this property
in Awake
Add this method. It is very similar to what you're doing in "OnEquipItem" method
and change OnEquipItem to this:
It is not a big change. It just makes setting sprite size optional with a small makeup.
Annddd... I noticed I posted this in wrong forum!
Would it possible to move it to UCC? Can I do it?
While looking at the Crosshairs code I noticed we're using "UnityEngineUtility.SizeSprite" and setting RectTransform size with it.
Would it be possible to do it this instead:
Add this property
C#:
[Tooltip("Set Crosshairs size based on Sprite asset size.")]
[SerializeField] protected bool m_SetSpriteSize = true;
in Awake
C#:
if (m_SetSpriteSize && (m_CenterCrosshairsImage.enabled = (m_DefaultSprite != null)) == true)
{
UnityEngineUtility.SizeSprite(m_CenterCrosshairsImage.sprite, m_CenterRectTransform);
}
Add this method. It is very similar to what you're doing in "OnEquipItem" method
C#:
void SetCrosshairsImage(Image _crosshairsImage, Sprite _crosshairsSprite, Vector2 _position)
{
_crosshairsImage.sprite = _crosshairsSprite;
if (_crosshairsImage.sprite != null)
{
_crosshairsImage.enabled = !m_Aiming || m_EquippedCharacterItem.ShowCrosshairsOnAim;
PositionSprite(_crosshairsImage.rectTransform, _position.x, _position.y);
if (m_SetSpriteSize) UnityEngineUtility.SizeSprite(_crosshairsImage.sprite, _crosshairsImage.rectTransform);
}
else
{
_crosshairsImage.enabled = false;
}
}
and change OnEquipItem to this:
C#:
private void OnEquipItem(CharacterItem characterItem, int slotID)
{
if (!characterItem.DominantItem || m_EquippedCharacterItem == characterItem) {
return;
}
m_CurrentCrosshairsSpread = m_TargetCrosshairsSpread = 0;
m_EquippedCharacterItem = characterItem;
if (m_CenterCrosshairsImage != null)
{
SetCrosshairsImage(m_CenterCrosshairsImage, m_EquippedCharacterItem.CenterCrosshairs != null ? m_EquippedCharacterItem.CenterCrosshairs : m_DefaultSprite, Vector2.zero);
}
if (m_LeftCrosshairsImage != null)
{
SetCrosshairsImage(m_LeftCrosshairsImage, m_EquippedCharacterItem.LeftCrosshairs, new Vector2(-m_EquippedCharacterItem.QuadrantOffset, 0));
}
if (m_TopCrosshairsImage != null)
{
SetCrosshairsImage(m_TopCrosshairsImage, m_EquippedCharacterItem.TopCrosshairs, new Vector2(0, m_EquippedCharacterItem.QuadrantOffset));
}
if (m_RightCrosshairsImage != null)
{
SetCrosshairsImage(m_RightCrosshairsImage, m_EquippedCharacterItem.RightCrosshairs, new Vector2(m_EquippedCharacterItem.QuadrantOffset, 0));
}
if (m_BottomCrosshairsImage != null)
{
SetCrosshairsImage(m_BottomCrosshairsImage, m_EquippedCharacterItem.BottomCrosshairs, new Vector2(0, -m_EquippedCharacterItem.QuadrantOffset));
}
m_EquippedItemCount++;
}
It is not a big change. It just makes setting sprite size optional with a small makeup.
Annddd... I noticed I posted this in wrong forum!
Would it possible to move it to UCC? Can I do it?