Exemple #1
0
 // Token: 0x0600025B RID: 603 RVA: 0x00016568 File Offset: 0x00014768
 private static void CheckSharedVariables(BehaviorSource behaviorSource, Task task)
 {
     if (task == null)
     {
         return;
     }
     TaskCopier.CheckSharedVariableFields(behaviorSource, task, task);
     if (task is ParentTask)
     {
         ParentTask parentTask = task as ParentTask;
         if (parentTask.Children != null)
         {
             for (int i = 0; i < parentTask.Children.Count; i++)
             {
                 TaskCopier.CheckSharedVariables(behaviorSource, parentTask.Children[i]);
             }
         }
     }
 }
Exemple #2
0
 // Token: 0x0600025C RID: 604 RVA: 0x000165D0 File Offset: 0x000147D0
 private static void CheckSharedVariableFields(BehaviorSource behaviorSource, Task task, object obj)
 {
     if (obj == null)
     {
         return;
     }
     FieldInfo[] allFields = TaskUtility.GetAllFields(obj.GetType());
     for (int i = 0; i < allFields.Length; i++)
     {
         if (typeof(SharedVariable).IsAssignableFrom(allFields[i].FieldType))
         {
             SharedVariable sharedVariable = allFields[i].GetValue(obj) as SharedVariable;
             if (sharedVariable.IsShared && !string.IsNullOrEmpty(sharedVariable.Name) && behaviorSource.GetVariable(sharedVariable.Name) == null)
             {
                 behaviorSource.SetVariable(sharedVariable.Name, sharedVariable);
             }
             TaskCopier.CheckSharedVariableFields(behaviorSource, task, sharedVariable);
         }
         else if (allFields[i].FieldType.IsClass && !allFields[i].FieldType.Equals(typeof(Type)) && !typeof(Delegate).IsAssignableFrom(allFields[i].FieldType))
         {
             TaskCopier.CheckSharedVariableFields(behaviorSource, task, allFields[i].GetValue(obj));
         }
     }
 }