public DesignDataListEntry(Rect r, ShipDesignData design, ButtonPress callback)
    {
        rect           = r;
        Design         = design;
        buttonCallBack = callback;
        Name           = Design.Design.Name + "  ";

        Command = new GUIContent();
        Money   = new GUIContent();

        GameManager.instance.UIContent.image = null;
        GameManager.instance.UIContent.text  = Name;
        Command.image = ResourceManager.GetIconTexture("Icon_CommandPoint");
        Command.text  = ":" + Design.CommandPoints.ToString("0") + "  ";
        Money.image   = ResourceManager.GetIconTexture("Icon_Money");
        Money.text    = ":" + Design.GetTotalValue().ToString("0.#");

        float nameWidthMax;
        float nameWidthMin;
        float commandWidthMax;
        float commandWidthMin;
        float moneyWidthMax;
        float moneyWidthMin;

        GameManager.instance.largeLabelStyle.CalcMinMaxWidth(GameManager.instance.UIContent, out nameWidthMin, out nameWidthMax);
        GameManager.instance.largeLabelStyle.CalcMinMaxWidth(Command, out commandWidthMin, out commandWidthMax);
        GameManager.instance.largeLabelStyle.CalcMinMaxWidth(Money, out moneyWidthMin, out moneyWidthMax);

        float indent = (rect.width - (nameWidthMax + commandWidthMax + moneyWidthMax)) / 2f;

        NameRect    = new Rect(rect.x + indent, rect.y, nameWidthMax, rect.height);
        CommandRect = new Rect(NameRect.xMax, rect.y, commandWidthMax, rect.height);
        MoneyRect   = new Rect(CommandRect.xMax, rect.y, moneyWidthMax, rect.height);
    }
 bool CanAffordDesign(ShipDesignData design)
 {
     if (design.CommandPoints <= CommandLimit - CommandUsed)
     {
         if (design.GetTotalValue() <= MoneyLimit - MoneyUsed)
         {
             return(true);
         }
     }
     return(false);
 }
    public void SetShipDesign(ShipDesign design, ButtonPress callBack, DeleteButtonPress deleteMethod)
    {
        shipDesign     = design;
        buttonCallBack = callBack;
        deleteCallBack = deleteMethod;

        ShipDesignData designData = shipDesign.GetShipDesignData();

        DesignName.text   = shipDesign.Name;
        CommandValue.text = designData.CommandPoints.ToString();
        CostValue.text    = designData.GetTotalValue().ToString("0.#");

        CommandIcon.overrideSprite = ResourceManager.instance.GetIconTexture("Icon_CommandPoint");
        CommandIcon.preserveAspect = true;

        CostIcon.overrideSprite = ResourceManager.instance.GetIconTexture("Icon_Money");
        CostIcon.preserveAspect = true;
    }