internal void init(TeamBrookvale.Game.IInventoryModel inventoryModel, TeamBrookvale.Game.IGameModel gameModel, Font font)
        {
            this.inventoryModel = inventoryModel;
            this.gameModel      = gameModel;

            _guiElemRectRegisterSignal.Dispatch(iconRect, true);

            counterIcon = Resources.Load <Texture2D> ("UI/Counters/InventoryCounterBackgroundIcon");            // this one is used as a background for the counter
            if (counterIcon == null)
            {
                Debug.LogError("InventoryCounterBackgroundIcon not found");
            }

            // initialize text
            textGuiStyle.font             = font;
            textGuiStyle.alignment        = TextAnchor.MiddleCenter;
            textGuiStyle.normal.textColor = Color.white;
            textGuiStyle.fontSize         = TeamBrookvale.Game.TBUtil.CalcFontSize(30);

            // move the text a few pixels up from the middle of the circle
            textRect = new Rect(
                iconRect.xMin,
                iconRect.yMin - 20 * Screen.height / 640,
                iconRect.width,
                iconRect.height);
        }
        internal void init(TeamBrookvale.Game.IInventoryModel inventoryModel, TeamBrookvale.Game.IGameModel gameModel)
        {
            this.inventoryModel = inventoryModel;
            this.gameModel      = gameModel;

            _guiElemRectRegisterSignal.Dispatch(iconRect, true);
            getIconRect = iconRect;

            guiStyle.alignment = TextAnchor.MiddleCenter;
        }