Example #1
0
		/// <summary>
		/// Funkcja wywoływana przy kazdym odswierzeniu okranu
		/// </summary>
		/// <param name="sender">Obiekt wysylajacy zdazenie</param>
		/// <param name="e">Argumenty zdarzenia</param>
		public override void UpdateTime(object sender, UpdateEventArgs e) {

			// pewne opóźnienie, zeby zwierzeta nie biegaly po planszy a czasem przystawaly
			if ( !IsMoveing && (counter_ == 0) && (rand_.NextDouble() <= 0.25) ) { counter_ = (uint)rand_.Next(50, 150); }
			if ( counter_ != 0 ) { --counter_; }

			if ( (counter_ == 0)) Go(e.UpdateTime, true);

		}
Example #2
0
		/// <summary>
		/// Funkcja wywoływana przy kazdym odswierzeniu okranu
		/// </summary>
		/// <param name="sender">Obiekt wysylajacy zdazenie</param>
		/// <param name="e">Argumenty zdarzenia</param>
		public override void UpdateTime(object sender, UpdateEventArgs e) {
			//if ( IsSelected ) { }
			if ( Job != null ) {
				if ( Job.Location.All(field => !field.IsAvaliable) ) {
					Colony.JobQueue.Enqueue(Job, 3f);
					Job = null;
				} else if ( Job.State == Job.Status.Done ) {
					Job = null;
					Console.WriteLine("BuildJob DONE!");
				} else if ( !Job.IsInLocation(Location) ) {
					if ( GoToField == null ) GoToField = Closest(Job.Location);
					Go(e.UpdateTime);
				} else { Job.Work(this, new ConstructingJobEventArgs((float)e.UpdateTime * Constructing)); }
			}
		}
Example #3
0
		/// <summary>
		/// Funkcja wywoływana przy kazdym odswierzeniu okranu
		/// </summary>
		/// <param name="sender">Obiekt wysylajacy zdazenie</param>
		/// <param name="e">Argumenty zdarzenia</param>
		public abstract void UpdateTime(object sender, UpdateEventArgs e);
Example #4
0
 public void UpdateTime(object sender, UpdateEventArgs e)
 {
     foreach ( Men colonist in colonists_.Where(colonist => colonist.Job == null) ) {
         if ( JobQueue.Count > 0 ) colonist.Job = JobQueue.Dequeue();
     }
 }