void ModelCountChange()
        {
            ModelValue[] NewModels = new ModelValue[ModelCount.get()];

            for (int i = 0; i < Math.Max(ModelCount.get(), ModelCountPrevious); i++)
            {
                if (i < ModelCount.get())
                {
                    if (i < ModelCountPrevious)
                    {
                        NewModels[i] = Models[i];
                    }
                    else
                    {
                        Level.ReferenceObject = this;
                        NewModels[i]          = new ModelValue("Model " + i.ToString());
                    }
                }
                else
                {
                    RemoveValue(Models[i]);
                }
            }

            Models             = NewModels;
            Items              = new LineModelItem[ModelCount.get()];
            ModelCountPrevious = ModelCount.get();

#if EDITOR && WINDOWS
            if (ParentLevel.LevelForEditing)
            {
                ParentScene.UpdateSelected();
            }
#endif
        }
Exemplo n.º 2
0
        private void CountChange()
        {
            EventValue[] NewEvents = new EventValue[EventCount.get()];
            IntValue[]   NewTimes  = new IntValue[EventCount.get()];

            for (int i = 0; i < Math.Max(EventCount.get(), EventCountPrevious); i++)
            {
                if (i < EventCount.get())
                {
                    if (i < EventCountPrevious)
                    {
                        NewEvents[i] = Events[i];
                        NewTimes[i]  = Times[i];
                    }
                    else
                    {
                        Level.ReferenceObject   = this;
                        NewTimes[i]             = new IntValue("Time " + i.ToString(), i * 1000);
                        NewTimes[i].ChangeEvent = TimeChange;
                        NewEvents[i]            = new EventValue("Event " + i.ToString());
                    }
                }
                else
                {
                    RemoveValue(Times[i]);
                    RemoveValue(Events[i]);
                }
            }

            Events = NewEvents;
            Times  = NewTimes;

            EventCountPrevious = EventCount.get();
#if EDITOR && WINDOWS
            if (ParentLevel.LevelForEditing)
            {
                ParentScene.UpdateSelected();
            }
#endif
        }