protected virtual void GreateGizmo(GameObject go, Type type) { Tuple <Mesh, Material> tuple; if (m_typeToMeshAndMaterial.TryGetValue(type, out tuple)) { SpriteGizmo gizmo = go.GetComponent <SpriteGizmo>(); if (!gizmo) { gizmo = go.AddComponent <SpriteGizmo>(); } gizmo.Mesh = tuple.Item1; m_meshesCache.Add(gizmo.Mesh, gizmo.transform); m_meshesCache.SetMaterial(tuple.Item1, tuple.Item2); } }