Beispiel #1
0
        internal static Vector3 GetTargetContainerPosition(ObjImage uiObject3d)
        {
            if (targetContainers.ContainsKey(uiObject3d))
            {
                return(targetContainers[uiObject3d]);
            }

            return(GetNextFreeTargetContainerPosition());
        }
Beispiel #2
0
        internal static void RegisterTargetContainerPosition(ObjImage uiObject3D, Vector3 position)
        {
            if (targetContainers.ContainsKey(uiObject3D))
            {
                return;
            }

            targetContainers.Add(uiObject3D, position);
        }
Beispiel #3
0
        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);
                }
            }
        }
Beispiel #4
0
 internal static void UnRegisterTargetContainer(ObjImage uiObject3D)
 {
     targetContainers.Remove(uiObject3D);
 }