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); }
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(); } }