internal static Vector3 GetTargetContainerPosition(ObjImage uiObject3d) { if (targetContainers.ContainsKey(uiObject3d)) { return(targetContainers[uiObject3d]); } return(GetNextFreeTargetContainerPosition()); }
internal static void RegisterTargetContainerPosition(ObjImage uiObject3D, Vector3 position) { if (targetContainers.ContainsKey(uiObject3D)) { return; } targetContainers.Add(uiObject3D, position); }
public override void OnInspectorGUI() { ObjImage objecImage = target as ObjImage; Dictionary <ObjImage, Transform> targetPrefabs = new Dictionary <ObjImage, Transform>(); targetPrefabs = targets.ToDictionary(k => k as ObjImage, v => (v as ObjImage).ObjectPrefab); Dictionary <ObjImage, float> renderScales = targets.ToDictionary(k => k as ObjImage, v => (v as ObjImage).RenderScale); EditorGUI.BeginChangeCheck(); if (GUILayout.Button("Force Render")) { foreach (var t in targetPrefabs) { t.Key.HardUpdateDisplay(); } } EditorGUILayout.Space(); base.OnInspectorGUI(); if (!EditorGUI.EndChangeCheck()) { return; } foreach (var t in targetPrefabs) { if (t.Key.ObjectPrefab != t.Value || renderScales[t.Key] != t.Key.RenderScale) { t.Key.SetStarted(); t.Key.HardUpdateDisplay(); FrameTimer.AtEndOfFrame(() => t.Key.UpdateDisplay(), t.Key); } else { t.Key.UpdateDisplay(true); } } }
internal static void UnRegisterTargetContainer(ObjImage uiObject3D) { targetContainers.Remove(uiObject3D); }