protected override CommandUINode item(object value, int i)
        {
            int lvl   = i % this.ColumnCount;
            var tuple = this.SupportPartners.ElementAt(i / this.ColumnCount);

            int rank = 0;
            SupportViewerState state = SupportViewerState.Disabled;
            bool fieldBaseDifference = false;

            if (Global.progress.recruitedActors.Contains(tuple.Item2))
            {
                var otherActor = Global.data_actors[tuple.Item2];
                if (Global.data_supports[tuple.Item1].Supports[lvl].ValidSupport)
                {
                    rank = lvl + 1;
                    fieldBaseDifference = Global.data_supports[tuple.Item1].Supports[lvl].FieldBaseDifference;

                    if (Global.progress.supports.ContainsKey(tuple.Item1) &&
                        lvl < Global.progress.supports[tuple.Item1])
                    {
                        if (Global.data_supports[tuple.Item1].MaxLevel == Global.progress.supports[tuple.Item1])
                        {
                            state = SupportViewerState.Capped;
                        }
                        else
                        {
                            state = SupportViewerState.Enabled;
                        }
                    }
                }
            }

            var text_node = new SupportViewerRankUINode("", rank, state, fieldBaseDifference);

            text_node.loc = item_loc(i);
            return(text_node);
        }
Exemplo n.º 2
0
        internal SupportViewerRankUINode(
            string helpLabel,
            int rank,
            SupportViewerState state,
            bool fieldBaseDifference)
            : base(helpLabel, null, 8)
        {
            string color;

            switch (state)
            {
            case SupportViewerState.Capped:
                color = "Green";
                break;

            case SupportViewerState.Enabled:
                color = "White";
                break;

            case SupportViewerState.Disabled:
            default:
                color = "Grey";
#if !DEBUG // Allow all supports in debug
                _enabled = false;
#endif
                break;
            }

            Text = GetText(rank, color);

            if (fieldBaseDifference)
            {
                BaseText = GetText(rank, color);

                mouse_off_graphic();
            }
        }