public static List <Etape> getEtapesFromNode(JSONNode node) { if (node != null) { List <Etape> etapes = new List <Etape> (); foreach (JSONNode x in node["etapes"].AsArray) { Etape e = new Etape(); foreach (Types t in System.Enum.GetValues(typeof(Types))) { if (t.ToString().Equals(x ["type"])) { e.type = t; break; } } e.titre = x ["titre"]; e.contenu = x ["contenu"]; e.taille = Taille.getTailleFromNode(x["taille"]); e.ancrage = Ancrage.getAncrageFromNode(x["ancrage"]); etapes.Add(e); } return(etapes); } else { return(null); } }
public static Ancrage getAncrageFromNode(JSONNode node) { if (node != null) { if (AnglesConversion == null) { AnglesConversion = new Dictionary <int, Angles> (); AnglesConversion.Add(1, Angles.DownLeft); AnglesConversion.Add(2, Angles.Down); AnglesConversion.Add(3, Angles.DownRight); AnglesConversion.Add(4, Angles.Left); AnglesConversion.Add(5, Angles.None); AnglesConversion.Add(6, Angles.Right); AnglesConversion.Add(7, Angles.TopLeft); AnglesConversion.Add(8, Angles.Top); AnglesConversion.Add(9, Angles.TopRight); } if (PresetsConversion == null) { PresetsConversion = new Dictionary <int, Presets> (); PresetsConversion.Add(1, Presets.DownLeft); PresetsConversion.Add(2, Presets.Down); PresetsConversion.Add(3, Presets.DownRight); PresetsConversion.Add(4, Presets.Left); PresetsConversion.Add(5, Presets.Middle); PresetsConversion.Add(6, Presets.Right); PresetsConversion.Add(7, Presets.TopLeft); PresetsConversion.Add(8, Presets.Top); PresetsConversion.Add(9, Presets.TopRight); } Ancrage ancrage = new Ancrage(); ancrage.x = node ["posx"].AsFloat; ancrage.y = node ["posy"].AsFloat; if (node ["preset"].AsFloat >= 0 && node ["preset"].AsFloat <= 9) { PresetsConversion.TryGetValue(node ["preset"].AsInt, out ancrage.preset); if (ancrage.preset == Presets.Top) { ancrage.anchorsMin = new Vector2(0.5f, 1f); ancrage.anchorsMax = new Vector2(0.5f, 1f); } else if (ancrage.preset == Presets.Middle) { ancrage.anchorsMin = new Vector2(0.5f, 0.5f); ancrage.anchorsMax = new Vector2(0.5f, 0.5f); } else if (ancrage.preset == Presets.Down) { ancrage.anchorsMin = new Vector2(0.5f, 0f); ancrage.anchorsMax = new Vector2(0.5f, 0f); } else if (ancrage.preset == Presets.Right) { ancrage.anchorsMin = new Vector2(1f, 0.5f); ancrage.anchorsMax = new Vector2(1f, 0.5f); } else if (ancrage.preset == Presets.Left) { ancrage.anchorsMin = new Vector2(0f, 0.5f); ancrage.anchorsMax = new Vector2(0f, 0.5f); } else if (ancrage.preset == Presets.TopLeft) { ancrage.anchorsMin = new Vector2(0f, 1f); ancrage.anchorsMax = new Vector2(0f, 1f); } else if (ancrage.preset == Presets.TopRight) { ancrage.anchorsMin = new Vector2(1f, 1f); ancrage.anchorsMax = new Vector2(1f, 1f); } else if (ancrage.preset == Presets.DownLeft) { ancrage.anchorsMin = new Vector2(0f, 0f); ancrage.anchorsMax = new Vector2(0f, 0f); } else if (ancrage.preset == Presets.DownRight) { ancrage.anchorsMin = new Vector2(1f, 0f); ancrage.anchorsMax = new Vector2(1f, 0f); } } else { ancrage.preset = Presets.Middle; ancrage.anchorsMin = new Vector2(0.5f, 0.5f); ancrage.anchorsMax = new Vector2(0.5f, 0.5f); Debug.Log("Angles Input Format Error : None Selected!"); } if (node ["angle"].AsFloat >= 0 && node ["angle"].AsFloat <= 9) { AnglesConversion.TryGetValue(node ["angle"].AsInt, out ancrage.angle); } else { ancrage.angle = Angles.None; Debug.Log("Angles Input Format Error : None Selected!"); } return(ancrage); } else { return(null); } }