//called when data for any output pin is requested
        public void Evaluate(int SpreadMax)
        {
            FNameOutput.SliceCount = FInput.SliceCount;
            FOrdOutput.SliceCount  = FInput.SliceCount;

            var update = FChangeEnum[0] || (CUpdateInFirstFrame && FFirstFrame);

            if (update && FEnumStrings.SliceCount > 0)
            {
                EnumManager.UpdateEnum(CMyEnumName,
                                       FEnumStrings[0], FEnumStrings.ToArray());
            }

            if (FInput.IsChanged)
            {
                for (int i = 0; i < SpreadMax; i++)
                {
                    FNameOutput[i] = FInput[i].Name;
                    FOrdOutput[i]  = FInput[i].Index;
                }

                Flogger.Log(LogType.Debug, "Input was changed");
            }

            FFirstFrame = false;
        }
Exemple #2
0
        //called when data for any output pin is requested
        public void Evaluate(int SpreadMax)
        {
            FNameOutput.SliceCount = FInput.SliceCount;
            FOrdOutput.SliceCount  = FInput.SliceCount;

            if ((FChangeEnum[0]) && (FEnumStrings.SliceCount > 0))
            {
                EnumManager.UpdateEnum("MyDynamicEnum",
                                       FEnumStrings[0], FEnumStrings.ToArray());
            }

            if (FInput.IsChanged)
            {
                for (int i = 0; i < SpreadMax; i++)
                {
                    FNameOutput[i] = FInput[i].Name;
                    FOrdOutput[i]  = FInput[i].Index;
                }

                Flogger.Log(LogType.Debug, "Input was changed");
            }
        }