Exemplo n.º 1
0
        public static Folder folder_add_child(NeoOCI parent, string childtext)
        {
            var fold = Folder.add(childtext);

            fold.set_parent(parent);
            return(fold);
        }
Exemplo n.º 2
0
        public static Folder createFldIfNo(string txt, Folder parent, int childNum)
        {
            Folder fld;

            if (parent.treeNodeObject.child.Count <= childNum)
            {
                //print "create folder! %s" % txt
                fld = Folder.add(txt);
                fld.set_parent(parent);
                return(fld);
            }
            else
            {
                var chld = parent.treeNodeObject.child[childNum];
                fld = NeoOCI.create_from_treenode(chld) as Folder;
                if (chld.textName != txt)
                {
                    //print "hit! upd folder! %s" % txt
                    fld.name = txt;
                    //return fld
                }
                else
                {
                    //print "hit!! no creation! %s" % txt
                }
                return(fld);
            }
        }
Exemplo n.º 3
0
        public static void _dump_item_tree(StreamWriter f, NeoOCI item, int level)
        {
            var txt1 = "";

            if (item is Item)
            {
                txt1 = item_dump((Item)item);
            }
            else if (item is Folder)
            {
                txt1 = folder_dump((Folder)item);
            }

            if (item.treeNodeObject.childCount > 0)
            {
                txt1 += ", 'ch': [";
                _print_dump(f, txt1, level);
                // print all child
                foreach (var childt in item.treeNodeObject.child)
                {
                    var child = NeoOCI.create_from_treenode(childt);
                    _dump_item_tree(f, child, level + 1);
                }
                _print_dump(f, "]},", level);
            }
            else
            {
                _print_dump(f, txt1 + "}", level);
            }
        }
Exemplo n.º 4
0
        internal void copySelectedStatusToTracking(List <string> exclude)
        {
            var elem = NeoOCI.create_from_selected();

            if (elem is VNActor.Actor chara)
            {
                var tmp_status = chara.export_full_status();
                var actors     = game.AllActors;
                foreach (var key in actors.Keys)
                {
                    VNActor.Actor actor = (VNActor.Actor)actors[key];
                    if (actor.text_name == chara.text_name)
                    {
                        /* TODO
                         * foreach (var keyEx in exclude)
                         * {
                         *  tmp_status.Remove(keyEx);
                         * }
                         */
                        actor.import_status(tmp_status);
                        return;
                    }
                }
                show_blocking_message_time_sc("Can't find tracking char with same name");
            }
            else
            {
                show_blocking_message_time_sc("Can't copy status");
            }
        }
Exemplo n.º 5
0
        internal void pasteSelectedStatus2()
        {
            var elem = NeoOCI.create_from_selected();

            if (elem is VNActor.Actor chara)
            {
                chara.import_status((ActorData)clipboard_status2);
            }
            else if (elem is Prop prop)
            {
                if (elem is Item i)
                {
                    i.import_status((ItemData)clipboard_status2);
                }
                else if (elem is VNActor.Light l)
                {
                    prop.import_status((LightData)clipboard_status2);
                }
                else
                {
                    prop.import_status((NEOPropData)clipboard_status2);
                }
            }
            else
            {
                show_blocking_message_time_sc("Can't paste status 2");
            }
        }
Exemplo n.º 6
0
        // :type elem:HSNeoOCI
        public static void render_ui_for_tracking(string id, NeoOCI elem)
        {
            var txt = id + ": " + elem.text_name;

            GUILayout.BeginHorizontal();
            GUILayout.Space(20);
            var btntext = "";

            if (elem.visible_treenode)
            {
                btntext = "v";
            }
            if (GUILayout.Button(btntext, GUILayout.Width(22)))
            {
                elem.visible_treenode = !elem.visible_treenode;
            }
            bool isSelected = Utils.treenode_check_select(elem.treeNodeObject);

            if (GUILayout.Button(Utils.btntext_get_if_selected(txt, isSelected)))
            {
                Instance.game.studio.treeNodeCtrl.SelectSingle(elem.treeNodeObject);
            }
            //GUILayout.Label(txt)
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
        }
Exemplo n.º 7
0
        public static List <List <VNActor.Actor> > getSelectedChars(VNNeoController game)
        {
            var mtreeman = game.studio.treeNodeCtrl;
            var ar       = new List <VNActor.Actor>();

            foreach (var node in mtreeman.selectNodes)
            {
                var ochar = NeoOCI.create_from_treenode(node);
                if (ochar.objctrl is OCIChar)
                {
                    VNActor.Actor chara = (VNActor.Actor)ochar;
                    ar.Add(chara);
                }
            }
            var am = new List <VNActor.Actor>();
            var af = new List <VNActor.Actor>();

            foreach (var chara in ar)
            {
                if (chara.Sex == 0)
                {
                    am.Add(chara);
                }
                else
                {
                    af.Add(chara);
                }
            }
            return(new List <List <VNActor.Actor> > {
                af,
                am
            });
        }
Exemplo n.º 8
0
 public static NeoOCI scenef_get_prop(string id)
 {
     if (AllProps.ContainsKey(id))
     {
         NeoOCI obj = AllProps[id];
         return(obj);
     }
     return(null);
 }
Exemplo n.º 9
0
        //import GameCursor, CameraControl

        /*
         * public static object vngame_window_studio(object vnButtonsStart, object vnButtonsActionsStart)
         * {
         *  var game = vngameenginestudio.vngame_window_studio(vnButtonsStart, vnButtonsActionsStart);
         *  return game;
         * }
         */

        //changed by chickenman

        /*
         * public static object vngame_window_neo(object vnButtonsStart, object vnButtonsActionsStart)
         * {
         *  //unity_util.clean_behaviors();
         *  //var game = unity_util.create_gui_behavior(NeoController);
         *  return new NeoController;
         * }
         *
         * public static object vngame_window_phstudio(object vnButtonsStart, object vnButtonsActionsStart)
         * {
         *  var game = vngameenginephstudio.vngame_window_phstudio(vnButtonsStart, vnButtonsActionsStart);
         *  return game;
         * }
         */

        // ---------------- --- dumping item tree -----------------
        public static void dump_selected_item_tree()
        {
            NeoOCI item = NeoOCI.create_from_selected();

            using (StreamWriter file =
                       new StreamWriter(@"dump_selected_items.txt"))
            {
                _dump_item_tree(file, item, 0);
            }
        }
Exemplo n.º 10
0
        public static VNActor.Actor getSelectedChar(VNNeoController game)
        {
            var mtreeman = game.studio.treeNodeCtrl;
            var ar       = new List <VNActor.Actor>();

            foreach (var node in mtreeman.selectNodes)
            {
                var ochar = NeoOCI.create_from_treenode(node);
                if (ochar.objctrl is OCIChar)
                {
                    VNActor.Actor chara = (VNActor.Actor)ochar;
                    ar.Add(chara);
                }
            }
            return(ar[0]);
        }
Exemplo n.º 11
0
        public static Folder createFld(string txt, NeoOCI parent = null, bool ret = true)
        {
            var fld = Folder.add(txt);

            if (parent is Folder)
            {
                fld.set_parent(parent);
            }
            if (ret == true)
            {
                return(fld);
            }
            else
            {
                throw new Exception("create folder failed");
            }
        }
Exemplo n.º 12
0
        internal void delSelectedFromTrack()
        {
            var elem = NeoOCI.create_from_selected();

            if (elem == null)
            {
                show_blocking_message_time_sc("Nothing selected");
                return;
            }
            if (elem is VNActor.Actor chara)
            {
                var actors = game.AllActors;
                var id     = "";
                foreach (var actid in actors.Keys)
                {
                    if (actors[actid].objctrl == elem.objctrl)
                    {
                        // found
                        id = actid;
                        break;
                    }
                }
                if (id == "")
                {
                    show_blocking_message_time_sc("Can't delete; seems this actor is not tracking yet");
                    return;
                }
                delActorFromTrack(id);
            }
            else if (elem is Prop)
            {
                var props = game.AllProps;
                var id    = "";
                foreach (var propid in props.Keys)
                {
                    if (props[propid].objctrl == elem.objctrl)
                    {
                        id = propid; // found
                        break;
                    }
                }
                delPropFromTrack(id);
            }
            // updating set
            SceneFolders.LoadTrackedActorsAndProps();
        }
Exemplo n.º 13
0
        internal void copySelectedStatus2()
        {
            var elem = NeoOCI.create_from_selected();

            if (elem is VNActor.Actor chara)
            {
                clipboard_status2 = (IDataClass <IVNObject <object> >)chara.export_full_status();
            }
            else if (elem is Prop prop)
            {
                clipboard_status2 = (IDataClass <IVNObject <object> >)prop.export_full_status();
            }
            else
            {
                show_blocking_message_time_sc("Can't copy status 2");
            }
        }
Exemplo n.º 14
0
 public static void restrict_to_child(Folder fld, int numchilds)
 {
     if (fld.treeNodeObject.child.Count > numchilds)
     {
         var ar  = fld.treeNodeObject.child;
         var ar2 = new List <NeoOCI>();
         foreach (var treeobj in ar)
         {
             ar2.Add(NeoOCI.create_from_treenode(treeobj));
         }
         foreach (var i in Enumerable.Range(0, ar2.Count))
         {
             if (i >= numchilds)
             {
                 Console.WriteLine(String.Format("deleted! {0}", i.ToString()));
                 ar2[i].delete();
             }
         }
     }
 }
Exemplo n.º 15
0
        internal void changeSelTrackID(string toId)
        {
            if (toId == "")
            {
                show_blocking_message_time_sc("Please, set ID to change to first");
                return;
            }
            var elem = NeoOCI.create_from_selected();

            if (elem == null)
            {
                show_blocking_message_time_sc("Nothing selected");
                return;
            }
            if (elem is VNActor.Actor chara)
            {
                var    actors = game.AllActors;
                string id     = "";
                foreach (var actid in actors.Keys)
                {
                    if (actors[actid].objctrl == elem.objctrl)
                    {
                        // found
                        id = actid;
                        break;
                    }
                }
                //self.delActorFromTrack(actid)
                if (id == "")
                {
                    show_blocking_message_time_sc("Can't find actor to change ID");
                    return;
                }
                // actually changing ID
                changeActorTrackId(id, toId);
            }
            // updating set
            SceneFolders.LoadTrackedActorsAndProps();
        }
Exemplo n.º 16
0
        public static List <NeoOCI> get_selected_objs()
        {
            var mtreeman = StudioController.Instance.studio.treeNodeCtrl;
            var ar       = new List <NeoOCI>();

            foreach (var node in mtreeman.selectNodes)
            {
                var ochar = NeoOCI.create_from_treenode(node);
                if (ochar is VNActor.Actor chara)
                {
                    ar.Add(chara);
                }
                else if (ochar is Prop prop)
                {
                    ar.Add(prop);
                }
                else
                {
                    throw new Exception("Invalid object");
                }
            }
            return(ar);
        }
Exemplo n.º 17
0
        public static List <Item> getSelectedItems(VNNeoController game)
        {
            var mtreeman = game.studio.treeNodeCtrl;
            var ar       = new List <Item>();

            foreach (var node in mtreeman.selectNodes)
            {
                var oitem = NeoOCI.create_from_treenode(node);
                if (oitem.objctrl is OCIItem)
                {
                    Item prop = (Item)oitem;
                    ar.Add(prop);
                }
            }
            if (ar.Count > 0)
            {
                return(ar);
            }
            else
            {
                throw new Exception("No items selected");
            }
        }
Exemplo n.º 18
0
        // folders
        public static object add_folder_if_not_exists(string foldertxt, string folderfind, NeoOCI parentifcreate, bool overwrite = false)
        {
            var vnext = Folder.find_single_startswith(folderfind);

            if (vnext is Folder)
            {
                if (overwrite)
                {
                    vnext.name = foldertxt;
                }
                return(vnext);
            }
            else
            {
                return(folder_add_child(parentifcreate, foldertxt));
            }
        }
Exemplo n.º 19
0
        public static void LoadTrackedActorsAndProps()
        {
            List <OCIFolder> folders = scene_get_all_folders_raw();

            AllActors.Clear();
            AllProps.Clear();

            foreach (OCIFolder fld in folders)
            {
                string fldName = fld.name;
                if (fldName.StartsWith(actor_folder_prefix))
                {
                    string actorAlias;
                    string actorColor = "ffffff";
                    string actorTitle = null;

                    // analysis actor tag
                    var tagElements = fldName.Split(':');
                    if (tagElements.Length == 2)
                    {
                        actorAlias = tagElements[1];
                    }
                    else if (tagElements.Length == 3)
                    {
                        actorAlias = tagElements[1];
                        actorColor = tagElements[2];
                    }
                    else
                    {
                        actorAlias = tagElements[1];
                        actorColor = tagElements[2];
                        actorTitle = tagElements[3];
                    }

                    if (!AllActors.ContainsKey(actorAlias))
                    {
                        var hsociChar = NeoOCI.create_from_treenode(fld.treeNodeObject.parent.parent.parent);

                        if (hsociChar is VNActor.Actor chara)
                        {
                            if (actorTitle is null)
                            {
                                actorTitle = hsociChar.text_name;
                            }

                            AllActors[actorAlias] = chara;

                            //register_char(actorAlias, actorColor, actorTitle);

                            StudioController.Instance.GetLogger.LogDebug("Registered actor: '" + actorAlias + "' as " + actorTitle + " (#" + actorColor + ")");
                        }
                    }
                }
                else if (fldName.StartsWith(prop_folder_prefix))
                {
                    // analysis props tag

                    string propAlias = fldName.Substring(prop_folder_prefix.Length).Trim();
                    // register props

                    if (!AllProps.ContainsKey(propAlias))
                    {
                        NeoOCI oci = NeoOCI.create_from_treenode(fld.treeNodeObject.parent);

                        if (oci is Prop propOci)
                        {
                            AllProps[propAlias] = propOci;
                            StudioController.Instance.GetLogger.LogDebug("Registered prop: '" + Utils.to_roman(propAlias) + "' as " + Utils.to_roman(oci.text_name));
                        }
                    }
                }
                else if (fldName.StartsWith(light_folder_prefix))
                {
                    string propAlias = fldName.Substring(light_folder_prefix.Length).Trim();
                    // register props

                    if (!AllProps.ContainsKey(propAlias))
                    {
                        NeoOCI oci = NeoOCI.create_from_treenode(fld.treeNodeObject.child[0]);

                        if (oci is VNActor.Light propOci)
                        {
                            AllProps[propAlias] = propOci;
                            StudioController.Instance.GetLogger.LogDebug("Registered light: '" + Utils.to_roman(propAlias) + "' as " + Utils.to_roman(oci.text_name));
                        }
                    }
                }
            }
        }
Exemplo n.º 20
0
 public static string sort_by_textname(NeoOCI el)
 {
     return(el.treeNodeObject.textName);
 }