Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class FloatingTextManager : NetworkBehaviour
- {
- public static FloatingTextManager Instance { get; private set; }
- [SerializeField]
- private FloatingText floatingTextObject;
- private void Awake()
- {
- if (Instance == null)
- {
- Instance = this;
- }
- else
- {
- Destroy(gameObject);
- }
- }
- [ServerRpc(RequireOwnership = false)]
- public void RPC_SpawnDamageNumber(NetworkObject target, int amount)
- {
- // Call the observers RPC to spawn the damage number on the target client
- SpawnDamageNumber(target, amount);
- }
- private void SpawnDamageNumber(NetworkObject target, int amount)
- {
- Scene targetScene = target.gameObject.scene;
- Color textColor = amount >= 0 ? Color.green : Color.red;
- floatingTextObject.SetText(amount.ToString(), textColor);
- SpriteRenderer spriteRenderer = target.GetComponent<SpriteRenderer>();
- float spriteHeight = spriteRenderer.bounds.size.y;
- Vector3 topPosition = target.transform.position + new Vector3(0, spriteHeight * 1.25f, 0);
- SpawnManager.Instance.RPC_SpawnObjectAtPosition(floatingTextObject.gameObject, targetScene, topPosition);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment