Example #1
0
        private void CheckValueSequenceRedirect(out int fieldsAffectedFromIndex)
        {
            fieldsAffectedFromIndex = -1;

            if (SequenceRedirectList.Count > 0 && !Sidelined)
            {
                bool redirected = false;
                for (int i = 0; i < SequenceRedirectList.Count; i++)
                {
                    FtSequenceRedirect redirect = SequenceRedirectList[i];
                    if (redirect.Type != FtStandardSequenceRedirectType.Null)
                    {
                        if (redirect.CheckTriggered(this))
                        {
                            OnSequenceRedirect(redirect.Sequence, redirect.InvokationDelay, out fieldsAffectedFromIndex);
                            redirected = true;
                            break;
                        }
                    }
                }

                if (!redirected)
                {
                    // in case was previously redirected
                    OnSequenceRedirect(null, IgnoredSequenceInvokationDelay, out fieldsAffectedFromIndex);
                }
            }
        }
Example #2
0
        internal FtSequenceRedirect New(int type)
        {
            FtSequenceRedirect redirect = SequenceRedirectFactory.CreateSequenceRedirect(Count, type);

            list.Add(redirect);
            return(redirect);
        }
Example #3
0
 internal protected void LoadMetaSequenceRedirects(FtMetaSequenceItem metaSequenceItem, FtMetaSequenceList metaSequenceList, FtSequenceList sequenceList)
 {
     for (int i = 0; i < metaSequenceItem.RedirectList.Count; i++)
     {
         int redirectType            = metaSequenceItem.RedirectList[i].Type;
         FtSequenceRedirect redirect = redirectList.New(redirectType);
         redirect.LoadMeta(metaSequenceItem.RedirectList[i], metaSequenceList, sequenceList);
     }
 }