Example #1
0
 public AdditionalDirectiveContainerSaveItem(AdditionalDirectiveContainer container)
 {
     LineType   = container.LineType;
     LineValue  = container.LineValue;
     GUIDToggle = container.GUIDToggle;
     GUIDValue  = container.GUIDValue;
     Origin     = container.Origin;
 }
Example #2
0
 public AdditionalDirectiveContainerSaveItem(AdditionalLineType lineType, string lineValue, bool guidToggle, string guidValue, AdditionalContainerOrigin origin)
 {
     LineType   = lineType;
     LineValue  = lineValue;
     GUIDToggle = guidToggle;
     GUIDValue  = guidValue;
     Origin     = origin;
 }
Example #3
0
 public void Init(string ownerId, AdditionalDirectiveContainer item)
 {
     LineType   = item.LineType;
     LineValue  = item.LineValue;
     GUIDToggle = item.GUIDToggle;
     GUIDValue  = item.GUIDValue;
     Origin     = item.Origin;
     LibObject  = item.LibObject;
     OwnerId    = ownerId;
 }
Example #4
0
 public void Init(AdditionalDirectiveContainerSaveItem item)
 {
     LineType   = item.LineType;
     LineValue  = item.LineValue;
     GUIDToggle = item.GUIDToggle;
     GUIDValue  = item.GUIDValue;
     Origin     = item.Origin;
     if (GUIDToggle)
     {
         LibObject = AssetDatabase.LoadAssetAtPath <TextAsset>(AssetDatabase.GUIDToAssetPath(GUIDValue));
     }
 }
Example #5
0
        public override void ReadFromString(ref uint index, ref string[] nodeParams)
        {
            try
            {
                m_nativeDirectivesIndex = -1;
                int count = Convert.ToInt32(nodeParams[index++]);
                m_additionalDirectives.Clear();
                for (int i = 0; i < count; i++)
                {
                    AdditionalLineType           lineType  = (AdditionalLineType)Enum.Parse(typeof(AdditionalLineType), nodeParams[index++]);
                    string                       lineValue = nodeParams[index++];
                    AdditionalDirectiveContainer newItem   = ScriptableObject.CreateInstance <AdditionalDirectiveContainer>();
                    newItem.hideFlags = HideFlags.HideAndDontSave;
                    newItem.LineType  = lineType;
                    newItem.LineValue = lineValue.Replace(Constants.SemiColonSeparator, ';');
                    if (UIUtils.CurrentShaderVersion() > 15607)
                    {
                        newItem.GUIDToggle = Convert.ToBoolean(nodeParams[index++]);
                        newItem.GUIDValue  = nodeParams[index++];
                        if (newItem.GUIDToggle)
                        {
                            newItem.LibObject = AssetDatabase.LoadAssetAtPath <TextAsset>(AssetDatabase.GUIDToAssetPath(newItem.GUIDValue));
                            if (newItem.LibObject == null)
                            {
                                Debug.LogWarning("Include file not found with GUID " + newItem.GUIDValue);
                            }
                        }
                    }
                    AdditionalContainerOrigin origin = AdditionalContainerOrigin.Custom;
                    if (UIUtils.CurrentShaderVersion() > 16902)
                    {
                        origin         = (AdditionalContainerOrigin)Enum.Parse(typeof(AdditionalContainerOrigin), nodeParams[index++]);
                        newItem.Origin = origin;
                    }

                    m_additionalDirectives.Add(newItem);

                    if (origin == AdditionalContainerOrigin.Native)
                    {
                        m_nativeDirectivesIndex = i;
                    }
                }
                AddNativeContainer();
            }
            catch (Exception e)
            {
                Debug.LogException(e);
            }
        }