Files
libremetaverse/libsecondlife-cs/AssetSystem/AssetScript.cs

44 lines
1.3 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Text;
namespace libsecondlife.AssetSystem
{
public class AssetScript : Asset
{
private string _Source;
public string Source
{
get { return _Source; }
set
{
_Source = value.Replace("\r", "");
setAsset(_Source);
}
}
public AssetScript(LLUUID assetID, string source)
: base(assetID, (sbyte)Asset.AssetType.LSLText, false, null)
{
_Source = source;
setAsset(source);
}
public AssetScript(LLUUID assetID, byte[] assetData)
: base(assetID, (sbyte)Asset.AssetType.LSLText, false, assetData)
{
_Source = System.Text.Encoding.UTF8.GetString(assetData).Trim();
}
private void setAsset(string source)
{
// Assume this is a string, add 1 for the null terminator
byte[] stringBytes = System.Text.Encoding.UTF8.GetBytes(source);
byte[] assetData = new byte[stringBytes.Length + 1];
Array.Copy(stringBytes, 0, assetData, 0, stringBytes.Length);
SetAssetData(assetData);
}
}
}