public void Infecteer(Apparaat app) { if (!app.Infecties.Contains(this) && app.Firewall <= Firewall && app.Antivirus <= Antivirus) { app.Infecties.Add(this); } }
public static void RemoveApparaat(Apparaat app) { if (app == null) return; VerbreekVerbinding(app); foreach (var child in app.Children) { child.Parent = null; } Apparatuur.Remove(app); }
public void Update(Double time) { procent += time / Netwerk.Timer; if (procent >= 1) { Klaar = true; return; } int i = (int)(aantal * procent); Start = route[i]; Eind = route[i + 1]; Hoek = (float)Math.Atan2(Eind.Positie.Y - Start.Positie.Y, Eind.Positie.X - Start.Positie.X); Effect = (Hoek > Math.PI / 2 || Hoek < Math.PI / -2) ? SpriteEffects.FlipVertically : SpriteEffects.None; Positie = Start.Positie + (Eind.Positie - Start.Positie) * new Vector2((float)(procent - (float)i / aantal) * aantal); }
/// <summary> /// Controleer of twee apparaten verbonden kunnen worden. /// </summary> /// <param name="a1">Het kind.</param> /// <param name="a2">De ouder.</param> /// <returns></returns> public static bool KanVerbinden(Apparaat a1, Apparaat a2) { return (a2 != null && a1 != null && a2 != a1 && a1 != a2.Root && a2.Parent != a1 && a2 is NetwerkApparaat && (a2 != a2.Root || a2.Children.Count == 0) && !a2.Parents.Contains(a1)); }
/// <summary> /// Verbind twee apparaten indien mogelijk. /// </summary> /// <param name="a1">Het kind.</param> /// <param name="a2">De ouder.</param> public static void Verbind(Apparaat a1, Apparaat a2) { if (KanVerbinden(a1, a2)) a1.Parent = a2; }
/// <summary> /// Verbreekt de verbinding met zijn ouder. /// </summary> public static void VerbreekVerbinding(Apparaat app) { if (app != null && app.Parent != null) { app.Parent.Children.Remove(app); } }