Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
        }