Packages

Library for using Unity renders from RenderKit in Elixir

Current section

Files

Jump to
manganese_render_kit lib structs directional_light_parameters.ex
Raw

lib/structs/directional_light_parameters.ex

defmodule Manganese.RenderKit.Structs.DirectionalLightParameters do
@moduledoc """
"""
alias Manganese.SerializationKit
alias Manganese.RenderKit.Structs
@typedoc """
"""
@type t :: %Structs.DirectionalLightParameters{
color: SerializationKit.Structs.UnityColor.t,
intensity: float,
rotation: SerializationKit.Structs.UnityQuaternion.t
}
defstruct [
:color,
:intensity,
:rotation
]
# Deserialization
@doc """
"""
@spec from_map(map) :: t
def from_map(%{
"color" => color,
"intensity" => intensity,
"rotation" => rotation
}) do
%Structs.DirectionalLightParameters{
color: SerializationKit.Structs.UnityColor.from_map(color),
intensity: intensity,
rotation: SerializationKit.Structs.UnityQuaternion.from_map(rotation)
}
end
# Serialization
@doc """
"""
@spec to_map(t) :: map
def to_map(%Structs.DirectionalLightParameters{
color: color,
intensity: intensity,
rotation: rotation
}) do
%{
"color" => SerializationKit.Structs.UnityColor.to_map(color),
"intensity" => intensity,
"rotation" => SerializationKit.Structs.UnityQuaternion.to_map(rotation)
}
end
end