2011. 7. 2. 01:24
아래 코드는 Texture 들을 선택해서 일괄적으로 포멧을 변경하는 코드입니다.
응용하면 다른 타입도 가능합니다.
아래 코드는 Assets/Editor/CusomMenu.cs 에 생성하셔야 합니다.
응용하면 다른 타입도 가능합니다.
아래 코드는 Assets/Editor/CusomMenu.cs 에 생성하셔야 합니다.
using UnityEditor; using UnityEngine; using System.Collections; public class CustomMenu : ScriptableObject { // ---------------------------------------------------------------------------- [MenuItem ("CustomMenu/Texture Format")] static void ChangeTexture() { SeletedChangeTexture(); } static void SeletedChangeTexture() { Object[] textures = GetSelectedTextures(); Selection.objects = new Object[0]; int count = 0; foreach(Texture2D texture in textures) { count++; string path = AssetDatabase.GetAssetPath(texture); TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter; //texture.wrapMode = TextureWrapMode.Clamp; textureImporter.textureType = TextureImporterType.Advanced; textureImporter.mipmapEnabled = false; textureImporter.npotScale = TextureImporterNPOTScale.None; textureImporter.maxTextureSize = 4096; textureImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor; AssetDatabase.ImportAsset(path); Debug.Log(string.Format("[{0}/{1}] ChangeTexture progress : {2}", count, textures.Length, path)); } } static Object[] GetSelectedTextures() { return Selection.GetFiltered(typeof(Texture2D), SelectionMode.DeepAssets); } }
'Dev > Unity3D' 카테고리의 다른 글
unity3d data path! (0) | 2011.12.14 |
---|---|
Unity3D Mesh Create Code (0) | 2011.10.20 |
Unity3D 에서 XML Serialize Encrypt/Decrypt. (3) | 2011.04.22 |
FindObjectOfType fail. (0) | 2010.12.14 |
Unity Script 와 Obejct-C 연동. (0) | 2010.11.09 |
2011. 4. 22. 22:19
1. Encrypt
//-----------------------------------------------------------------------------
public static void SerializeEncryptObject(string path, object obj, System.Type type, SymmetricAlgorithm key)
{
using(FileStream fs = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.None))
{
using(CryptoStream cs = new CryptoStream(fs, key.CreateEncryptor(), CryptoStreamMode.Write))
{
using(StreamWriter sw = new StreamWriter(cs, Encoding.UTF8))
{
try
{
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
XmlSerializer serializer = new XmlSerializer(type);
serializer.Serialize(sw, obj, ns);
}
catch (System.Exception ex)
{
Debug.LogWarning(ex.ToString());
}
finally
{
sw.Close();
cs.Close();
fs.Close();
}
}
}
}
}
2. Decrypt
//-----------------------------------------------------------------------------
public static string LoadXmlFromEncryptFile(string _filePath, SymmetricAlgorithm key)
{
if (File.Exists(_filePath) == false)
{
_deserializeErrorString = System.String.Format("File({0}) does not exists", _filePath);
return "";
}
using(FileStream fs = File.Open(_filePath, FileMode.Open))
{
using(CryptoStream cs = new CryptoStream(fs, key.CreateDecryptor(), CryptoStreamMode.Read))
{
using(StreamReader sr = new StreamReader(cs, Encoding.UTF8))
{
try
{
return sr.ReadToEnd();
}
catch(System.Exception ex)
{
Debug.LogWarning(ex.ToString());
_deserializeErrorString = ex.ToString();
}
finally
{
sr.Close();
cs.Close();
fs.Close();
}
}
}
}
return "";
}
3. Usage
-
private readonly string SECRET_KEY = "12345678"; // must be 64bit, 8bytes
-
private System.Security.Cryptography.DESCryptoServiceProvider mCryptoProvider = null;
-
mCryptoProvider = new System.Security.Cryptography.DESCryptoServiceProvider();
mCryptoProvider.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(SECRET_KEY); mCryptoProvider.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(SECRET_KEY);
-
SerializeEncryptObject("FilePath", Type, mCryptoProvider);
string xmlString = LoadXmlFromEncryptFile("FilePath", mCryptoProvider);
//-----------------------------------------------------------------------------
public static void SerializeEncryptObject(string path, object obj, System.Type type, SymmetricAlgorithm key)
{
using(FileStream fs = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.None))
{
using(CryptoStream cs = new CryptoStream(fs, key.CreateEncryptor(), CryptoStreamMode.Write))
{
using(StreamWriter sw = new StreamWriter(cs, Encoding.UTF8))
{
try
{
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
XmlSerializer serializer = new XmlSerializer(type);
serializer.Serialize(sw, obj, ns);
}
catch (System.Exception ex)
{
Debug.LogWarning(ex.ToString());
}
finally
{
sw.Close();
cs.Close();
fs.Close();
}
}
}
}
}
2. Decrypt
//-----------------------------------------------------------------------------
public static string LoadXmlFromEncryptFile(string _filePath, SymmetricAlgorithm key)
{
if (File.Exists(_filePath) == false)
{
_deserializeErrorString = System.String.Format("File({0}) does not exists", _filePath);
return "";
}
using(FileStream fs = File.Open(_filePath, FileMode.Open))
{
using(CryptoStream cs = new CryptoStream(fs, key.CreateDecryptor(), CryptoStreamMode.Read))
{
using(StreamReader sr = new StreamReader(cs, Encoding.UTF8))
{
try
{
return sr.ReadToEnd();
}
catch(System.Exception ex)
{
Debug.LogWarning(ex.ToString());
_deserializeErrorString = ex.ToString();
}
finally
{
sr.Close();
cs.Close();
fs.Close();
}
}
}
}
return "";
}
3. Usage
-
private readonly string SECRET_KEY = "12345678"; // must be 64bit, 8bytes
-
private System.Security.Cryptography.DESCryptoServiceProvider mCryptoProvider = null;
-
mCryptoProvider = new System.Security.Cryptography.DESCryptoServiceProvider();
mCryptoProvider.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(SECRET_KEY); mCryptoProvider.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(SECRET_KEY);
-
SerializeEncryptObject("FilePath", Type, mCryptoProvider);
string xmlString = LoadXmlFromEncryptFile("FilePath", mCryptoProvider);
'Dev > Unity3D' 카테고리의 다른 글
Unity3D Mesh Create Code (0) | 2011.10.20 |
---|---|
Unity3D Inspector object 선택후 일괄 처리 (0) | 2011.07.02 |
FindObjectOfType fail. (0) | 2010.12.14 |
Unity Script 와 Obejct-C 연동. (0) | 2010.11.09 |
Unity3D 3.0 과 OpenFeint 2.7.4 연동 (4) | 2010.11.02 |
2011. 4. 6. 11:10
[Shell]
find . -name ".svn" -type d -exec rm -rf {} \;