public bool SaveMovsAndPositions() { bool succes = true; succes &= PredefPosition.SerializeToXml(this.leftPredefPos.Values.ToArray(), this.fileLeftPredefPos); succes &= PredefPosition.SerializeToXml(this.rightPredefPos.Values.ToArray(), this.fileRightPredefPos); succes &= PredefMovement.SerializeToXml(this.leftPredefMovs.Values.ToArray(), this.fileLeftMovements); succes &= PredefMovement.SerializeToXml(this.rightPredefMovs.Values.ToArray(), this.fileRightMovements); return(succes); }
public bool AddPredefinedMovement(string name) { PredefMovement pm; if (this.rightPredefMovs.ContainsKey(name)) { return(false); } else { pm = new PredefMovement(name); this.rightPredefMovs.Add(name, pm); return(true); } }
public bool LoadMovsAndPositions() { PredefPosition[] tempPos = PredefPosition.DeserializeFromXml(this.fileLeftPredefPos); if (tempPos != null) { foreach (PredefPosition pp in tempPos) { if (this.leftPredefPos.ContainsKey(pp.Name)) { TextBoxStreamWriter.DefaultLog.WriteLine("Predefined Position repeated name: " + pp.Name); } else { this.leftPredefPos.Add(pp.Name, pp); } } } else { TextBoxStreamWriter.DefaultLog.WriteLine("Cannot load left predefined positions from file: " + this.fileLeftPredefPos); } tempPos = PredefPosition.DeserializeFromXml(this.fileRightPredefPos); if (tempPos != null) { foreach (PredefPosition pp in tempPos) { if (this.rightPredefPos.ContainsKey(pp.Name)) { TextBoxStreamWriter.DefaultLog.WriteLine("Predefined Position repeated name: " + pp.Name); } else { this.rightPredefPos.Add(pp.Name, pp); } } } else { TextBoxStreamWriter.DefaultLog.WriteLine("Cannot load right predefined positions from file: " + this.fileLeftPredefPos); } PredefMovement[] tempMovs = PredefMovement.DeserializeFromXml(this.fileLeftMovements); if (tempMovs != null) { foreach (PredefMovement pm in tempMovs) { if (this.leftPredefMovs.ContainsKey(pm.Name)) { TextBoxStreamWriter.DefaultLog.WriteLine("Predefined Movement repeated name: " + pm.Name); } else { List <int> toErase = new List <int>(); for (int i = 0; i < pm.Positions.Count; i++) { if (this.leftPredefPos.ContainsKey(pm.Positions[i].Name)) { pm.Positions[i] = this.leftPredefPos[pm.Positions[i].Name]; } else { TextBoxStreamWriter.DefaultLog.WriteLine("leftArm: PredefPosition " + pm.Positions[i].Name + " on PredefMov " + pm.Name + " couldn´t be found on current PredefPos list"); toErase.Add(i); //pm.Positions.RemoveAt(i); } } int count = 0; foreach (int num in toErase) { pm.Positions.RemoveAt(num - count); count++; } this.leftPredefMovs.Add(pm.Name, pm); } } } else { TextBoxStreamWriter.DefaultLog.WriteLine("Cannot load left predefined movements from file: " + this.fileLeftMovements); } /* * if(this.leftPredefMovs!=null) * foreach(PredefMovement pm in (PredefMovement[])this.leftPredefMovs) * foreach (PredefPosition pp in pm.Positions) * { * if (this.leftPredefPos.ContainsKey(pp.Name)) * pp = this.leftPredefPos[pp.Name]; * else * { * TextBoxStreamWriter.DefaultLog.WriteLine("leftArm: PredefPosition " + pp.Name + " on PredefMov " + pm.Name + " couldn´t be found on current PredefPos list"); * pm.Positions.Remove(pp.Name); * } * } */ tempMovs = PredefMovement.DeserializeFromXml(this.fileRightMovements); if (tempMovs != null) { foreach (PredefMovement pm in tempMovs) { if (this.rightPredefMovs.ContainsKey(pm.Name)) { TextBoxStreamWriter.DefaultLog.WriteLine("Predefined Movement repeated name: " + pm.Name); } else { List <int> toErase = new List <int>(); for (int i = 0; i < pm.Positions.Count; i++) { if (this.rightPredefPos.ContainsKey(pm.Positions[i].Name)) { pm.Positions[i] = this.rightPredefPos[pm.Positions[i].Name]; } else { TextBoxStreamWriter.DefaultLog.WriteLine("rightArm: PredefPosition " + pm.Positions[i].Name + " on PredefMov " + pm.Name + " couldn´t be found on current PredefPos list"); toErase.Add(i); //pm.Positions.RemoveAt(i); } } int count = 0; foreach (int num in toErase) { pm.Positions.RemoveAt(num - count); count++; } this.rightPredefMovs.Add(pm.Name, pm); } } } else { TextBoxStreamWriter.DefaultLog.WriteLine("Cannot load right predefined movements from file: " + this.fileRightMovements); } /* * if (this.righttPredefMovs != null) * foreach (PredefMovement pm in this.rightPredefMovs) * foreach (PredefPosition pp in pm.Positions) * { * if (this.rightPredefPos.ContainsKey(pp.Name)) * pp = this.rightPredefPos[pp.Name]; * else * { * TextBoxStreamWriter.DefaultLog.WriteLine("rightArm: PredefPosition " + pp.Name + " on PredefMov " + pm.Name + " couldn´t be found on current PredefPos list"); * pm.Positions.Remove(pp.Name); * } * } */ this.OnFilesLoaded(this.status); return(true); }