68 lines
2.2 KiB
C#
68 lines
2.2 KiB
C#
using System;
|
|
using UniversalEditor.ObjectModels.Multimedia.Picture;
|
|
namespace UniversalEditor.ObjectModels.Multimedia3D.Model
|
|
{
|
|
[Flags()]
|
|
public enum ModelTextureFlags : int
|
|
{
|
|
None = 0,
|
|
Texture = 1,
|
|
Map = 2,
|
|
AddMap = 4
|
|
}
|
|
public class ModelTexture : ICloneable
|
|
{
|
|
public class ModelTextureCollection
|
|
: System.Collections.ObjectModel.Collection<ModelTexture>
|
|
{
|
|
public ModelTexture Add(string TextureFileName, string MapFileName, ModelTextureFlags Flags)
|
|
{
|
|
ModelTexture tex = new ModelTexture();
|
|
tex.TextureFileName = TextureFileName;
|
|
tex.MapFileName = MapFileName;
|
|
tex.Flags = Flags;
|
|
|
|
base.Add(tex);
|
|
return tex;
|
|
}
|
|
}
|
|
|
|
private uint? mvarTextureID = null;
|
|
public uint? TextureID { get { return mvarTextureID; } set { mvarTextureID = value; } }
|
|
private uint? mvarMapID = null;
|
|
public uint? MapID { get { return mvarMapID; } set { mvarMapID = value; } }
|
|
|
|
private string mvarMapFileName = null;
|
|
public string MapFileName { get { return mvarMapFileName; } set { mvarMapFileName = value; } }
|
|
|
|
private string mvarTextureFileName = null;
|
|
public string TextureFileName { get { return mvarTextureFileName; } set { mvarTextureFileName = value; } }
|
|
|
|
private ModelTextureFlags mvarFlags = ModelTextureFlags.None;
|
|
public ModelTextureFlags Flags { get { return mvarFlags; } set { mvarFlags = value; } }
|
|
|
|
private int mvarDuration = 100;
|
|
/// <summary>
|
|
/// How long this texture image frame will appear on the associated material, in milliseconds.
|
|
/// </summary>
|
|
public int Duration { get { return mvarDuration; } set { mvarDuration = value; } }
|
|
|
|
public object Clone()
|
|
{
|
|
ModelTexture texture = new ModelTexture();
|
|
texture.MapFileName = mvarMapFileName;
|
|
texture.TextureFileName = mvarTextureFileName;
|
|
texture.Flags = mvarFlags;
|
|
texture.MapID = mvarMapID;
|
|
texture.TextureID = mvarTextureID;
|
|
return texture;
|
|
}
|
|
|
|
private PictureObjectModel mvarTexturePicture = null;
|
|
public PictureObjectModel TexturePicture { get { return mvarTexturePicture; } set { mvarTexturePicture = value; } }
|
|
|
|
private PictureObjectModel mvarMapPicture = null;
|
|
public PictureObjectModel MapPicture { get { return mvarMapPicture; } set { mvarMapPicture = value; } }
|
|
}
|
|
}
|