Revision Difference
matproxy.Add#511546
<function name="Add" parent="matproxy" type="libraryfunc">⤶
<description>Adds a material proxy.</description>⤶
<realm>Client</realm>⤶
<args>⤶
<arg name="MatProxyData" type="table">The information about the proxy. See <page>MatProxyData</page></arg>⤶
</args>⤶
</function>⤶
⤶
<example>⤶
<description>Adds PlayerColor proxy. Example taken from lua/matproxy/player_color.lua.</description>⤶
<code>⤶
matproxy.Add({⤶
name = "PlayerColor", ⤶
init = function( self, mat, values )⤶
-- Store the name of the variable we want to set⤶
self.ResultTo = values.resultvar⤶
end,⤶
bind = function( self, mat, ent )⤶
-- If the target ent has a function called GetPlayerColor then use that⤶
-- The function SHOULD return a Vector with the chosen player's colour.⤶
⤶
-- In sandbox this function is created as a network function, ⤶
-- in player_sandbox.lua in SetupDataTables⤶
if ( ent.GetPlayerColor ) then⤶
mat:SetVector( self.ResultTo, ent:GetPlayerColor() )⤶
end⤶
end ⤶
})⤶
</code>⤶
<output>Adds PlayerColor proxy.</output>⤶
⤶
</example>⤶
⤶
⤶
<example>⤶
<description>⤶
Material proxy values are stored like this:⤶
⤶
* In the .vmt:⤶
⤶
```⤶
Proxies {⤶
PlayerColor {⤶
resultVar $color2⤶
myVariable $color⤶
}⤶
}⤶
```⤶
⤶
⤶
* In Lua ( The **Init** function of <page>MatProxyData</page> )⤶
</description>⤶
<code>⤶
values = {⤶
resultvar = "$color2"⤶
myvariable = "$color"⤶
}⤶
</code>⤶
⤶
</example>