Example #1
0
    private void Awake()
    {
        EventTriggerBundle eventTriggerBundle = UnityEngine.Object.FindObjectOfType(typeof(EventTriggerBundle)) as EventTriggerBundle;

        if (eventTriggerBundle != null)
        {
            this.SetAssetList(eventTriggerBundle);
        }
    }
 public virtual void SetAssetList(EventTriggerBundle BundleList)
 {
     if (this.m_AssetDataList == null)
     {
         return;
     }
     FieldInfo[] fields = base.GetType().GetFields();
     foreach (AssetData current in this.m_AssetDataList)
     {
         UnityEngine.Object @object = BundleList.GetObject(current.m_AssetPath);
         if (@object != null)
         {
             FieldInfo[] array = fields;
             for (int i = 0; i < array.Length; i++)
             {
                 FieldInfo fieldInfo = array[i];
                 if (fieldInfo.Name == current.m_ValueName)
                 {
                     if (fieldInfo.FieldType.IsArray)
                     {
                         Array array2 = fieldInfo.GetValue(this) as Array;
                         if (array2 == null || array2.Length <= 0)
                         {
                             array2 = Array.CreateInstance(Type.GetType(current.m_TypeName), current.m_ArraySize);
                             fieldInfo.SetValue(this, array2);
                         }
                         for (int j = 0; j < current.m_ArraySize; j++)
                         {
                             UnityEngine.Object x = (UnityEngine.Object)array2.GetValue(j);
                             if (x == null)
                             {
                                 array2.SetValue(@object, j);
                                 break;
                             }
                         }
                     }
                     else
                     {
                         fieldInfo.SetValue(this, @object);
                     }
                     break;
                 }
             }
         }
     }
     this.m_AssetDataList.Clear();
 }
Example #3
0
    public bool SetAssetList(EventTriggerBundle BundleList)
    {
        Array values = Enum.GetValues(typeof(EventTrigger._EVENTTRIGGER));

        for (int i = 0; i < values.Length; i++)
        {
            List <GameObject> list = this.GetList((EventTrigger._EVENTTRIGGER)((int)values.GetValue(i)));
            if (list != null)
            {
                foreach (GameObject current in list)
                {
                    EventTriggerItem component = current.GetComponent <EventTriggerItem>();
                    if (!(component == null))
                    {
                        component.SetAssetList(BundleList);
                    }
                }
            }
        }
        return(true);
    }