summaryrefslogtreecommitdiff
path: root/Runtime/Graphics/ParticleSystem/ParticleSystemGradients.cpp
blob: efe95c0a515db2199324c0f87395dd091db9fa36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "UnityPrefix.h"
#include "ParticleSystemGradients.h"
#include "Runtime/BaseClasses/ObjectDefines.h"
#include "Runtime/Serialize/TransferFunctions/SerializeTransfer.h"

MinMaxGradient::MinMaxGradient()
:	minMaxState (kMMGColor), minColor (255,255,255,255), maxColor (255,255,255,255)
{
}

void MinMaxGradient::InitializeOptimized(OptimizedMinMaxGradient& g)
{
	maxGradient.InitializeOptimized(g.max);
	if(minMaxState == kMMGRandomBetweenTwoGradients)
		minGradient.InitializeOptimized(g.min);
}

template<class TransferFunction>
void MinMaxGradient::Transfer (TransferFunction& transfer)
{
	TRANSFER (maxGradient);
	TRANSFER (minGradient);
	TRANSFER (minColor);
	TRANSFER (maxColor);
	TRANSFER (minMaxState); transfer.Align ();
}	
INSTANTIATE_TEMPLATE_TRANSFER(MinMaxGradient)