Ejemplo n.º 1
0
    private void UpdateIconPosition(CountDownUnitIcon cdui)
    {
        float time = cdui.Unit.WaitTime;

        cdui.Icon.GetComponent <RectTransform>().transform.localPosition = new Vector3(GetIconX(time), cdui.Icon.GetComponent <RectTransform>().transform.localPosition.y, 0);

        if (cdui.Unit.Moved)
        {
            float penalty;
            if (cdui.Unit.LockdownPenalty)
            {
                penalty = cdui.Unit.LockdownPenaltyTime + cdui.Unit.BaseCountDownTime;
                cdui.Unit.LockdownPenalty = false;
            }
            else
            {
                penalty = cdui.Unit.BaseCountDownTime;
            }
            cdui.Icon.GetComponent <CountDownIcon>().ShowPenaltyTime(penalty);
            cdui.Unit.Moved = false;

            DecideIconPosition(cdui);
            cdui.Unlocked = false;
        }
    }
Ejemplo n.º 2
0
    private void DecideIconPosition(CountDownUnitIcon cdui)
    {
        var pos = cdui.Unit.Owned ? 0 : 5;

        cdui.Position = pos;
        SetYPosition(cdui, pos);
        AvoidOverlap();
    }
Ejemplo n.º 3
0
    private void SetYPosition(CountDownUnitIcon cdui, int posId)
    {
        int[] candidates = { 1, 2, 3, 4, 5, -1, -2, -3, -4, -5 };
        var   y          = candidates[posId] * IconYOffset;

        cdui.Icon.transform.localPosition = new Vector3(cdui.Icon.transform.localPosition.x, y, 0);
        //Schin change y>0 condition to (0,0) so that text is not too high
        // Also add canvas to Text of Countdown Icon to make time text always visible
        Vector2 textOffset = y > 0 ? new Vector2(0, TextYOffset) : new Vector2(0, -TextYOffset);

        cdui.Icon.GetComponent <CountDownIcon>().SetTextPosition(textOffset);
    }
Ejemplo n.º 4
0
    // Add units to the countdown bar
    public void RegisterUnit(BasicUnit unit)
    {
        if (!UnitTypeCDIconMapper.map.TryGetValue(unit.unit.type, out string iconPath))
        {
            return;
        }
        var        texture = (Texture)Resources.Load(iconPath);
        GameObject icon    = Instantiate(modelIcon);

        icon.GetComponent <RawImage>().texture = texture;

        var cdui = new CountDownUnitIcon();

        cdui.Unit = unit;
        cdui.Icon = icon;
        targets.Add(cdui);

        icon.GetComponent <RectTransform>().SetParent(this.transform);

        cdui.Icon.GetComponent <CountDownIcon>().TargetUnit = cdui.Unit;

        DecideIconPosition(cdui);
    }