void EmitElement(GameObject element, Vector3 position, bool isFloor, int id, bool isColorize)
 {
     if (element != null)
     {
         GameObject newInst = (GameObject)PrefabUtility.InstantiatePrefab(element);
         newInst.transform.position = position;
         newInst.GetComponent <Renderer>().material = new Material(newInst.GetComponent <Renderer>().sharedMaterial);
         DRId drIdComponent = newInst.GetComponent <DRId>();
         if (drIdComponent != null)
         {
             drIdComponent.id = id;
         }
         if (isColorize)
         {
             SetColor(id, newInst);
         }
         wallModels.Add(newInst);
         if (!isFloor)
         {
             newInst.transform.SetParent(wallsRoot.transform);
         }
         else
         {
             newInst.transform.SetParent(floorRoot.transform);
         }
     }
 }
    void SetColor()
    {
        DRId drIdObject = (DRId)target;

        if (idProperty.intValue <= -1)
        {
            drIdObject.gameObject.GetComponent <Renderer>().sharedMaterial.color = new Color(227f / 255f, 227f / 255f, 227f / 255f);
        }
        else
        {
            drIdObject.gameObject.GetComponent <Renderer>().sharedMaterial.color = HSVToRGB(GetSin(idProperty.intValue, 0f), 0.5f, 0.8f);
        }
    }