Material BuildStandardMaterial(MaterialDef def) { Material mat = GameObject.Instantiate <Material>(def.ghost ? ghostMaterial : stdMaterial); var color = GetColor(def); mat.SetColor("_Color", color); mat.SetFloat("_Scale", def.size); return(mat); }
Color GetColor(MaterialDef def) { var color = colors[def.type.index]; if (def.ghost) { color.a = ghostPieceAlpha; } return(color); }
Material GenerateMaterial(MaterialDef def) { if (def.type == PieceType.MatchAll) { return(matchAllMaterial); } if (def.type == PieceType.MatchNone) { return(matchNoneMaterial); } if (def.Textured) { return(BuildTexturedMaterial(def.tex)); } return(BuildStandardMaterial(def)); }
public void ApplyMaterial(PieceController pc, MaterialDef materialDef) { var mr = pc.GetComponentInChildren <MeshRenderer>(); mr.material = matPool.GetMaterial(materialDef); }