@@ -123,43 +123,43 @@ protected void UpdateDefaultRenderModel(bool shouldActive)
123123
124124 if ( shouldActiveModel )
125125 {
126- var shouldActiveModelObj = m_modelObjs [ shouldActiveModelNum ] ;
127- if ( shouldActiveModelObj == null )
126+ if ( ! lastModelActivated || lastActivatedModel != shouldActiveModelNum )
128127 {
129- // instantiate custom override model
130- shouldActiveModelObj = Instantiate ( shouldActiveModelPrefab ) ;
131- shouldActiveModelObj . transform . position = Vector3 . zero ;
132- shouldActiveModelObj . transform . rotation = Quaternion . identity ;
133- if ( hook . m_overrideMaterial != null )
128+ var shouldActiveModelObj = m_modelObjs [ shouldActiveModelNum ] ;
129+ if ( shouldActiveModelObj == null )
134130 {
135- var renderer = shouldActiveModelObj . GetComponentInChildren < Renderer > ( ) ;
136- if ( renderer != null )
131+ // instantiate custom override model
132+ shouldActiveModelObj = Instantiate ( shouldActiveModelPrefab ) ;
133+ shouldActiveModelObj . transform . position = Vector3 . zero ;
134+ shouldActiveModelObj . transform . rotation = Quaternion . identity ;
135+ if ( hook . m_overrideMaterial != null )
137136 {
138- renderer . material = hook . m_overrideMaterial ;
137+ var renderer = shouldActiveModelObj . GetComponentInChildren < Renderer > ( ) ;
138+ if ( renderer != null )
139+ {
140+ renderer . material = hook . m_overrideMaterial ;
141+ }
139142 }
140- }
141- if ( hook . m_overrideShader != null )
142- {
143- var renderer = shouldActiveModelObj . GetComponentInChildren < Renderer > ( ) ;
144- if ( renderer != null )
143+ if ( hook . m_overrideShader != null )
145144 {
146- renderer . material . shader = hook . m_overrideShader ;
145+ var renderer = shouldActiveModelObj . GetComponentInChildren < Renderer > ( ) ;
146+ if ( renderer != null )
147+ {
148+ renderer . material . shader = hook . m_overrideShader ;
149+ }
147150 }
151+ shouldActiveModelObj . transform . SetParent ( hook . transform , false ) ;
152+ m_modelObjs [ shouldActiveModelNum ] = shouldActiveModelObj ;
153+ SendAfterModelCreatedMessage ( shouldActiveModelObj , hook ) ;
148154 }
149- shouldActiveModelObj . transform . SetParent ( hook . transform , false ) ;
150- m_modelObjs [ shouldActiveModelNum ] = shouldActiveModelObj ;
151- m_activeModel = shouldActiveModelNum ;
152- m_isModelActivated = false ;
153- SendAfterModelCreatedMessage ( shouldActiveModelObj , hook ) ;
154- }
155155
156- if ( ! m_isModelActivated )
157- {
158156 // active custom override model
159157 if ( SendBeforeModelActivatedMessage ( shouldActiveModelObj , hook ) )
160158 {
161159 shouldActiveModelObj . gameObject . SetActive ( true ) ;
162160 }
161+
162+ m_activeModel = shouldActiveModelNum ;
163163 m_isModelActivated = true ;
164164 }
165165 }
0 commit comments