Example #1
0
    public void ShowTargetIndicator(bool hover = false, Action <UnitScript> onHover = null)
    {
        if (_hoveredState == HoveredState.Hovered)
        {
            return;
        }

        if ((!_playerScript.IsMe || !_playerScript.Player.IsMyTurn) && !hover)
        {
            return;
        }
        if (_unit.State == UnitState.GettingReady && !hover)
        {
            return;
        }

        LeanTween.cancel(_unitSelectorGraphic);
        _unitSelectorGraphic.transform.localScale = new Vector3(1f, 1f, 1f);
        LeanTween.alpha(_unitSelectorGraphic, 1f, 0.2f);
        LeanTween.scale(_unitSelectorGraphic, _unitSelectorGraphic.transform.localScale * 1.1f, 0.2f)
        .setEaseInOutCirc()
        .setLoopPingPong(-1);
        _hoveredState = HoveredState.Hovered;

        onHover?.Invoke(this);
    }
Example #2
0
    public void Ready(SpawnPointScript spawnPoint, PlayerScript player, Unit unit)
    {
        _targetingData    = new UnitTarget();
        _hoveredState     = HoveredState.NotHovered;
        _unitAction       = UnitAction.Idle;
        _unit             = unit;
        _playerScript     = player;
        _spawnPointScript = spawnPoint;

        transform.localPosition = Vector3.zero;
        _unitSprite.flipX       = !_playerScript.IsMe;
        _spawnPointScript.SetOccupied();

        _selectorArrows = new GameObject[_arrowInstanceCount];

        for (int i = 0; i < _arrowInstanceCount; i++)
        {
            _selectorArrows[i] = Instantiate(_selectorArrow, transform);
            _selectorArrows[i].GetComponentInChildren <SpriteRenderer>().enabled = false;
            if (i != _arrowInstanceCount - 1)
            {
                _selectorArrows[i].transform.localScale *= 0.7f;
            }
        }

        _sleepEffect.SetActive(true);
        UpdateTexts();
        ReadyEvents();
    }
Example #3
0
    public void HideTargetIndicator(Action <UnitScript> onExit = null)
    {
        if (_hoveredState == HoveredState.NotHovered)
        {
            return;
        }

        _hoveredState = HoveredState.NotHovered;

        LeanTween.cancel(_unitSelectorGraphic);
        LeanTween.alpha(_unitSelectorGraphic, 0f, 0f);
        _unitSelectorGraphic.transform.localScale = new Vector3(1f, 1f, 1f);
        onExit?.Invoke(this);


        if (_targetingData.currentTarget != null)
        {
            _targetingData.currentTarget.SetDeathMarkerActive(false);
        }
        SetDeathMarkerActive(false);
    }