void ChkListPalettes_ItemCheck(object sender, ItemCheckEventArgs e) { var asset = _core.SelectedObject; if (asset == null) { return; } var palette = (AlbionPalette)chkListPalettes.Items[e.Index]; var paletteId = PaletteId.FromUInt32(palette.Id); if (e.NewValue == CheckState.Checked) { asset.Set(AssetProperty.PaletteId, paletteId.Id); // TODO: Uncheck all others } else { if (asset.Get(AssetProperty.PaletteId, 0) == paletteId.Id) { asset.Set <object>(AssetProperty.PaletteId, null); } } _core.TriggerAssetChanged(asset); }
void OnTick(int frames) { if (Palette == null || !Palette.IsAnimated) { return; } Frame += frames; while (Frame >= Palette.GetCompletePalette().Count) { Frame -= Palette.GetCompletePalette().Count; } GeneratePalette(PaletteId.FromUInt32(Palette.Id), Palette.Name, Palette.GetPaletteAtTime(Frame)); }
void SyncSelectedPalettes() { var asset = _core.SelectedObject; if (asset == null) { return; } for (int index = 0; index < chkListPalettes.Items.Count; index++) { var item = (AlbionPalette)chkListPalettes.Items[index]; var paletteId = PaletteId.FromUInt32(item.Id); chkListPalettes.SetItemChecked(index, asset.Get(AssetProperty.PaletteId, 0) == paletteId.Id); } if (chkListPalettes.SelectedIndex != -1) { if (!chkListPalettes.GetItemChecked(chkListPalettes.SelectedIndex) && chkListPalettes.CheckedIndices.Count > 0) { chkListPalettes.SelectedIndex = chkListPalettes.CheckedIndices[0]; } } }