コード例 #1
0
ファイル: plyVariables.cs プロジェクト: ljn398431/MyMakerIL
 public void DuplicateTo(plyVariables vars)
 {
     if (Application.isPlaying)
     {
         Debug.LogError("plyVariables.DuplicateTo() should not be used at runtime");
     }
     else if (vars != this)
     {
         plyVariables plyVariables = vars.Copy();
         vars.Clear();
         vars.lastVarIdent = this.lastVarIdent;
         vars.varDefs      = new List <plyVar>();
         for (int i = 0; i < this.varDefs.Count; i++)
         {
             plyVar plyVar = this.varDefs[i].Copy();
             plyVar.ClearValue();
             vars.varDefs.Add(plyVar);
         }
         if (plyVariables.varDefs.Count > 0)
         {
             for (int j = 0; j < vars.varDefs.Count; j++)
             {
                 int num = 0;
                 while (num < plyVariables.varDefs.Count)
                 {
                     if (!(plyVariables.varDefs[num].name == vars.varDefs[j].name))
                     {
                         num++;
                         continue;
                     }
                     if (plyVariables.varDefs[num].ValueHandler.GetType() == vars.varDefs[j].ValueHandler.GetType())
                     {
                         vars.varDefs[j].SetValue(plyVariables.varDefs[num].GetValue());
                     }
                     break;
                 }
             }
         }
         vars._SetDirty();
     }
 }