예제 #1
0
    // Update is called once per frame
    void Update()
    {
        if (floor.type == Tile.TileType.SLIME)
        {
            Kill();
        }
        else if (floor.type == Tile.TileType.VILLAGE)
        {
            Win();
        }
        if (menu && menu.IsActive() || dead)
        {
            return;
        }

        if (focusedTileOverlay)
        {
            Tile t = Tile.GetFocusedTile();
            if (t && !UIHover.IsMouseOverUI() && !moving && timeLeft > 0)
            {
                Face(t);
                Color color = TestSpendTime(t.GetTimeLost()) ? Color.white : Color.red;
                focusedTileOverlay.Highlight(t, color);
            }
            else
            {
                focusedTileOverlay.Disable();
            }
        }

        if (Input.GetMouseButtonDown(0) && !UIHover.IsMouseOverUI() && !moving)
        {
            Tile t = Tile.GetFocusedTile();

            if (t)
            {
                TryMove(t);
            }
        }

        if (moving)
        {
            float dist = (floor.transform.position - transform.position).magnitude;
            if (dist > 0.05)
            {
                if (source && !source.isPlaying && footStepCounter > 0)
                {
                    source.Play();
                    footStepCounter--;
                }
                transform.position = Vector2.Lerp(transform.position, floor.transform.position, speed);
            }
            else
            {
                footStepCounter    = maxFootSteps;
                moving             = false;
                transform.position = floor.transform.position;
            }
        }
    }
예제 #2
0
    private void Awake()
    {
        hover = gameObject.AddComponent<UIHover>();
        hover.triggerTime = 0.25f;

        hover.onHoverBegin.AddListener(() => tooltip.SetText(text));
        hover.onTriggerBegin.AddListener(() => tooltip.Show(source, text, bias));
        hover.onTriggerEnd.AddListener(() => tooltip.Hide());
    }
예제 #3
0
 public void Register(UIHover ui)
 {
     if (!UIHoverList.ContainsKey(ui))
     {
         UIHoverList[ui] = ui.UIObject;
     }
     else
     {
         Destroy(UIHoverList[ui]);
         UIHoverList[ui] = ui.UIObject;
     }
     ui.UIObject.transform.SetParent(transform);
     ui.UIObject.transform.SetSiblingIndex(0);
     //transform.childCount
 }