Esempio n. 1
0
    public override void OnInspectorGUI()
    {
        controller = (CameraOperator)target;
        Shot prevShot = controller.Shot;
        controller.Shot = (Shot)EditorGUILayout.ObjectField ("Shot", controller.Shot, typeof(Shot), false);

        if (controller.Shot != null) {
            if (controller.Shot != prevShot)
                EditorUtility.SetDirty (controller.Shot);

            bool actorsChanged = false;
            for (int i=0;i<controller.Actors.Length;i++){
                Actor prev = controller.Actors[i];
                controller.Actors[i] = (Actor)EditorGUILayout.ObjectField("Actor "+i,controller.Actors[i],typeof(Actor),true);
                actorsChanged = prev != controller.Actors[i];
            }

            if (actorsChanged && Application.isPlaying)
                controller.SelectShot(controller.Shot,CameraOperator.Transition.Smooth,controller.Actors);

            controller.MovementResponsiveness = EditorGUILayout.Slider("Movement Responsiveness",controller.MovementResponsiveness,0,1);
            controller.RotationResponsiveness = EditorGUILayout.Slider("Rotation Responsiveness",controller.RotationResponsiveness,0,1);

            EditorGUILayout.Separator();

            if (controller.ReadyForEvaluation){
                controller.Shot.GetQuality(controller.Actors,controller.transform.GetComponent<Camera>());

                foreach (Property p in controller.Shot.Properties){
                    string sbj = p.MainSubjectIndex.ToString();
                    if (p.PropertyType == Property.Type.RelativePosition)
                        sbj += " "+(((RelativePosition)p).DesiredPosition).ToString()+" "+((RelativePosition)p).SecondaryActorIndex;

                    EditorGUILayout.LabelField(p.PropertyType+" on "+sbj+" = "+p.Evaluate(controller.Actors));
                }

                for (int i=0;i<controller.Actors.Length;i++)
                    EditorGUILayout.LabelField("Visibility on "+i+" = "+controller.Actors[i].Visibility);
            }

        }
    }