Example #1
0
        private void RefreshProgress()
        {
            var queueGridItem = m_queueGrid.TryGetItemAt(0);

            if (queueGridItem == null)
            {
                return;
            }

            var queueItem = (MyProductionBlock.QueueItem)queueGridItem.UserData;

            queueGridItem.OverlayPercent = MathHelper.Clamp(m_selectedAssembler.CurrentProgress, 0f, 1f);
            queueGridItem.ToolTip.ToolTips.Clear();

            m_textCache.Clear().AppendFormat("{0}: {1}%", queueItem.Blueprint.DisplayNameText, (int)(m_selectedAssembler.CurrentProgress * 100f));
            queueGridItem.ToolTip.AddToolTip(m_textCache.ToString());

            if (m_selectedAssembler.CurrentState == MyAssembler.StateEnum.Ok)
            {
                queueGridItem.IconColorMask    = Color.White.ToVector4();
                queueGridItem.OverlayColorMask = Color.White.ToVector4();
            }
            else
            {
                queueGridItem.IconColorMask    = ERROR_ICON_COLOR_MASK;
                queueGridItem.OverlayColorMask = Color.Red.ToVector4();
                queueGridItem.ToolTip.AddToolTip(GetAssemblerStateText(m_selectedAssembler.CurrentState), font: MyFontEnum.Red);
            }
        }
Example #2
0
        private void RefreshBlueprintGridColors()
        {
            m_selectedAssembler.InventoryOwnersDirty = true;
            for (int i = 0; i < m_blueprintsGrid.RowsCount; ++i)
            {
                for (int j = 0; j < m_blueprintsGrid.ColumnsCount; ++j)
                {
                    var item = m_blueprintsGrid.TryGetItemAt(i, j);
                    if (item == null)
                    {
                        continue;
                    }
                    var blueprint = item.UserData as MyBlueprintDefinitionBase;
                    if (blueprint == null)
                    {
                        continue;
                    }
                    item.IconColorMask = Vector4.One;
                    if (m_selectedAssembler == null /*|| CurrentAssemblerMode == AssemblerMode.Disassembling*/)
                    {
                        continue;
                    }

                    AddComponentPrerequisites(blueprint, 1, m_requiredCountCache);

                    if (CurrentAssemblerMode == AssemblerMode.Assembling)
                    {
                        foreach (var entry in m_requiredCountCache)
                        {
                            if (!m_selectedAssembler.CheckConveyorResources(entry.Value, entry.Key))
                            {
                                item.IconColorMask = ERROR_ICON_COLOR_MASK;
                                break;
                            }
                        }
                    }
                    else if (CurrentAssemblerMode == AssemblerMode.Disassembling)
                    {
                        if (!m_selectedAssembler.CheckConveyorResources(null, blueprint.Results[0].Id))
                        {
                            item.IconColorMask = ERROR_ICON_COLOR_MASK;
                        }
                    }
                    m_requiredCountCache.Clear();
                }
            }
        }