public override SerObjectProperties GetSerializedData()
    {
        SerSpotLightProperties prop = new SerSpotLightProperties();

        prop.intensity    = intensity;
        prop.range        = range;
        prop.spotAngle    = spotAngle;
        prop.nightOnly    = nightOnly;
        prop.lightColorR  = lightColor.r;
        prop.lightColorG  = lightColor.g;
        prop.lightColorB  = lightColor.b;
        prop.lightColorA  = lightColor.a;
        prop.objectColorR = objectColor.r;
        prop.objectColorG = objectColor.g;
        prop.objectColorB = objectColor.b;
        prop.objectColorA = objectColor.a;
        return(prop);
    }
    public override bool SetupSerialziedData(SerObjectProperties serData)
    {
        SerSpotLightProperties prop = (SerSpotLightProperties)serData;

        intensity   = prop.intensity;
        range       = prop.range;
        spotAngle   = prop.spotAngle;
        nightOnly   = prop.nightOnly;
        lightColor  = new Color(prop.lightColorR, prop.lightColorG, prop.lightColorB, prop.lightColorA);
        objectColor = new Color(prop.objectColorR, prop.objectColorG, prop.objectColorB, prop.objectColorA);

        GetComponentInChildren <Light>().intensity = intensity;
        GetComponentInChildren <Light>().range     = range;
        GetComponentInChildren <Light>().spotAngle = spotAngle;
        GetComponentInChildren <Light>().color     = lightColor;
        transform.GetChild(0).GetComponent <Renderer>().material.color = objectColor;

        return(true);
    }