Exemplo n.º 1
0
    private void Awake()
    {
        Messaging.Player.Position.AddListener((v) =>
        {
            Vec2I g = TheGrid.GridPosition(v);

            if (lastPlayerGridPosition == g)
            {
                return;
            }

            lastPlayerGridPosition = g;

            int gridDistance = Vec2I.Max(g, TheGrid.GridPosition(transform.position));

            if (gridDistance <= ShowTextDistance)
            {
                if (floatingText == null)
                {
                    floatingText = Messaging.GUI.FloatingText(transform.position + Offset, ShowText, TextColorFar);
                }

                floatingText.color = gridDistance <= UseDistance ? TextColorClose : TextColorFar;
            }
            else if (floatingText != null && gridDistance > ShowTextDistance)
            {
                Destroy(floatingText.gameObject);
                floatingText = null;
            }
        });
    }
Exemplo n.º 2
0
 private void OnDisable()
 {
     if (floatingText != null)
     {
         Destroy(floatingText.gameObject);
         floatingText = null;
     }
 }