public VectorEstado(double mediaLlegada, double desviacionLlegada, double desdeFinConsumo, double hastaFinConsumo, double desdeFinUsoMesa, double hastaFinUsoMesa, double tiempoCompra, double mediaEntrega) { LlegadaPersona = new LlegadaPersona(this, mediaLlegada, desviacionLlegada); FinCompra = new FinCompra(this, tiempoCompra); Inestable = new Inestable(this); FinLimpieza = new FinLimpieza(this); FinEntrega = new FinEntrega(this, mediaEntrega); FinConsumo = new FinConsumo(this, desdeFinConsumo, hastaFinConsumo); FinUsoMesa = new FinUsoMesa(this, desdeFinUsoMesa, hastaFinUsoMesa); Duenio = new Duenio(this); Empleado1 = new Empleado(this); Empleado2 = new Empleado(this); Personas = new List <Persona>(); ACTPermanenciaCafeteria = 0; ACTPermanenciaColas = 0; ContadorClientes = 0; }
/// <summary> /// Prepara la iteración actual para la simulación: borra cálculos intermedios, mantiene tiempos /// de eventos próximos. ///</summary> public void Preparar() { LlegadaPersona.Preparar(); FinCompra.Preparar(); Inestable.Preparar(); FinLimpieza.Preparar(); FinEntrega.Preparar(); FinCompra.Preparar(); FinUsoMesa.Preparar(); FinConsumo.Preparar(); Duenio.Preparar(); Empleado1.Preparar(Anterior.Empleado1); Empleado2.Preparar(Anterior.Empleado2); ColaEmpleados = Anterior.ColaEmpleados; MayorColaEmpleados = Anterior.MayorColaEmpleados; ACTPermanenciaCafeteria = Anterior.ACTPermanenciaCafeteria; ACTPermanenciaColas = Anterior.ACTPermanenciaColas; ContadorClientes = Anterior.ContadorClientes; ContadorPersonas = Anterior.ContadorPersonas; Personas = Anterior.Personas.Select(p => p.CopiarYPreparar()).ToList(); }