internal protected virtual void LoadMeta(FtMetaSequenceRedirect metaSequenceRedirect, FtMetaSequenceList metaSequenceList, FtSequenceList sequenceList) { type = metaSequenceRedirect.Type; invokationDelay = metaSequenceRedirect.InvokationDelay; int sequenceIdx = metaSequenceList.IndexOf(metaSequenceRedirect.Sequence); if (sequenceIdx < 0) { throw FtInternalException.Create(InternalError.FtSequenceRedirect_LoadMeta_MetaSequenceRedirectSequenceNotFoundInMetaSequenceList, metaSequenceRedirect.Sequence.Name); // should never happen } else { sequence = sequenceList[sequenceIdx]; // sequenceList are in same order as Meta Sequence List } }
protected internal virtual void Assign(FtMetaSequenceRedirect source, FtMetaSequenceList sequenceList, FtMetaSequenceList sourceSequenceList) { InvokationDelay = source.InvokationDelay; int sequenceIndex = sourceSequenceList.IndexOf(source.Sequence); if (sequenceIndex < 0) { throw FtInternalException.Create(InternalError.FtMetaSequenceItem_Assign_SourceFieldNotFound); // should never happen } else { if (sequenceIndex >= sequenceList.Count) { throw FtInternalException.Create(InternalError.FtMetaSequenceItem_Assign_FieldIndexOutOfRange, sequenceIndex.ToString()); // should never happen } else { Sequence = sequenceList[sequenceIndex]; } } }