static public int CreateMaterial(IntPtr l) { try { FairyGUI.MaterialManager self = (FairyGUI.MaterialManager)checkSelf(l); var ret = self.CreateMaterial(); pushValue(l, true); pushValue(l, ret); return(2); } catch (Exception e) { return(error(l, e)); } }
public NMaterial GetMaterial(uint frameId, uint context) { if (_items == null) { _items = new List <NMaterial>(); } int cnt = _items.Count; NMaterial spare = null; for (int i = 0; i < cnt; i++) { NMaterial mat = _items[i]; if (mat.frameId == frameId) { if (mat.context == context) { return(mat); } } else if (spare == null) { spare = mat; } } if (spare != null) { spare.frameId = frameId; spare.context = context; return(spare); } else { NMaterial mat = _manager.CreateMaterial(); if (_variants != null) { foreach (string v in _variants) { mat.EnableKeyword(v); } } mat.frameId = frameId; mat.context = context; _items.Add(mat); return(mat); } }
public NMaterial Get() { List <NMaterial> items; if (_manager.blendMode == BlendMode.Normal) { if (_items == null) { _items = new List <NMaterial>(); } items = _items; } else { if (_blendItems == null) { _blendItems = new List <NMaterial>(); } items = _blendItems; } int cnt = items.Count; NMaterial result = null; for (int i = 0; i < cnt; i++) { NMaterial mat = items[i]; if (mat.frameId == _manager.frameId) { if (mat.clipId == _manager.clipId && mat.blendMode == _manager.blendMode) { return(mat); } } else if (result == null) { result = mat; } } if (result != null) { result.frameId = _manager.frameId; result.clipId = _manager.clipId; result.blendMode = _manager.blendMode; } else { result = _manager.CreateMaterial(); if (_variants != null) { foreach (string v in _variants) { result.material.EnableKeyword(v); } } result.frameId = _manager.frameId; result.clipId = _manager.clipId; result.blendMode = _manager.blendMode; items.Add(result); } return(result); }