public override void Begin() { if (!Active) { currentAffector = affectors[0]; currentAffectorIndex = 0; currentAffector.Begin(); base.Begin(); } }
void aff_End() { currentAffectorIndex++; if (currentAffectorIndex >= affectors.Count) { Active = false; FireEnd(); return; } // TODO Affectors com duracao muito curta precisam ser tratados devidamente currentAffector = affectors[currentAffectorIndex]; currentAffector.Begin(); }
public AffectorChain Add(AffectorFinite aff) { affectors.Add(aff); aff.End.Add(aff_End); return(this); }
public AffectorSet Add(AffectorFinite aff, int startTime) { affectors.Add(aff, startTime); aff.End.Add(aff_End); return(this); }