//-----------------------------------------------------------------------------------
        void LoadEditorResources()
        {
            if (!resourcesLoaded)
            {
                bool isUnityFree   = !UnityEditorInternal.InternalEditorUtility.HasPro();
                bool isCaronteFree = Controller.IsFreeVersion();

                if (isCaronteFree && isUnityFree)
                {
                    ic_logoCaronte_ = CREditorResource.LoadEditorTexture("cr_logo_carontefxfree_unityfree");
                }
                else if (isCaronteFree && !isUnityFree)
                {
                    ic_logoCaronte_ = CREditorResource.LoadEditorTexture("cr_logo_carontefxfree_unitypro");
                }
                else if (!isCaronteFree && isUnityFree)
                {
                    ic_logoCaronte_ = CREditorResource.LoadEditorTexture("cr_logo_carontefxpro_unityfree");
                }
                else
                {
                    ic_logoCaronte_ = CREditorResource.LoadEditorTexture("cr_logo_carontefxpro_unitypro");
                }

                LoadNodeResources();

                CRAnimationData.animatorSampler_ = CREditorResource.LoadEditorAnimationController("cr_anim_sampler");

                resourcesLoaded = true;
            }
        }
 void LoadCaronteIcon()
 {
     if (ic_logoCaronte_ == null)
     {
         bool isUnityFree = !UnityEditorInternal.InternalEditorUtility.HasPro();
         if (isUnityFree)
         {
             ic_logoCaronte_ = CREditorResource.LoadEditorTexture("cr_caronte_logo_free");
         }
         else
         {
             ic_logoCaronte_ = CREditorResource.LoadEditorTexture("cr_caronte_logo_pro");
         }
     }
 }
        //-----------------------------------------------------------------------------------
        void LoadNodeResources()
        {
            ic_duplicate_ = CREditorResource.LoadEditorTexture("cr_icon_duplicate");
            ic_group_     = CREditorResource.LoadEditorTexture("cr_icon_group");

            ic_trigger_byTimer_     = CREditorResource.LoadEditorTexture("cr_icon_trigger_bytime");
            ic_trigger_byContact_   = CREditorResource.LoadEditorTexture("cr_icon_trigger_bycontact");
            ic_trigger_byExplosion_ = CREditorResource.LoadEditorTexture("cr_icon_trigger_byexplosion");

            ic_parameter_modifier_ = CREditorResource.LoadEditorTexture("cr_icon_parameter_modifier");
            ic_substituter_        = CREditorResource.LoadEditorTexture("cr_icon_substituter");

            ic_rigidbodies_        = CREditorResource.LoadEditorTexture("cr_icon_rigidbody");
            ic_irresponsivebodies_ = CREditorResource.LoadEditorTexture("cr_icon_irresponsive");
            ic_animatedbodies_     = CREditorResource.LoadEditorTexture("cr_icon_animated");
            ic_softbodies_         = CREditorResource.LoadEditorTexture("cr_icon_softbody");
            ic_cloths_             = CREditorResource.LoadEditorTexture("cr_icon_cloth");
            ic_ropes_ = CREditorResource.LoadEditorTexture("cr_icon_rope");

            ic_rigid_glue_          = CREditorResource.LoadEditorTexture("cr_icon_glue_area");
            ic_multijoint_area_     = CREditorResource.LoadEditorTexture("cr_icon_joints_area");
            ic_multijoint_vertices_ = CREditorResource.LoadEditorTexture("cr_icon_joints_vertices");
            ic_multijoint_leaves_   = CREditorResource.LoadEditorTexture("cr_icon_joints_leaves");
            ic_multijoint_locators_ = CREditorResource.LoadEditorTexture("cr_icon_joints_locators");

            ic_motors_linear_  = CREditorResource.LoadEditorTexture("cr_icon_motors_linear");
            ic_motors_angular_ = CREditorResource.LoadEditorTexture("cr_icon_motors_angular");
            ic_servos_linear_  = CREditorResource.LoadEditorTexture("cr_icon_servos_linear");
            ic_servos_angular_ = CREditorResource.LoadEditorTexture("cr_icon_servos_angular");

            ic_fractureuniform_  = CREditorResource.LoadEditorTexture("cr_icon_fractureuniform");
            ic_fracturegeometry_ = CREditorResource.LoadEditorTexture("cr_icon_fracturegeometry");
            ic_fractureradial_   = CREditorResource.LoadEditorTexture("cr_icon_fractureradial");

            ic_welder_      = CREditorResource.LoadEditorTexture("cr_icon_welder");
            ic_tessellator_ = CREditorResource.LoadEditorTexture("cr_icon_tessellator");
            ic_procedural_  = CREditorResource.LoadEditorTexture("cr_icon_procedural");
            ic_selector_    = CREditorResource.LoadEditorTexture("cr_icon_selector_bygeom");

            ic_materialsubstituter_ = CREditorResource.LoadEditorTexture("cr_icon_material_substituter");

            ic_gravity_       = CREditorResource.LoadEditorTexture("cr_icon_gravity");
            ic_explosion_     = CREditorResource.LoadEditorTexture("cr_icon_explosion");
            ic_wind_          = CREditorResource.LoadEditorTexture("cr_icon_wind");
            ic_aimed_force_   = CREditorResource.LoadEditorTexture("cr_icon_aimed_force");
            ic_speed_limiter_ = CREditorResource.LoadEditorTexture("cr_icon_speed_limiter");
            ic_jet_           = CREditorResource.LoadEditorTexture("cr_icon_jet");

            ic_contact_emitter_ = CREditorResource.LoadEditorTexture("cr_icon_contact_emitter");

            ic_gameobject_   = CREditorResource.LoadEditorTexture("cr_icon_gameobject");
            ic_nameselector_ = CREditorResource.LoadEditorTexture("cr_icon_nameselector");

            bool isPro = UnityEditorInternal.InternalEditorUtility.HasPro();

            if (isPro)
            {
                ic_first_ = CREditorResource.LoadEditorTexture("player/cr_icon_first_pro");
                ic_last_  = CREditorResource.LoadEditorTexture("player/cr_icon_last_pro");
                ic_prev_  = CREditorResource.LoadEditorTexture("player/cr_icon_prev_pro");
                ic_next_  = CREditorResource.LoadEditorTexture("player/cr_icon_next_pro");
                ic_play_  = CREditorResource.LoadEditorTexture("player/cr_icon_play_pro");
                ic_pause_ = CREditorResource.LoadEditorTexture("player/cr_icon_pause_pro");
                ic_stop_  = CREditorResource.LoadEditorTexture("player/cr_icon_stop_pro");
                ic_loop_  = CREditorResource.LoadEditorTexture("player/cr_icon_loop_pro");
            }
            else
            {
                ic_first_ = CREditorResource.LoadEditorTexture("player/cr_icon_first");
                ic_last_  = CREditorResource.LoadEditorTexture("player/cr_icon_last");
                ic_prev_  = CREditorResource.LoadEditorTexture("player/cr_icon_prev");
                ic_next_  = CREditorResource.LoadEditorTexture("player/cr_icon_next");
                ic_play_  = CREditorResource.LoadEditorTexture("player/cr_icon_play");
                ic_pause_ = CREditorResource.LoadEditorTexture("player/cr_icon_pause");
                ic_stop_  = CREditorResource.LoadEditorTexture("player/cr_icon_stop");
                ic_loop_  = CREditorResource.LoadEditorTexture("player/cr_icon_loop");
            }

            ic_rec_ = CREditorResource.LoadEditorTexture("player/cr_icon_recbutton");

            CNGroupEditor.icon_ = ic_group_;

            CNParameterModifierEditor.icon_  = ic_parameter_modifier_;
            CNTriggerByTimeEditor.icon_      = ic_trigger_byTimer_;
            CNTriggerByContactEditor.icon_   = ic_trigger_byContact_;
            CNTriggerByExplosionEditor.icon_ = ic_trigger_byExplosion_;

            CNSubstituterEditor.icon_ = ic_substituter_;

            CNRigidbodyEditor.icon_responsive_   = ic_rigidbodies_;
            CNRigidbodyEditor.icon_irresponsive_ = ic_irresponsivebodies_;
            CNAnimatedbodyEditor.icon_           = ic_animatedbodies_;
            CNSoftbodyEditor.icon_ = ic_softbodies_;
            CNClothEditor.icon_    = ic_cloths_;
            CNRopeEditor.icon_     = ic_ropes_;

            CNRigidGlueEditor.icon_rigid_glue_ = ic_rigid_glue_;
            CNJointGroupsEditor.icon_area_     = ic_multijoint_area_;
            CNJointGroupsEditor.icon_vertices_ = ic_multijoint_vertices_;
            CNJointGroupsEditor.icon_leaves_   = ic_multijoint_leaves_;
            CNJointGroupsEditor.icon_locators_ = ic_multijoint_locators_;

            CNServosEditor.icon_motor_linear_  = ic_motors_linear_;
            CNServosEditor.icon_motor_angular_ = ic_motors_angular_;
            CNServosEditor.icon_servo_linear_  = ic_servos_linear_;
            CNServosEditor.icon_servo_angular_ = ic_servos_angular_;

            CNFractureEditor.icon_uniform_  = ic_fractureuniform_;
            CNFractureEditor.icon_geometry_ = ic_fracturegeometry_;
            CNFractureEditor.icon_radial_   = ic_fractureradial_;
            CNWelderEditor.icon_            = ic_welder_;
            CNTessellatorEditor.icon_       = ic_tessellator_;
            CNHelperMeshEditor.icon_        = ic_procedural_;
            CNSelectorEditor.icon_          = ic_selector_;

            CNGravityEditor.icon_      = ic_gravity_;
            CNExplosionEditor.icon_    = ic_explosion_;
            CNWindEditor.icon_         = ic_wind_;
            CNAimedForceEditor.icon_   = ic_aimed_force_;
            CNSpeedLimiterEditor.icon_ = ic_speed_limiter_;
            CNJetEditor.icon_          = ic_jet_;

            CNContactEmitterEditor.icon_ = ic_contact_emitter_;

            CNFieldController.icon_gameobject_   = ic_gameobject_;
            CNFieldController.icon_nameselector_ = ic_nameselector_;

            CRPlayerView.first_ = ic_first_;
            CRPlayerView.last_  = ic_last_;
            CRPlayerView.prev_  = ic_prev_;
            CRPlayerView.next_  = ic_next_;
            CRPlayerView.play_  = ic_play_;
            CRPlayerView.pause_ = ic_pause_;
            CRPlayerView.stop_  = ic_stop_;
            CRPlayerView.loop_  = ic_loop_;
            CRPlayerView.rec_   = ic_rec_;

            CNFracture.commonMaterial_   = CREditorResource.LoadEditorMaterial("cr_material_checkboard_5");
            CNHelperMeshEditor.material_ = CREditorResource.LoadEditorMaterial("cr_display_normals");
        }