public static void HandleFieldColorBuffer(object obj, bool nameChanged) { Buffer.IsInert = true; if (!Buffer.HasDefaultColorOrName(!(Colors.DefaultColor is null))) { Colors.ResetColor(Buffer); Buffer = null; } if (nameChanged) { Buffer.Name = (string)obj; Buffer.IsInert = true; if (!Buffer.HasDefaultColorOrNull(!(Colors.DefaultColor is null))) { Colors.ResetColor(Buffer); } } else { Buffer.Value = (Color)obj; Buffer.IsInert = true; if (!Buffer.HasDefaultNameOrNull()) { Colors.ResetColor(Buffer); } } }
static Colors() { DefaultColor = new FieldColor(Xamarin.Forms.Color.Wheat, nameof(DefaultColor)); PropertyHandlerHelper <Xamarin.Forms.Color> .DefaultValueList.Add(DefaultColor); InitializeColorNames(); InitializeEnumerator(); }
static void InitializeColorNames() { Idle = new FieldColor(DefaultColor, nameof(Idle)) { IsInert = true }; IdleOvercovered = new FieldColor(DefaultColor, nameof(IdleOvercovered)) { IsInert = true }; ShipIdle = new FieldColor(DefaultColor, nameof(ShipIdle)) { IsInert = true }; ShipAttacked = new FieldColor(DefaultColor, nameof(ShipAttacked)) { IsInert = true }; ShipOvercovered = new FieldColor(ShipOvercovered, nameof(ShipOvercovered)) { IsInert = true }; }
public static void ResetColor(object obj) { if (!(obj is FieldColor)) { var name = obj as string; if (!string.IsNullOrEmpty(name)) { ColorChanging = name; } return; } var color = (FieldColor)obj; switch (color.Name) { case nameof(Idle): Idle = color; break; case nameof(IdleOvercovered): IdleOvercovered = color; break; case nameof(ShipIdle): ShipIdle = color; break; case nameof(ShipAttacked): ShipAttacked = color; break; case nameof(ShipOvercovered): ShipOvercovered = color; break; default: DefaultColor = color; break; } }