public static void LoadDataFromAnimationHelpers() { AnimationGroupList sceneAnimationGroupList = new AnimationGroupList(); sceneAnimationGroupList.LoadFromData(); foreach (IINode node in Loader.Core.RootNode.DirectChildren()) { if (node.IsBabylonAnimationHelper()) { AnimationGroupList helperAnimationGroupList = new AnimationGroupList(); helperAnimationGroupList.LoadFromData(node); //merge foreach (AnimationGroup animationGroup in helperAnimationGroupList) { AnimationGroup toMerge = sceneAnimationGroupList.Find(a => a.Name == animationGroup.Name); if (toMerge != null) { toMerge.MergeFrom(animationGroup); } else { AnimationGroup newAnimationGroup = new AnimationGroup(); newAnimationGroup.DeepCopyFrom(animationGroup); sceneAnimationGroupList.Add(newAnimationGroup); } } } } sceneAnimationGroupList.SaveToData(); Loader.Global.SetSaveRequiredFlag(true, false); }
public string RenameAnimationGroup(AnimationGroup info, string name) { AnimationGroupList animationGroupList = new AnimationGroupList(); animationGroupList.LoadFromData(); AnimationGroup animGroupToRename = animationGroupList.GetAnimationGroupByName(info.Name); string baseName = name; int i = 0; bool hasConflict = true; while (hasConflict) { hasConflict = false; foreach (AnimationGroup animationGroup in animationGroupList) { if (baseName.Equals(animationGroup.Name)) { baseName = name + i.ToString(); ++i; hasConflict = true; break; } } } animGroupToRename.Name = baseName; // save info and animation list entry animationGroupList.SaveToData(); Loader.Global.SetSaveRequiredFlag(true, false); return(baseName); }
private void createAnimationButton_Click(object sender, EventArgs e) { AnimationGroup info = new AnimationGroup(); // get a unique name and guid string baseName = info.Name; int i = 0; bool hasConflict = true; while (hasConflict) { hasConflict = false; foreach (AnimationGroup animationGroup in animationGroups) { if (info.Name.Equals(animationGroup.Name)) { info.Name = baseName + i.ToString(); ++i; hasConflict = true; break; } if (info.SerializedId.Equals(animationGroup.SerializedId)) { info.SerializedId = Guid.NewGuid(); hasConflict = true; break; } } } // save info and animation list entry animationGroups.Add(info); animationGroups.SaveToData(); animationListBinding.ResetBindings(false); Loader.Global.SetSaveRequiredFlag(true, false); AnimationListBox.ClearSelected(); AnimationListBox.SelectedItem = info; }
public AnimationGroup CreateAnimationGroup() { AnimationGroupList animationGroupList = new AnimationGroupList(); animationGroupList.LoadFromData(); AnimationGroup info = new AnimationGroup(); // get a unique name and guid string baseName = info.Name; int i = 0; bool hasConflict = true; while (hasConflict) { hasConflict = false; foreach (AnimationGroup animationGroup in animationGroupList) { if (info.Name.Equals(animationGroup.Name)) { info.Name = baseName + i.ToString(); ++i; hasConflict = true; break; } if (info.SerializedId.Equals(animationGroup.SerializedId)) { info.SerializedId = Guid.NewGuid(); hasConflict = true; break; } } } // save info and animation list entry animationGroupList.Add(info); animationGroupList.SaveToData(); Loader.Global.SetSaveRequiredFlag(true, false); return(info); }