public void BuildFromAction(PositionAction pastAction) { TBName.Text = pastAction.Name; TBTimout.Text = pastAction.Timeout.ToString(); CBFirst.SelectedItem = Logic.IntToString(pastAction.FirstBodyPart); CBSecond.SelectedItem = Logic.IntToString(pastAction.SecondBodyPart); CBRel.SelectedItem = Logic.IntToString(pastAction.Relationship); TBVal.Text = pastAction.UpperBoundsRelationshipValue.ToString(); TBLVal.Text = pastAction.LowerBoundsRelationshipValue.ToString(); }
private void BBuild_Click(object sender, EventArgs e) { Action = new PositionAction(); Action.Name = TBName.Text; Action.FirstBodyPart = Logic.StringsToInt(CBFirst.Text); Action.Relationship = Logic.StringsToInt(CBRel.Text); Action.SecondBodyPart = Logic.StringsToInt(CBSecond.Text); try { Action.Timeout = float.Parse(TBTimout.Text); } catch (System.Exception ex) { MessageBox.Show("Timeout value must be a float"); return; } try { Action.UpperBoundsRelationshipValue = float.Parse(TBVal.Text); } catch (System.Exception ex) { MessageBox.Show("Upper value value must be a float"); return; } try { Action.LowerBoundsRelationshipValue = float.Parse(TBLVal.Text); } catch (System.Exception ex) { MessageBox.Show("Lower value value must be a float"); return; } if (TBName.Text.Trim() == "") { MessageBox.Show("Action name must not be empty"); return; } DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); }
private Action LoadAction(StreamReader streamReader) { Action action = null; string line = streamReader.ReadLine();//read ActionType: string type = line.Substring(11); if (type == "Position") { PositionAction posAction = new PositionAction(); posAction.Name = streamReader.ReadLine().Substring(11); //read name: posAction.Timeout = float.Parse(streamReader.ReadLine().Substring(8)); //read FBP: posAction.FirstBodyPart = int.Parse(streamReader.ReadLine().Substring(4)); //read FBP: posAction.Relationship = int.Parse(streamReader.ReadLine().Substring(9)); //read Relationship: posAction.SecondBodyPart = int.Parse(streamReader.ReadLine().Substring(4)); //read SBP: posAction.UpperBoundsRelationshipValue = float.Parse(streamReader.ReadLine().Substring(17)); //read UpperBoundsValue: posAction.LowerBoundsRelationshipValue = float.Parse(streamReader.ReadLine().Substring(17)); //read LowerBoundsValue: action = posAction; } else if (type == "Velocity") { VelocityAction velAction = new VelocityAction(); velAction.Name = streamReader.ReadLine().Substring(11); //read name: velAction.Timeout = float.Parse(streamReader.ReadLine().Substring(8)); //read FBP: velAction.FirstBodyPart = int.Parse(streamReader.ReadLine().Substring(4)); //read FBP: velAction.Relationship = int.Parse(streamReader.ReadLine().Substring(9)); //read Relationship: velAction.RelationshipValue = float.Parse(streamReader.ReadLine().Substring(6)); //read RelationshipL: action = velAction; } else if (type == "ConditionalVelocity") { ConditionalVelocityAction velAction = new ConditionalVelocityAction(); velAction.Name = streamReader.ReadLine().Substring(11); //read name: velAction.Timeout = float.Parse(streamReader.ReadLine().Substring(8)); //read FBP: velAction.FirstBodyPart = int.Parse(streamReader.ReadLine().Substring(4)); //read FBP: velAction.VelocityRelationship = int.Parse(streamReader.ReadLine().Substring(17)); //read VelocityRelation: velAction.ConditionalBodyPart = int.Parse(streamReader.ReadLine().Substring(12)); //read ConditionBP: velAction.ConditionRelationship = int.Parse(streamReader.ReadLine().Substring(24)); //read ConditionalRelationship: velAction.RelationshipValue = float.Parse(streamReader.ReadLine().Substring(14)); //read VelocityValue: if (streamReader.ReadLine() == "-----InnerAction-----") { velAction.PassAction = ( AndAction )LoadAction(streamReader); } action = velAction; } else if (type == "And") { AndAction andAction = new AndAction(); andAction.Name = streamReader.ReadLine().Substring(11); //read name: andAction.Timeout = float.Parse(streamReader.ReadLine().Substring(8)); //read FBP: while (true) { line = streamReader.ReadLine(); if (line == "-----MultiEnd-----") { break; } else if (line == "-----InnerAction-----") { andAction.AddAction(LoadAction(streamReader)); } } action = andAction; } else if (type == "Or") { OrAction andAction = new OrAction(); andAction.Name = streamReader.ReadLine().Substring(11); //read name: andAction.Timeout = float.Parse(streamReader.ReadLine().Substring(8)); //read FBP: while (true) { line = streamReader.ReadLine(); if (line == "-----MultiEnd-----") { break; } else if (line == "-----InnerAction-----") { andAction.AddAction(LoadAction(streamReader)); } } action = andAction; } else if (type == "Time") { TimeAction timeAction = new TimeAction(); timeAction.Name = streamReader.ReadLine().Substring(11); //read name: timeAction.Timeout = float.Parse(streamReader.ReadLine().Substring(8)); //read FBP: timeAction.TimeToPass = float.Parse(streamReader.ReadLine().Substring(11)); //read TimeToPass action = timeAction; } return(action); }