示例#1
0
    void OnGUI()
    {
        if (_texture == null)
        {
            _texture          = new Texture2D(_fog.texture.width, _fog.texture.height);
            _texture.wrapMode = TextureWrapMode.Clamp;
        }

        if (_panelStyle == null)
        {
            Texture2D panelTex = new Texture2D(1, 1);
            panelTex.SetPixels32(new Color32[] { new Color32(255, 255, 255, 64) });
            panelTex.Apply();
            _panelStyle = new GUIStyle();
            _panelStyle.normal.background = panelTex;
        }

        byte[]    original = _fog.texture.GetRawTextureData();
        Color32[] pixels   = new Color32[original.Length];
        for (int i = 0; i < pixels.Length; ++i)
        {
            pixels[i] = original[i] < 255 ? new Color32(0, 255, 50, 255) : new Color32(0, 0, 0, 255);
        }
        _texture.SetPixels32(pixels);
        _texture.Apply();

        panelwidth = player.hud.GetORDERS_BAR_WIDTH;

        // draw panel
        //GUI.Box(new Rect(0, 0, panelwidth, Screen.height), "", _panelStyle);

        GUI.DrawTexture(new Rect(Screen.width - panelwidth, Screen.height - panelwidth, panelwidth, panelwidth), ResourceManager.GreyTexture);
        // draw map
        if (GUI.Button(new Rect(Screen.width - panelwidth, Screen.height - panelwidth, panelwidth, panelwidth), _texture))
        {
            Vector2 worldPositionToGo = _fog.FogPositionToWorldPosition(GetMinimapRatinalHitPoint(Input.mousePosition));
            transform.position = new Vector3(worldPositionToGo.x, transform.position.y, worldPositionToGo.y);
        }

        DrawOnMap("C", transform.position, panelwidth);
    }