public override bool SetCart(Rails from, Cart cart) { if (From[Count % From.Count] != from) { return(false); } return(base.SetCart(from, cart)); }
public virtual bool SetCart(Rails from, Cart cart) { if (_cart == null) { _cart = cart; return(true); } else { return(false); } }
private bool Move() { // Return true if you won't be dead if (Rails == null) { return(true); } if (Rails.To != null) { var cartHasSet = ((Rails)Rails.To).SetCart(Rails, this); if (cartHasSet) { var to = Rails.To; Rails.RemoveCart(); Rails = (Rails)to; return(true); } else { if (Rails is Parking) { return(true); } if (Rails.To is Switch) { return(true); } return(false); } } else if (!(Rails is Parking)) { // Cart couldnt move // Delete cart Rails.RemoveCart(); Rails = null; return(true); } return(true); }
public virtual bool SetCart(Rails from, Cart cart) { return(true); }
public Block[,] GetMap() { Block[,] map = new Rails[8, 12]; // De map wordt vanaf links boven gemaakt // Bovenste rij for (int i = 0; i < 12; i++) { if (i == 9) { var w = new Wharf(RailType.HORIZONTAL); map[0, i] = w; Wharf = w; } else { if (i == 11) { map[0, i] = new Rails(RailType.BOTTOMLEFT); } else { map[0, i] = new Rails(RailType.HORIZONTAL); } } } //Rechts boven for (int i = 1; i < 4; i++) { if (i == 3) { map[i, 11] = new Rails(RailType.TOPLEFT); } else { map[i, 11] = new Rails(RailType.VERTICAL); } } map[3, 10] = new Rails(RailType.HORIZONTAL); var s1 = new Switch(RailType.TOPRIGHT, 3); map[3, 9] = s1; Switches.Add(s1); for (int i = 5; i < 10; i++) { if (i == 9) { map[2, i] = new Rails(RailType.BOTTOMLEFT); } else if (i == 5) { map[2, i] = new Rails(RailType.BOTTOMRIGHT); } else { map[2, i] = new Rails(RailType.HORIZONTAL); } } var s2 = new Switch(RailType.TOPLEFT, 2); map[3, 5] = s2; Switches.Add(s2); map[3, 4] = new Rails(RailType.HORIZONTAL); var s3 = new Switch(RailType.TOPRIGHT, 1); map[3, 3] = s3; Switches.Add(s3); for (int i = 1; i < 4; i++) { if (i == 3) { map[2, i] = new Rails(RailType.BOTTOMLEFT); } else { map[2, i] = new Rails(RailType.HORIZONTAL); } } for (int i = 1; i < 4; i++) { if (i == 3) { map[4, i] = new Rails(RailType.TOPLEFT); } else { map[4, i] = new Rails(RailType.HORIZONTAL); } } map[4, 5] = new Rails(RailType.TOPRIGHT); map[4, 6] = new Rails(RailType.BOTTOMLEFT); map[4, 8] = new Rails(RailType.BOTTOMRIGHT); map[4, 9] = new Rails(RailType.TOPLEFT); var s4 = new Switch(RailType.TOPRIGHT, 4); map[5, 6] = s4; Switches.Add(s4); map[5, 7] = new Rails(RailType.HORIZONTAL); var s5 = new Switch(RailType.TOPLEFT, 5); map[5, 8] = s5; Switches.Add(s5); for (int i = 1; i < 7; i++) { if (i == 6) { map[6, i] = new Rails(RailType.TOPLEFT); } else { map[6, i] = new Rails(RailType.HORIZONTAL); } } for (int i = 8; i < 12; i++) { if (i == 8) { map[6, i] = new Rails(RailType.TOPRIGHT); } else if (i == 11) { map[6, i] = new Rails(RailType.BOTTOMLEFT); } else { map[6, i] = new Rails(RailType.HORIZONTAL); } } for (int i = 1; i < 9; i++) { map[7, i] = new Parking(RailType.HORIZONTAL); } for (int i = 8; i < 12; i++) { if (i == 11) { map[7, i] = new Rails(RailType.TOPLEFT); } else { map[7, i] = new Rails(RailType.HORIZONTAL); } } // Warehouses var w1 = new Warehouse(RailType.HORIZONTAL, 'A'); var w2 = new Warehouse(RailType.HORIZONTAL, 'B'); var w3 = new Warehouse(RailType.HORIZONTAL, 'C'); Warehouses.Add(w1); Warehouses.Add(w2); Warehouses.Add(w3); map[2, 0] = w1; map[4, 0] = w2; map[6, 0] = w3; map = LinkMap(map); return(map); }
public override bool SetCart(Rails from, Cart cart) { return(base.SetCart(from, cart)); }