Skip to content

Commit 57c57ad

Browse files
author
lawwong
committed
Fix fail switching default fallback render model in RenderModelHook
1 parent 2d4b143 commit 57c57ad

1 file changed

Lines changed: 24 additions & 24 deletions

File tree

Assets/HTC.UnityPlugin/ViveInputUtility/Scripts/Misc/RenderModelHook.cs

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)