use super::deserialize_path;
use crate::{default_scale, Vec2};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SpriteCardMaterial {
#[serde(
rename = "$basetexture",
default,
deserialize_with = "deserialize_path"
)]
pub base_texture: Option<String>,
#[serde(rename = "$surfaceprop", default)]
pub surface_prop: Option<String>,
#[serde(rename = "$spriteorigin", default)]
pub sprite_origin: Vec2,
#[serde(rename = "$additive", default)]
pub additive: bool,
#[serde(rename = "$overbrightfactor", default)]
pub over_bright_factor: f32,
#[serde(rename = "$vertexcolor", default)]
pub vertex_color: bool,
#[serde(rename = "$vertexalpha", default)]
pub vertex_alpha: bool,
#[serde(rename = "$alpha", default = "default_scale")]
pub alpha: f32,
#[serde(rename = "$translucent", default)]
pub translucent: bool,
#[serde(rename = "$nocull", default)]
pub no_cull: bool,
#[serde(rename = "$mod2x", default)]
pub mod_2x: bool,
#[serde(rename = "$opaque", default)]
pub opaque: bool,
#[serde(rename = "$intensity", default = "default_scale")]
pub intensity: f32,
}