private void UpdateTransitionConfigs() { debug = "Enter Update Transition Configs"; // Update Config Pin if there is a change TransitionXML = Transition.DataSerializeTransition(transitionList); //unnecessary elements //TransitionTimeSettingOut.Clear(); //TransitionNames.Add("Reset To Default State"); // Default Reset Transition to Init //foreach (Transition transition in transitionList) // Loop through List with foreach. //{ // TransitionNames.Add(transition.Name); // TransitionTimeSettingOut.Add(transition.Frames); //} debug = "Prepare for Transitions Enum Clearing"; TransitionsEnum.Clear(); transitionList.ForEach(transition => TransitionsEnum.AddEntry(transition.Name)); debug = transitionList.Count.ToString(); //upper part seems to be clearer //if (transitionList.Count > 0) //{ // //new enum technique // //EnumManager.UpdateEnum(myGUID + "_Transitions", transitionList[0].Name, transitionList.Select(x => x.Name).Distinct().ToArray()); // //EnumManager.UpdateEnum(myGUID + "_AllTransitions", transitionList[0].Name, transitionList.Select(x => x.Name).ToArray()); //} else //{ // //EnumManager.UpdateEnum(myGUID + "_Transitions", "", transitionList.Select(x => x.Name).Distinct().ToArray()); // //EnumManager.UpdateEnum(myGUID + "_AllTransitions", "", transitionList.Select(x => x.Name).ToArray()); //} }
private void InitSettings() { //load settings if (stateList.Count < 2 && StateXML.Length > 3 && Initialize) { try { stateList = State.DataDeserializeState(StateXML); transitionList = Transition.DataDeserializeTransition(TransitionXML); if (RegionXML.Length > 3) { regionList = AutomataRegion.DataDeserializeRegion(RegionXML); } } catch { debug = "Loading XML Graph failed!"; } //new enum technique //EnumManager.UpdateEnum(myGUID + "_States", stateList[0].Name, stateList.Select(x => x.Name).ToArray()); stateList.ForEach(state => StatesEnum.AddEntry(state.Name)); //EnumManager.UpdateEnum(myGUID + "_Transitions", transitionList[0].Name, transitionList.Select(x => x.Name).Distinct().ToArray()); transitionList.ForEach(transition => TransitionsEnum.AddEntry(transition.Name)); //EnumManager.UpdateEnum(myGUID + "_Regions", regionList[0].Name, regionList.Select(x => x.Name).ToArray()); regionList.ForEach(region => RegionsEnum.AddEntry(region.Name)); //EnumManager.UpdateEnum(myGUID + "_AllTransitions", transitionList[0].Name, transitionList.Select(x => x.Name).ToArray()); //repair relation foreach (Transition transition in transitionList) { transition.startState = stateList.First(x => x.ID.Contains(transition.startState.ID)); transition.endState = stateList.First(x => x.ID.Contains(transition.endState.ID)); } this.Invalidate(); previousPosition = MousePosition; p.StagePos.X = 0; p.StagePos.Y = 0; Initialize = false; } else if (stateList.Count < 2 && Initialize) { //add state to state list stateList.Add(new State() { ID = "Init", Name = "Init", Bounds = new Rectangle(new Point(0, 0), new Size(p.StateSize, p.StateSize)) }); UpdateStateConfigs(); // update JSON,Enums and Redraw this.Invalidate(); previousPosition = MousePosition; p.StagePos.X = 0; p.StagePos.Y = 0; Initialize = false; } }