public override void AddOverlayAsset(OverlayDataAsset overlay) { ValidateDictionary(); var hash = UMAUtils.StringToHash(overlay.overlayName); if (overlayDictionary.ContainsKey(hash)) { for (int i = 0; i < overlayElementList.Length; i++) { if (overlayElementList[i].overlayName == overlay.overlayName) { overlayElementList[i] = overlay; break; } } } else { var list = new OverlayDataAsset[overlayElementList.Length + 1]; for (int i = 0; i < overlayElementList.Length; i++) { list[i] = overlayElementList[i]; } list[list.Length - 1] = overlay; overlayElementList = list; } overlayDictionary[hash] = overlay; }
private OverlayDataAsset[] GetOverlayDataArray() { int arrayCount = m_OverlayDataCount.intValue; OverlayDataAsset[] OverlayDataArray = new OverlayDataAsset[arrayCount]; for(int i = 0; i < arrayCount; i++){ OverlayDataArray[i] = m_Object.FindProperty(string.Format(kArrayData,i)).objectReferenceValue as OverlayDataAsset; } return OverlayDataArray; }
/// <summary> /// Add an overlay asset to the library. /// </summary> /// <param name="overlay">Overlay.</param> public abstract void AddOverlayAsset(OverlayDataAsset overlay);
private void SetOverlayData(int index, OverlayDataAsset overlayElement) { m_Object.FindProperty(string.Format(kArrayData,index)).objectReferenceValue = overlayElement; isDirty = true; }
private void AddOverlayData(OverlayDataAsset overlayElement) { m_OverlayDataCount.intValue ++; SetOverlayData(m_OverlayDataCount.intValue - 1, overlayElement); }