Exemplo n.º 1
0
    public void CreateParticleSystemForEmployee(ParticleSystem _pEffect, List <PartSys> _list)
    {
        PartSys pSys = new PartSys();

        pSys.effect   = Instantiate(_pEffect, transform);
        pSys.instance = pSys.effect.gameObject;
        pSys.target   = pSys.instance;
        _list.Add(pSys);
        _list[_list.Count - 1].instance.SetActive(false);
    }
Exemplo n.º 2
0
    public void CreateParticleSystemForAllEmployees(ParticleSystem _pEffect, List <PartSys> _list)
    {
        _list.Clear();
        for (int i = 0; i < GameObject.FindGameObjectsWithTag("Employee").Length; i++)
        {
            PartSys pSys = new PartSys();

            pSys.effect   = Instantiate(_pEffect, transform);
            pSys.instance = pSys.effect.gameObject;
            pSys.target   = pSys.instance;
            _list.Add(pSys);
            _list[i].instance.SetActive(false);
        }
    }
    private void RenderDebugInfo(IGameViewport gameViewport, PartSys sys)
    {
        var screenPos    = gameViewport.WorldToScreen(sys.WorldPos);
        var screenX      = screenPos.X;
        var screenY      = screenPos.Y;
        var screenBounds = sys.GetScreenBounds();

        var left   = screenX + screenBounds.left * gameViewport.Zoom;
        var top    = screenY + screenBounds.top * gameViewport.Zoom;
        var right  = screenX + screenBounds.right * gameViewport.Zoom;
        var bottom = screenY + screenBounds.bottom * gameViewport.Zoom;

        var color = new PackedLinearColorA(0, 0, 255, 255);

        Span <Line2d> lines = stackalloc Line2d[4]
        {
            new Line2d(new Vector2(left, top), new Vector2(right, top), color),
            new Line2d(new Vector2(right, top), new Vector2(right, bottom), color),
            new Line2d(new Vector2(right, bottom), new Vector2(left, bottom), color),
            new Line2d(new Vector2(left, bottom), new Vector2(left, top), color)
        };

        _shapeRenderer2d.DrawLines(lines);

        var textEngine = Tig.RenderingDevice.TextEngine;

        var text = $"{sys.GetSpec().GetName()}";

        var style   = Globals.UiStyles.GetComputed("default");
        var metrics = textEngine.MeasureText(style, text, (int)(right - left), (int)(bottom - top));

        textEngine.RenderText(
            new RectangleF(
                (left + right - metrics.width) / 2f,
                (top + bottom - metrics.height) / 2f,
                (int)(right - left),
                (int)(bottom - top)
                ),
            style,
            text
            );
    }
}