public int Compare(object e1, object e2) { SingleEffectEvla singleEffectEvla1 = e1 as SingleEffectEvla; SingleEffectEvla singleEffectEvla2 = e2 as SingleEffectEvla; if (singleEffectEvla1 == null || singleEffectEvla2 == null) { throw new ArgumentException("null argument"); } EffectEvlaData2 effectEvlaData1 = singleEffectEvla1.GetEffectEvlaData(); EffectEvlaData2 effectEvlaData2 = singleEffectEvla2.GetEffectEvlaData(); double pixRate1 = effectEvlaData1.GetPixRate(); double pixRate2 = effectEvlaData2.GetPixRate(); if (pixRate1 < pixRate2) { return(1); } if (pixRate1 > pixRate2) { return(-1); } return(0); }
public string GetEffectPathShowNow() { SingleEffectEvla singleEffectEvla = GetSingleEffectEvlaNow(); if (singleEffectEvla != null) { return(singleEffectEvla.GetEffectEvlaData().effectPath); } return("没有显示的特效"); }
void CheckAndSaveTexture(SingleEffectEvla singleEffectEvla, bool isAutoSavePic, int maxOverdrawSaveNumber) { if (!isAutoSavePic) { return; } // 获取data EffectEvlaData2 effectEvlaData2 = singleEffectEvla.GetEffectEvlaData(); double overdrawRate = effectEvlaData2.GetPixRate(); if (overdrawRate < maxOverdrawSaveNumber) { return; } CSVEffectEvlaHelper cSVEffectEvlaHelper = CSVEffectEvlaHelper.GetInstance(); string directoryPath = cSVEffectEvlaHelper.GetDirectoryPath(); FileInfo fi = new FileInfo(directoryPath); if (!fi.Directory.Exists) { fi.Directory.Create(); } string fileName = string.Format("{0}/{1}{2}.png", directoryPath, effectEvlaData2.GetEffectName(), effectEvlaData2.quality); RenderTexture activeTextrue = RenderTexture.active; RenderTexture rt = new RenderTexture(256, 256, 0, RenderTextureFormat.ARGB32); _camera.targetTexture = rt; _camera.Render(); RenderTexture.active = rt; Texture2D png = new Texture2D(rt.width, rt.height, TextureFormat.ARGB32, false); png.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0); byte[] bytes = png.EncodeToPNG(); FileStream file = File.Open(fileName, FileMode.Create); BinaryWriter writer = new BinaryWriter(file); writer.Write(bytes); file.Close(); RenderTexture.active = activeTextrue; Texture2D.DestroyImmediate(png); rt.Release(); _camera.targetTexture = null; }
public void SaveData() { // 排序 Array.Sort(singleEffectEvlas, new SingleEffectEvlaComparer2()); for (int i = 0; i < singleEffectEvlas.Length; i++) { SingleEffectEvla singleEffectEvla = singleEffectEvlas[i]; EffectEvlaData2 effectEvlaData2 = singleEffectEvla.GetEffectEvlaData(); // pixrate大于1.5的才记录 if (effectEvlaData2.GetPixRate() >= 1.5f) { CSVEffectEvlaHelper cSVEffectEvlaHelper = CSVEffectEvlaHelper.GetInstance(); cSVEffectEvlaHelper.WriteData(singleEffectEvla.GetEffectEvlaDatas()); cSVEffectEvlaHelper.Flush(); } } }