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 }
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 }