/// <summary> Adds an AniJob to this Model. </summary> public void AddAniJob(AniJob job) { if (job == null) { throw new ArgumentNullException("AniJob is null!"); } if (job.IsCreated) { throw new ArgumentException("AniJob is already added to another Model!"); } if (job.NextAni != null && job.NextAni.ModelInstance != this) { throw new ArgumentException("AniJob's NextAni is for a different Model!"); } CanChangeNow(); aniIDs.Add(job); aniJobs.Add(job, ref job.collID); dynJobs.Add(job, ref job.dynID); pAddAniJob(job); job.SetModel(this); }
public void RemoveAniJob(AniJob job) { if (job == null) { throw new ArgumentNullException("AniJob is null!"); } if (job.ModelInstance != this) { throw new Exception("AniJob is not from this Model!"); } CanChangeNow(); job.SetModel(null); aniIDs.Remove(job); aniJobs.Remove(ref job.collID); dynJobs.Remove(ref job.dynID); pRemoveAniJob(job); }