| 1 |
using System; |
| 2 |
using Oni.Imaging; |
| 3 |
|
| 4 |
namespace Oni.Particles |
| 5 |
{ |
| 6 |
internal class Appearance |
| 7 |
{ |
| 8 |
#region Private data |
| 9 |
private Value scale; |
| 10 |
private Value yScale; |
| 11 |
private Value rotation; |
| 12 |
private Value alpha; |
| 13 |
private Value xOffset; |
| 14 |
private Value xShorten; |
| 15 |
private Value tint; |
| 16 |
private Value edgeFadeMin; |
| 17 |
private Value edgeFadeMax; |
| 18 |
private Value maxContrail; |
| 19 |
private Value lensFlareDistance; |
| 20 |
private int fadeInFrames; |
| 21 |
private int fadeOutFrames; |
| 22 |
private int maxDecals; |
| 23 |
private int decalFadeFrames; |
| 24 |
private Value decalWrapAngle; |
| 25 |
private string textureName; |
| 26 |
#endregion |
| 27 |
|
| 28 |
public Appearance() |
| 29 |
{ |
| 30 |
scale = Value.FloatOne; |
| 31 |
yScale = Value.FloatOne; |
| 32 |
rotation = Value.FloatZero; |
| 33 |
alpha = Value.FloatOne; |
| 34 |
textureName = "notfoundtex"; |
| 35 |
xOffset = Value.FloatZero; |
| 36 |
xShorten = Value.FloatZero; |
| 37 |
tint = new Value(new Color(255, 255, 255)); |
| 38 |
edgeFadeMin = Value.FloatZero; |
| 39 |
edgeFadeMax = Value.FloatZero; |
| 40 |
maxContrail = Value.FloatZero; |
| 41 |
lensFlareDistance = Value.FloatZero; |
| 42 |
maxDecals = 100; |
| 43 |
decalFadeFrames = 60; |
| 44 |
decalWrapAngle = new Value(60.0f); |
| 45 |
} |
| 46 |
|
| 47 |
public Appearance(BinaryReader reader) |
| 48 |
{ |
| 49 |
scale = Value.Read(reader); |
| 50 |
yScale = Value.Read(reader); |
| 51 |
rotation = Value.Read(reader); |
| 52 |
alpha = Value.Read(reader); |
| 53 |
textureName = reader.ReadString(32); |
| 54 |
xOffset = Value.Read(reader); |
| 55 |
xShorten = Value.Read(reader); |
| 56 |
tint = Value.Read(reader); |
| 57 |
edgeFadeMin = Value.Read(reader); |
| 58 |
edgeFadeMax = Value.Read(reader); |
| 59 |
maxContrail = Value.Read(reader); |
| 60 |
lensFlareDistance = Value.Read(reader); |
| 61 |
fadeInFrames = reader.ReadInt16(); |
| 62 |
fadeOutFrames = reader.ReadInt16(); |
| 63 |
maxDecals = reader.ReadInt16(); |
| 64 |
decalFadeFrames = reader.ReadInt16(); |
| 65 |
decalWrapAngle = Value.Read(reader); |
| 66 |
} |
| 67 |
|
| 68 |
public void Write(BinaryWriter writer) |
| 69 |
{ |
| 70 |
scale.Write(writer); |
| 71 |
yScale.Write(writer); |
| 72 |
rotation.Write(writer); |
| 73 |
alpha.Write(writer); |
| 74 |
writer.Write(textureName, 32); |
| 75 |
xOffset.Write(writer); |
| 76 |
xShorten.Write(writer); |
| 77 |
tint.Write(writer); |
| 78 |
edgeFadeMin.Write(writer); |
| 79 |
edgeFadeMax.Write(writer); |
| 80 |
maxContrail.Write(writer); |
| 81 |
lensFlareDistance.Write(writer); |
| 82 |
writer.WriteInt16(fadeInFrames); |
| 83 |
writer.WriteInt16(fadeOutFrames); |
| 84 |
writer.WriteInt16(maxDecals); |
| 85 |
writer.WriteInt16(decalFadeFrames); |
| 86 |
decalWrapAngle.Write(writer); |
| 87 |
} |
| 88 |
|
| 89 |
public string TextureName |
| 90 |
{ |
| 91 |
get { return textureName; } |
| 92 |
set { textureName = value; } |
| 93 |
} |
| 94 |
|
| 95 |
public Value Scale |
| 96 |
{ |
| 97 |
get { return scale; } |
| 98 |
set { scale = value; } |
| 99 |
} |
| 100 |
|
| 101 |
public Value YScale |
| 102 |
{ |
| 103 |
get { return yScale; } |
| 104 |
set { yScale = value; } |
| 105 |
} |
| 106 |
|
| 107 |
public Value Rotation |
| 108 |
{ |
| 109 |
get { return rotation; } |
| 110 |
set { rotation = value; } |
| 111 |
} |
| 112 |
|
| 113 |
public Value Alpha |
| 114 |
{ |
| 115 |
get { return alpha; } |
| 116 |
set { alpha = value; } |
| 117 |
} |
| 118 |
|
| 119 |
public Value XOffset |
| 120 |
{ |
| 121 |
get { return xOffset; } |
| 122 |
set { xOffset = value; } |
| 123 |
} |
| 124 |
|
| 125 |
public Value XShorten |
| 126 |
{ |
| 127 |
get { return xShorten; } |
| 128 |
set { xShorten = value; } |
| 129 |
} |
| 130 |
|
| 131 |
public Value Tint |
| 132 |
{ |
| 133 |
get { return tint; } |
| 134 |
set { tint = value; } |
| 135 |
} |
| 136 |
|
| 137 |
public Value EdgeFadeMin |
| 138 |
{ |
| 139 |
get { return edgeFadeMin; } |
| 140 |
set { edgeFadeMin = value; } |
| 141 |
} |
| 142 |
|
| 143 |
public Value EdgeFadeMax |
| 144 |
{ |
| 145 |
get { return edgeFadeMax; } |
| 146 |
set { edgeFadeMax = value; } |
| 147 |
} |
| 148 |
|
| 149 |
public Value MaxContrail |
| 150 |
{ |
| 151 |
get { return maxContrail; } |
| 152 |
set { maxContrail = value; } |
| 153 |
} |
| 154 |
|
| 155 |
public Value LensFlareDistance |
| 156 |
{ |
| 157 |
get { return lensFlareDistance; } |
| 158 |
set { lensFlareDistance = value; } |
| 159 |
} |
| 160 |
|
| 161 |
public int LensFlareFadeInFrames |
| 162 |
{ |
| 163 |
get { return fadeInFrames; } |
| 164 |
set { fadeInFrames = value; } |
| 165 |
} |
| 166 |
|
| 167 |
public int LensFlareFadeOutFrames |
| 168 |
{ |
| 169 |
get { return fadeOutFrames; } |
| 170 |
set { fadeOutFrames = value; } |
| 171 |
} |
| 172 |
|
| 173 |
public int MaxDecals |
| 174 |
{ |
| 175 |
get { return maxDecals; } |
| 176 |
set { maxDecals = value; } |
| 177 |
} |
| 178 |
|
| 179 |
public int DecalFadeFrames |
| 180 |
{ |
| 181 |
get { return decalFadeFrames; } |
| 182 |
set { decalFadeFrames = value; } |
| 183 |
} |
| 184 |
|
| 185 |
public Value DecalWrapAngle |
| 186 |
{ |
| 187 |
get { return decalWrapAngle; } |
| 188 |
set { decalWrapAngle = value; } |
| 189 |
} |
| 190 |
} |
| 191 |
} |