public void CopyTo(plyVariables vars, bool includeValues) { if (Application.isPlaying) { Debug.LogError("plyVariables.CopyTo() should not be used at runtime"); } else if (vars.varDefs.Count == 0) { vars.lastVarIdent = this.lastVarIdent; vars.varDefs = new List <plyVar>(); for (int i = 0; i < this.varDefs.Count; i++) { plyVar plyVar = this.varDefs[i].Copy(); if (!includeValues) { plyVar.ClearValue(); } vars.varDefs.Add(plyVar); } } else { if (vars.lastVarIdent < this.lastVarIdent) { vars.lastVarIdent = this.lastVarIdent; } for (int j = 0; j < this.varDefs.Count; j++) { int num = this.varDefs[j].ident; int num2 = 0; while (num2 < vars.varDefs.Count) { if (!(this.varDefs[j].name == vars.varDefs[num2].name)) { if (num == vars.varDefs[num2].ident) { num = vars.CreateVariableIdent(); } num2++; continue; } num = -1; break; } if (num >= 0) { plyVar plyVar2 = this.varDefs[j].Copy(); plyVar2.ident = num; if (!includeValues) { plyVar2.ClearValue(); } vars.varDefs.Add(plyVar2); } } } }