public static Action_Line Get_Existing_Line(byte key, Infos_Carte.Com_Position_Robot_Identification Robot_ID) { Dictionary <byte, Action_Line> Dictionnaire = new Dictionary <byte, Action_Line>(); switch (Robot_ID) { case Infos_Carte.Com_Position_Robot_Identification.Gros_Robot: Dictionnaire = Dictionnaire_Action_Gros_Robot; break; case Infos_Carte.Com_Position_Robot_Identification.Petit_Robot: Dictionnaire = Dictionnaire_Action_Petit_Robot; break; } Action_Line updated_line; if (!Dictionnaire.TryGetValue(key, out updated_line)) { // the key isn't in the dictionary. return(null); // or whatever you want to do } return(updated_line); }
static private void Clear_Vectors(Infos_Carte.Com_Position_Robot_Identification Numero_Robot, bool fixes) { switch (Numero_Robot) { case Infos_Carte.Com_Position_Robot_Identification.Gros_Robot: if (fixes) { foreach (GameObject vect in Vector_Fixes_List_Gros_Robot) { DestroyImmediate(vect); } Vector_Fixes_List_Gros_Robot.Clear(); } else { foreach (GameObject vect in Vector_Mobiles_List_Gros_Robot) { DestroyImmediate(vect); } Vector_Mobiles_List_Gros_Robot.Clear(); } break; case Infos_Carte.Com_Position_Robot_Identification.Petit_Robot: if (fixes) { foreach (GameObject vect in Vector_Fixes_List_Petit_Robot) { DestroyImmediate(vect); } Vector_Fixes_List_Petit_Robot.Clear(); } else { foreach (GameObject vect in Vector_Mobiles_List_Petit_Robot) { DestroyImmediate(vect); } Vector_Mobiles_List_Petit_Robot.Clear(); } break; } }
public static void Update_Action(Action_Strategie.Action_Datas data, Infos_Carte.Com_Position_Robot_Identification Robot_ID) { Dictionary <byte, Action_Line> Dictionnaire = new Dictionary <byte, Action_Line>(); switch (Robot_ID) { case Infos_Carte.Com_Position_Robot_Identification.Gros_Robot: Dictionnaire = Dictionnaire_Action_Gros_Robot; break; case Infos_Carte.Com_Position_Robot_Identification.Petit_Robot: Dictionnaire = Dictionnaire_Action_Petit_Robot; break; } Action_Line updated_line; if (!Dictionnaire.TryGetValue(data.ID, out updated_line)) { // the key isn't in the dictionary. return; // or whatever you want to do } //Cette action existe dans le dictionnaire //Mise à jour updated_line.Update_Action(data); //Activation GameObject updated_line_Object; if (!Dictionnaire_Action_2_Robots.TryGetValue(data.ID, out updated_line_Object)) { // the key isn't in the dictionary. return; // or whatever you want to do } updated_line_Object.SetActive(true); }
static private void Create_New_Vector(ASTAR_VECTOR_COMMUNICATION.Astar_Vector_Color Color, Vector2 Start, Vector2 End, Infos_Carte.Com_Position_Robot_Identification Numero_Robot, bool fixes) { UnityEngine.Color color = new Color(); List <GameObject> Vector_List; switch (Numero_Robot) { default: case Infos_Carte.Com_Position_Robot_Identification.Gros_Robot: if (fixes) { Vector_List = Vector_Fixes_List_Gros_Robot; } else { Vector_List = Vector_Mobiles_List_Gros_Robot; } break; case Infos_Carte.Com_Position_Robot_Identification.Petit_Robot: if (fixes) { Vector_List = Vector_Fixes_List_Petit_Robot; } else { Vector_List = Vector_Mobiles_List_Petit_Robot; } break; } switch (Color) { default: color = UnityEngine.Color.black; break; case ASTAR_VECTOR_COMMUNICATION.Astar_Vector_Color.Black: color = UnityEngine.Color.black; break; case ASTAR_VECTOR_COMMUNICATION.Astar_Vector_Color.Blue: color = UnityEngine.Color.blue; break; case ASTAR_VECTOR_COMMUNICATION.Astar_Vector_Color.Green: color = UnityEngine.Color.green; break; case ASTAR_VECTOR_COMMUNICATION.Astar_Vector_Color.Red: color = UnityEngine.Color.red; break; case ASTAR_VECTOR_COMMUNICATION.Astar_Vector_Color.White: color = UnityEngine.Color.white; break; } Vector_List.Add(Instantiate(static_Astar_Vector_Prefab, this_go.transform)); Vector_List[Vector_List.Count - 1].GetComponent <LineRenderer>().positionCount = 2; Vector3 start = new Vector3(); start.x = Start.y / 1000; start.y = -Start.x / 1000; start.z = -0.05f; Vector_List[Vector_List.Count - 1].GetComponent <LineRenderer>().SetPosition(0, start); Vector_List[Vector_List.Count - 1].GetComponent <LineRenderer>().startColor = color; Vector3 end = new Vector3(); end.x = End.y / 1000; end.y = -End.x / 1000; end.z = -0.05f; Vector_List[Vector_List.Count - 1].GetComponent <LineRenderer>().SetPosition(1, end); Vector_List[Vector_List.Count - 1].GetComponent <LineRenderer>().endColor = color; }