Пример #1
0
    /// <summary>
    /// Draw the inspector
    /// </summary>
    public override void OnInspectorGUI()
    {
        base.serializedObject.Update();

        EditorGUILayout.BeginHorizontal();
        //EditorGUILayout.PrefixLabel(new GUIContent("Director"));
        if (GUILayout.Button("Open Director"))
        {
            DirectorWindow window = EditorWindow.GetWindow(typeof(DirectorWindow)) as DirectorWindow;
            window.FocusCutscene(base.serializedObject.targetObject as Cutscene);
        }
        EditorGUILayout.EndHorizontal();



        EditorGUILayout.PropertyField(this.duration, durationContent);
        EditorGUILayout.PropertyField(this.isLooping, loopingContent);
        EditorGUILayout.PropertyField(this.isSkippable, skippableContent);
        EditorGUILayout.PropertyField(this.canOptimize, optimizeContent);
        EditorGUILayout.PropertyField(this.resetPositionOnEnd, resetPositionOnEndContent);

        containerFoldout = EditorGUILayout.Foldout(containerFoldout, groupsContent);

        if (containerFoldout)
        {
            EditorGUI.indentLevel++;
            Cutscene c = base.serializedObject.targetObject as Cutscene;

            for (int i = 0; i < c.TrackGroups.Length; i++)
            {
                TrackGroup container = c.TrackGroups[i];
                EditorGUILayout.BeginHorizontal();

                container.name = EditorGUILayout.TextField(container.name);
                //GUILayout.Button("add", GUILayout.Width(16));
                if (GUILayout.Button(inspectorIcon, GUILayout.Width(24)))
                {
                    Selection.activeObject = container;
                }
                //GUILayout.Button("u", GUILayout.Width(16));
                //GUILayout.Button("d", GUILayout.Width(16));
                EditorGUILayout.EndHorizontal();

                //EditorGUILayout.ObjectField(container.name, container, typeof(TrackGroup), true);
            }
            EditorGUI.indentLevel--;
            if (GUILayout.Button(addGroupContent))
            {
                CutsceneControlHelper.ShowAddTrackGroupContextMenu(c);
            }
        }

        base.serializedObject.ApplyModifiedProperties();
    }
Пример #2
0
        private void EnterButton_Click(object sender, RoutedEventArgs e)
        {
            User user = fornitureContext.Users.FirstOrDefault(u => u.Login == TextBoxLogin.Text && u.Password == PasswordBox.Password);

            if (user != null)
            {
                if (TextBoxCapcha.Text == cumcha)
                {
                    switch (user.Role)
                    {
                    case "Заказчик":
                        CustomerWindow customerWindow = new CustomerWindow(user.Login);
                        customerWindow.Show();
                        this.Close();
                        break;

                    case "Менеджер":
                        ManagerWindow managerWindow = new ManagerWindow(user.Login);
                        managerWindow.Show();
                        this.Close();
                        break;

                    case "Заместитель директора":
                        DepDirectorWindow depDirectorWindow = new DepDirectorWindow(user.Login);
                        depDirectorWindow.Show();
                        this.Close();
                        break;

                    case "Мастер":
                        MasterWindow masterWindow = new MasterWindow(user.Login);
                        masterWindow.Show();
                        this.Close();
                        break;

                    case "Директор":
                        DirectorWindow directorWindow = new DirectorWindow(user.Login);
                        directorWindow.Show();
                        this.Close();
                        break;
                    }
                }
                else
                {
                    MessageBox.Show("Капча введена не правильно");
                }
            }
            else
            {
                MessageBox.Show("Такого пользователя не существует!");
            }
        }
Пример #3
0
    protected void OnEnable()
    {
        Instance = this;
        EditorApplication.playmodeStateChanged = (EditorApplication.CallbackFunction)Delegate.Combine(EditorApplication.playmodeStateChanged, new EditorApplication.CallbackFunction(this.PlaymodeStateChanged));

        GUISkin skin = CreateInstance <GUISkin>();

        skin = (EditorGUIUtility.isProSkin) ? Resources.Load <GUISkin>(PRO_SKIN) : Resources.Load <GUISkin>(FREE_SKIN);
        loadTextures();

        titleContent    = new GUIContent(TITLE, titleImage);
        directorControl = new DirectorControl();
        directorControl.OnLoad(skin);

        directorControl.PlayCutscene     += directorControl_PlayCutscene;
        directorControl.PauseCutscene    += directorControl_PauseCutscene;
        directorControl.StopCutscene     += directorControl_StopCutscene;
        directorControl.ScrubCutscene    += directorControl_ScrubCutscene;
        directorControl.SetCutsceneTime  += directorControl_SetCutsceneTime;
        directorControl.EnterPreviewMode += directorControl_EnterPreviewMode;
        directorControl.ExitPreviewMode  += directorControl_ExitPreviewMode;
        directorControl.DragPerformed    += directorControl_DragPerformed;
        isSnappingEnabled = directorControl.IsSnappingEnabled;

        directorControl.RepaintRequest += directorControl_RepaintRequest;


        previousTime    = Time.realtimeSinceStartup;
        accumulatedTime = 0;

        int instanceId = -1;

        if (EditorPrefs.HasKey("DirectorControl.CutsceneID"))
        {
            instanceId = EditorPrefs.GetInt("DirectorControl.CutsceneID");
        }

        if (instanceId >= 0)
        {
            foreach (Cutscene c in FindObjectsOfType <Cutscene>())
            {
                if (c.GetInstanceID() == instanceId)
                {
                    cutscene = c;
                }
            }
        }

        LoadSettings();
        Undo.undoRedoPerformed += UndoRedoPerformed;
    }
Пример #4
0
 public void OnDisable()
 {
     Instance = null;
     directorControl.OnDisable();
     if (Application.isEditor && cutscene != null)
     {
         cutscene.ExitPreviewMode();
     }
     if (cutscene != null)
     {
         EditorPrefs.SetInt("DirectorControl.CutsceneID", cutscene.GetInstanceID());
     }
     Undo.undoRedoPerformed -= UndoRedoPerformed;
 }
Пример #5
0
        public static void CreateCutscene(List <Sequence.FrameInfo> Frames, float DurationPerFrame)
        {
            string cutsceneName = DirectorHelper.getCutsceneItemName("New Cutscene", typeof(Cutscene));

            GameObject cutsceneGO = new GameObject(cutsceneName);
            Cutscene   cutscene   = cutsceneGO.AddComponent <Cutscene>();

            GameObject framesGO = new GameObject("Frames");

            framesGO.transform.SetParent(cutsceneGO.transform);

            GameObject triggersGO = new GameObject("Triggers");

            triggersGO.transform.SetParent(cutsceneGO.transform);

            List <Transform> frameTransforms = new List <Transform>();
            float            time            = 0;

            for (int i = 0; i < Frames.Count; i++)
            {
                if (Frames[i].m_Source == null)
                {
                    time += DurationPerFrame * Frames[i].Duration;
                    continue;
                }
                var frameGO = GameObject.Instantiate(Frames[i].m_Source) as GameObject;
                frameGO.name = Frames[i].m_Source.name;
                frameGO.transform.SetParent(framesGO.transform);
                frameGO.transform.localPosition    = Vector3.zero;
                frameGO.transform.localEulerAngles = Vector3.zero;
                frameGO.transform.localScale       = Vector3.one;
                frameGO.SetActive(false);
                frameTransforms.Add(frameGO.transform);
                var group = CutsceneItemFactory.CreateActorTrackGroup(cutscene, frameGO.transform) as ActorTrackGroup;
                group.transform.SetParent(triggersGO.transform);
                var track  = CutsceneItemFactory.CreateActorItemTrack(group);
                var action = CutsceneItemFactory.CreateActorAction(track, typeof(EnableGameObjectAction),
                                                                   "Temporary Enable", time) as EnableGameObjectAction;
                action.Firetime = time;
                action.Duration = DurationPerFrame * Frames[i].Duration;
                time           += action.Duration;

                CutsceneItemFactory.CreateActorEvent(track, typeof(DisableGameObject), "Disable", 0);
            }

            cutscene.Duration    = time;
            cutscene.IsLooping   = true;
            cutscene.IsSkippable = false;

            // Cutscene trigger
            GameObject cutsceneTriggerGO = new GameObject("Cutscene Trigger");

            cutsceneTriggerGO.transform.SetParent(cutsceneGO.transform);
            CutsceneTrigger cutsceneTrigger = cutsceneTriggerGO.AddComponent <CutsceneTrigger>();

            cutsceneTrigger.StartMethod = StartMethod.OnStart;
            cutsceneTrigger.Cutscene    = cutscene;

            int undoIndex = Undo.GetCurrentGroup();

            Undo.RegisterCreatedObjectUndo(cutsceneGO, "Created New Cutscene");
            Undo.CollapseUndoOperations(undoIndex);

            Selection.activeTransform = cutsceneGO.transform;

            // Open director
            DirectorWindow window = EditorWindow.GetWindow(typeof(DirectorWindow)) as DirectorWindow;

            window.FocusCutscene(cutscene);
        }
Пример #6
0
    /// <summary>
    /// Draw the inspector
    /// </summary>
    public override void OnInspectorGUI()
    {
        base.serializedObject.Update();

        EditorGUILayout.BeginHorizontal();
        //EditorGUILayout.PrefixLabel(new GUIContent("Director"));
        if (GUILayout.Button("Open Director"))
        {
            DirectorWindow window = EditorWindow.GetWindow(typeof(DirectorWindow)) as DirectorWindow;
            window.FocusCutscene(base.serializedObject.targetObject as Cutscene);
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.PropertyField(this.debug, debugContent);
        EditorGUILayout.PropertyField(this.duration, durationContent);
        EditorGUILayout.PropertyField(this.isLooping, loopingContent);
        EditorGUILayout.PropertyField(this.isSkippable, skippableContent);
        EditorGUILayout.PropertyField(this.canOptimize, optimizeContent);

        containerFoldout = EditorGUILayout.Foldout(containerFoldout, groupsContent);

        if (containerFoldout)
        {
            EditorGUI.indentLevel++;
            Cutscene c = base.serializedObject.targetObject as Cutscene;

            foreach (TrackGroup container in c.TrackGroups)
            {
                EditorGUILayout.BeginHorizontal();

                container.name = EditorGUILayout.TextField(container.name);
                //GUILayout.Button("add", GUILayout.Width(16));
                if (GUILayout.Button(inspectorIcon, GUILayout.Width(24)))
                {
                    Selection.activeObject = container;
                }
                //GUILayout.Button("u", GUILayout.Width(16));
                //GUILayout.Button("d", GUILayout.Width(16));
                EditorGUILayout.EndHorizontal();

                //EditorGUILayout.ObjectField(container.name, container, typeof(TrackGroup), true);
            }
            EditorGUI.indentLevel--;
            EditorGUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            if (GUILayout.Button(addGroupContent, GUILayout.Width(100)))
            {
                CutsceneControlHelper.ShowAddTrackGroupContextMenu(c);
            }
            EditorGUILayout.EndHorizontal();
        }

        EditorGUILayout.BeginHorizontal();
//        if (GUILayout.Button(reflushEntityContent))
//        {
//            Cutscene cutscene = base.target as Cutscene;
//            EntityTrackGroup[] actorGroupArr = cutscene.GetComponentsInChildren<EntityTrackGroup>();
//
//            foreach (EntityTrackGroup actorGroup in actorGroupArr)
//            {
//                EntityTrackGroupInspector.Initialize(actorGroup, actorGroup.Model,actorGroup.Wings,
//                                                     actorGroup.Weapon, actorGroup.Horse);
//            }
//        }

        if (GUILayout.Button(resetContent))
        {
            Cutscene cutscene = base.target as Cutscene;
            resetCutscene(cutscene);
        }

        if (GUILayout.Button(clearContent))
        {
            clearTrackGroups((Cutscene)base.target);
        }
        EditorGUILayout.EndHorizontal();

        if (GUILayout.Button(exportContent))
        {
            exportPrefab();
        }
        base.serializedObject.ApplyModifiedProperties();
    }