Exemple #1
0
 public override void load(string save)
 {
     string[] saveStrings = save.Split(DataSimulator.DS_SAVELOAD_SEPERATOR);
     actionType    = (DSIntCalType)int.Parse(saveStrings [4]);
     targetAString = saveStrings [5];
     if (!string.IsNullOrEmpty(targetAString))
     {
         string[] splitTargetAStrings = targetAString.Split('/');
         targetA = (DSInt)ds.datas.Find(x => x.name.Equals(splitTargetAStrings [0])).fields.Find(x => x.name.Equals(splitTargetAStrings [1]));
     }
     withValue = bool.Parse(saveStrings [6]);
     if (withValue)
     {
         input = int.Parse(saveStrings [7]);
     }
     else
     {
         targetBString = saveStrings [7];
         if (!string.IsNullOrEmpty(targetBString))
         {
             string[] splitTargetBStrings = targetBString.Split('/');
             targetB = (DSInt)ds.datas.Find(x => x.name.Equals(splitTargetBStrings [0])).fields.Find(x => x.name.Equals(splitTargetBStrings [1]));
         }
     }
     resultString = saveStrings [8];
     if (!string.IsNullOrEmpty(resultString))
     {
         string[] splitResultStrings = resultString.Split('/');
         result = (DSInt)ds.datas.Find(x => x.name.Equals(splitResultStrings [0])).fields.Find(x => x.name.Equals(splitResultStrings [1]));
     }
 }
Exemple #2
0
 public override void draw()
 {
     drawInOutPoint();
     titleRect           = rect;
     titleRect.height    = 20f;
     extendedRect        = rect;
     extendedRect.y      = rect.y + titleRect.height - 1f;
     extendedRect.height = rect.height - titleRect.height;
     GUILayout.BeginArea(titleRect, title, GUI.skin.box);
     GUILayout.EndArea();
     GUILayout.BeginArea(extendedRect, GUI.skin.box);
     GUILayout.BeginVertical();
     GUILayout.Space(5f);
     GUILayout.BeginHorizontal();
     GUILayout.Label("Type:", GUILayout.Width(60f));
     actionType = (DSIntCalType)EditorGUILayout.EnumPopup(actionType);
     GUILayout.EndHorizontal();
     GUILayout.BeginHorizontal();
     GUILayout.Label("Target A:", GUILayout.Width(60f));
     if (GUILayout.Button(targetAString))
     {
         chooseTargetAWithDropDown();
     }
     GUILayout.EndHorizontal();
     switch (actionType)
     {
     case DSIntCalType.Add:
     case DSIntCalType.Subtract:
     case DSIntCalType.Multiply:
     case DSIntCalType.Divide:
     case DSIntCalType.Mod:
     case DSIntCalType.Power:
     case DSIntCalType.Max:
     case DSIntCalType.Min:
         GUILayout.BeginHorizontal();
         GUILayout.Label("Cal. With Value", GUILayout.Width(120f));
         withValue = EditorGUILayout.Toggle(withValue);
         GUILayout.EndHorizontal();
         GUILayout.BeginHorizontal();
         if (withValue)
         {
             GUILayout.Label("Value:", GUILayout.Width(60f));
             input = EditorGUILayout.IntField(input);
         }
         else
         {
             GUILayout.Label("Target B:", GUILayout.Width(60f));
             if (GUILayout.Button(targetBString))
             {
                 chooseTargetBWithDropDown();
             }
         }
         GUILayout.EndHorizontal();
         break;
     }
     switch (actionType)
     {
     case DSIntCalType.Add:
     case DSIntCalType.Subtract:
     case DSIntCalType.Multiply:
     case DSIntCalType.Divide:
     case DSIntCalType.Mod:
     case DSIntCalType.Power:
     case DSIntCalType.Max:
     case DSIntCalType.Min:
     case DSIntCalType.Absolute:
         GUILayout.BeginHorizontal();
         GUILayout.Label("Result:", GUILayout.Width(60f));
         if (GUILayout.Button(resultString))
         {
             chooseResultWithDropDown();
         }
         GUILayout.EndHorizontal();
         break;
     }
     GUILayout.EndVertical();
     GUILayout.EndArea();
 }