internal static DecalRenderInstance Create([NotNull] IWetDecal decal, [NotNull] WetDecalSystem system) { var registration = Pool.Get(); registration._system = system; registration.Initialize(decal); return(registration); }
private void Initialize(IWetDecal decal) { Decal = decal; if (PropertyBlock != null) { PropertyBlock.Clear(); } UpdateProperties(true); }
public void QueueForUpdate(IWetDecal decal) { SharedState.ToUpdate.Add(decal); }
public DecalRenderHandle Add([NotNull] IWetDecal decal) { var instance = DecalRenderInstance.Create(decal, this); return(new DecalRenderHandle(instance)); }