コード例 #1
0
ファイル: HUDManager.cs プロジェクト: WangChangH/MafiaUnity
    public void DrawSprite(string name, HUDAnchorMode mode, Vector2 offset)
    {
        if (!entries.ContainsKey(name))
        {
            return;
        }

        var entry  = entries[name];
        var sprite = entry.sprite;
        var region = ProcessRelativePosition(mode, offset, sprite);

        GUI.DrawTexture(region, entry.sprite);
    }
コード例 #2
0
ファイル: HUDManager.cs プロジェクト: WangChangH/MafiaUnity
    public Rect ProcessRelativePosition(HUDAnchorMode mode, Vector2 offset, Texture2D sprite)
    {
        var region = new Rect();

        if (sprite == null)
        {
            return(region);
        }

        if (mode.HasFlag(HUDAnchorMode.Right))
        {
            region.x = Screen.width - sprite.width * scale - offset.x;
        }
        else
        {
            region.x = offset.x;
        }

        if (mode.HasFlag(HUDAnchorMode.Bottom))
        {
            region.y = Screen.height - sprite.height * scale - offset.y;
        }
        else
        {
            region.y = offset.y;
        }

        if (mode.HasFlag(HUDAnchorMode.MiddleX))
        {
            region.x = Screen.width / 2f - sprite.width * scale / 2f - offset.x;
        }

        if (mode.HasFlag(HUDAnchorMode.MiddleY))
        {
            region.y = Screen.height / 2f - sprite.height * scale / 2f - offset.y;
        }

        region.width  = sprite.width * scale;
        region.height = sprite.height * scale;

        return(region);
    }
コード例 #3
0
ファイル: HUDManager.cs プロジェクト: WangChangH/MafiaUnity
    public void DrawNumber(int num, HUDAnchorMode mode, Vector2 offset, float numScale = 1f)
    {
        if (!isNumbersFontLoaded)
        {
            LoadNumbersFont();
        }

        char[] buf = num.ToString().ToCharArray();

        var region = ProcessRelativePosition(mode, offset * numScale, GetSprite("num1"));

        region.width  *= numScale;
        region.height *= numScale;

        foreach (var c in buf)
        {
            var spriteName = "num" + c;

            region.x += 11f * scale * numScale;

            GUI.DrawTexture(region, entries[spriteName].sprite);
        }
    }