public void Update(int number, VClip clip, PIGFile piggyFile, Palette palette) { isLocked = true; vclipID = number; this.clip = clip; this.piggyFile = piggyFile; this.palette = palette; FrameTimeTextBox.Text = clip.FrameTime.ToString(); TotalTimeTextBox.Text = clip.PlayTime.ToString(); LightValueTextBox.Text = clip.LightValue.ToString(); SoundComboBox.SelectedIndex = clip.SoundNum + 1; FrameCountTextBox.Text = clip.NumFrames.ToString(); VClipRodFlag.Checked = clip.DrawAsRod; if (!transactionManager.TransactionInProgress) { FrameSpinner.Value = 0; UpdateAnimationFrame(0); } else { UpdateAnimationFrame((int)FrameSpinner.Value); } isLocked = false; }
public void UpdateVClipPanel(int num) { vclipPanel.Stop(); VClip clip = datafile.VClips[num]; vclipPanel.Update(num, clip, datafile.piggyFile, palette); txtElemName.Text = datafile.VClipNames[num]; }
public VClipRemapTransaction(string label, int page, int tab, VClip clip, PIGFile piggyFile, int clipFirstFrame) : base(label, clip, "", page, tab) { this.clip = clip; this.piggyFile = piggyFile; this.frame = clipFirstFrame; framebackup = new ushort[clip.Frames.Length]; }
public override void Revert() { property.SetValue(target, oldValue); VClip clip = (VClip)target; if (clip.NumFrames <= 0) { clip.FrameTime = 0; } else { clip.FrameTime = clip.PlayTime / clip.NumFrames; } }
public void UpdateVClipPanel(int num) { vclipPanel.Stop(); if (datafile.VClips.Count == 0) { statusBar1.Text = "No VClips present."; vclipPanel.Enabled = false; } else { statusBar1.Text = ""; VClip clip = datafile.VClips[num]; vclipPanel.Enabled = true; vclipPanel.Update(num, clip, datafile.piggyFile, palette); txtElemName.Text = clip.Name; } }
public override bool Apply() { //Preserve the old value for undo purposes oldValue = property.GetValue(target); //Set the new value property.SetValue(target, newValue); VClip clip = (VClip)target; if (clip.NumFrames <= 0) { clip.FrameTime = 0; } else { clip.FrameTime = clip.PlayTime / clip.NumFrames; } return(oldValue != newValue); //this is a little bad, but the results should not matter. Not that this is very ACID anyways... }
public override bool Apply() { lastValue = datafile.VClips[deleteNum]; datafile.VClips.RemoveAt(deleteNum); //Resolve references references.Clear(); if (datafile.VClips.Count > 0) { //Resolve eclip break clips for (int i = 0; i < datafile.EClips.Count; i++) { if (datafile.EClips[i].ExplosionVClip == deleteNum) { references.Add(new ChangedHAMReference(datafile.EClips[i].Clone(), datafile.EClips, i)); datafile.EClips[i].ExplosionVClip = -1; } else if (datafile.EClips[i].ExplosionVClip > deleteNum) { references.Add(new ChangedHAMReference(datafile.EClips[i].Clone(), datafile.EClips, i)); datafile.EClips[i].ExplosionVClip--; } } //Resolve robot vclips for (int i = 0; i < datafile.Robots.Count; i++) { bool change = false; Robot oldRobot = datafile.Robots[i].Clone(); if (datafile.Robots[i].HitVClipNum == deleteNum) { change = true; datafile.Robots[i].HitVClipNum = -1; } else if (datafile.Robots[i].HitVClipNum > deleteNum) { change = true; datafile.Robots[i].HitVClipNum--; } if (datafile.Robots[i].DeathVClipNum == deleteNum) { change = true; datafile.Robots[i].DeathVClipNum = -1; } else if (datafile.Robots[i].DeathVClipNum > deleteNum) { change = true; datafile.Robots[i].DeathVClipNum--; } if (change) { references.Add(new ChangedHAMReference(oldRobot, datafile.Robots, i)); } } //Resolve weapon vclips for (int i = 0; i < datafile.Weapons.Count; i++) { bool change = false; Weapon oldWeapon = datafile.Weapons[i].Clone(); if (datafile.Weapons[i].RobotHitVClip >= deleteNum) { change = true; datafile.Weapons[i].RobotHitVClip--; } if (datafile.Weapons[i].WallHitVClip >= deleteNum) { change = true; datafile.Weapons[i].WallHitVClip--; } if (datafile.Weapons[i].MuzzleFlashVClip >= deleteNum) { change = true; datafile.Weapons[i].MuzzleFlashVClip--; } if (datafile.Weapons[i].WeaponVClip >= deleteNum) { change = true; datafile.Weapons[i].WeaponVClip--; } if (change) { references.Add(new ChangedHAMReference(oldWeapon, datafile.Weapons, i)); } } //Resolve powerup vclips for (int i = 0; i < datafile.Powerups.Count; i++) { if (datafile.Powerups[i].VClipNum >= deleteNum) { references.Add(new ChangedHAMReference(datafile.Powerups[i].Clone(), datafile.Powerups, i)); datafile.Powerups[i].VClipNum = Math.Max(0, datafile.Powerups[i].VClipNum - 1); } } } return(true); }