public virtual void MarkForRemovalIfEmpty() { if (participants.Count() == 0) { readyForRemoval.Value = true; } }
public void updateWhenNotCurrentLocation(Building parentBuilding, GameTime time) { if (!Game1.currentLocation.Equals(this)) { for (int i = animals.Count() - 1; i >= 0; i--) { animals.Pairs.ElementAt(i).Value.updateWhenNotCurrentLocation(parentBuilding, time, this); } } }
public void Update() { requestMovieEndEvent.Poll(); endMovieEvent.Poll(); festivalPropRemovalEvent.Poll(); demolishStableEvent.Poll(); requestSpouseSleepEvent.Poll(); requestPetWarpHomeEvent.Poll(); grangeMutex.Update(Game1.getOnlineFarmers()); demolishLock.Update(); buildLock.Update(Game1.getOnlineFarmers()); movieMutex.Update(Game1.getOnlineFarmers()); if (grangeMutex.IsLockHeld() && Game1.activeClickableMenu == null) { grangeMutex.ReleaseLock(); } foreach (ReadyCheck value in readyChecks.Values) { value.Update(); } if (Game1.IsMasterGame && proposals.Count() > 0) { proposals.Filter((KeyValuePair <long, Proposal> pair) => playerIsOnline(pair.Key) && playerIsOnline(pair.Value.receiver.UID)); } Proposal proposal = GetIncomingProposal(); if (proposal != null && proposal.canceled.Value) { proposal.cancelConfirmed.Value = true; } if (Game1.dialogueUp) { return; } if (proposal != null) { if (!handleIncomingProposal(proposal)) { proposal.responseMessageKey.Value = genderedKey("Strings\\UI:Proposal_PlayerBusy", Game1.player); proposal.response.Value = ProposalResponse.Rejected; } } else if (Game1.activeClickableMenu == null && GetOutgoingProposal() != null) { Game1.activeClickableMenu = new PendingProposalDialog(); } }
public void Draw(SpriteBatch b, Vector2 draw_position, float draw_scale = 4f, float draw_layer = 0.45f, HorizontalAlignment horizontal_origin = HorizontalAlignment.Left, VerticalAlignment vertical_origin = VerticalAlignment.Top) { float y_offset_per_entry = 12f; if (displayMode == DisplayMode.Icons && (float)largestSpriteHeight > y_offset_per_entry) { y_offset_per_entry = largestSpriteHeight; } if (horizontal_origin == HorizontalAlignment.Right) { float longest_string = 0f; if (displayMode == DisplayMode.Icons) { draw_position.X -= (float)largestSpriteWidth * draw_scale; } else { foreach (Farmer farmer2 in _sortedFarmers) { if (_formattedStatusList.ContainsKey(farmer2.UniqueMultiplayerID)) { float string_length = Game1.dialogueFont.MeasureString(_formattedStatusList[farmer2.UniqueMultiplayerID]).X; if (longest_string < string_length) { longest_string = string_length; } } } draw_position.X -= (longest_string + 16f) * draw_scale; } } if (vertical_origin == VerticalAlignment.Bottom) { draw_position.Y -= y_offset_per_entry * (float)_statusList.Count() * draw_scale; } foreach (Farmer farmer in _sortedFarmers) { float sort_direction = ((!Game1.isUsingBackToFrontSorting) ? 1 : (-1)); if (_formattedStatusList.ContainsKey(farmer.UniqueMultiplayerID)) { Vector2 draw_offset = Vector2.Zero; farmer.FarmerRenderer.drawMiniPortrat(b, draw_position, draw_layer, draw_scale * 0.75f, 2, farmer); if (displayMode == DisplayMode.Icons && _iconDefinitions.ContainsKey(_formattedStatusList[farmer.UniqueMultiplayerID])) { draw_offset.X += 12f * draw_scale; KeyValuePair <string, Rectangle> sprite_definition = _iconDefinitions[_formattedStatusList[farmer.UniqueMultiplayerID]]; Rectangle currentSrcRect = sprite_definition.Value; currentSrcRect.Y = (int)(Game1.currentGameTime.TotalGameTime.TotalMilliseconds % (double)(iconAnimationFrames * 100) / 100.0) * 16; b.Draw(_iconSprites[sprite_definition.Key], draw_position + draw_offset, currentSrcRect, Color.White, 0f, Vector2.Zero, draw_scale, SpriteEffects.None, draw_layer - 0.0001f * sort_direction); } else { draw_offset.X += 16f * draw_scale; draw_offset.Y += 2f * draw_scale; string drawn_string = _formattedStatusList[farmer.UniqueMultiplayerID]; b.DrawString(Game1.dialogueFont, drawn_string, draw_position + draw_offset + Vector2.One * draw_scale, Color.Black, 0f, Vector2.Zero, draw_scale / 4f, SpriteEffects.None, draw_layer - 0.0001f * sort_direction); b.DrawString(Game1.dialogueFont, drawn_string, draw_position + draw_offset, Color.White, 0f, Vector2.Zero, draw_scale / 4f, SpriteEffects.None, draw_layer); } draw_position.Y += y_offset_per_entry * draw_scale; } } }
public void Update() { requestLeoMove.Poll(); requestMovieEndEvent.Poll(); endMovieEvent.Poll(); ringPhoneEvent.Poll(); festivalPropRemovalEvent.Poll(); demolishStableEvent.Poll(); requestSpouseSleepEvent.Poll(); requestHorseWarpEvent.Poll(); kickOutOfMinesEvent.Poll(); requestPetWarpHomeEvent.Poll(); requestNutDrop.Poll(); requestAddCharacterEvent.Poll(); addCharacterEvent.Poll(); addQiGemsToTeam.Poll(); grangeMutex.Update(Game1.getOnlineFarmers()); returnedDonationsMutex.Update(Game1.getOnlineFarmers()); ordersBoardMutex.Update(Game1.getOnlineFarmers()); qiChallengeBoardMutex.Update(Game1.getOnlineFarmers()); junimoChestMutex.Update(Game1.getOnlineFarmers()); demolishLock.Update(); buildLock.Update(Game1.getOnlineFarmers()); movieMutex.Update(Game1.getOnlineFarmers()); goldenCoconutMutex.Update(Game1.getOnlineFarmers()); if (grangeMutex.IsLockHeld() && Game1.activeClickableMenu == null) { grangeMutex.ReleaseLock(); } foreach (SpecialOrder specialOrder in specialOrders) { specialOrder.Update(); } foreach (ReadyCheck value in readyChecks.Values) { value.Update(); } if (Game1.IsMasterGame && proposals.Count() > 0) { proposals.Filter((KeyValuePair <long, Proposal> pair) => playerIsOnline(pair.Key) && playerIsOnline(pair.Value.receiver.UID)); } Proposal proposal = GetIncomingProposal(); if (proposal != null && proposal.canceled.Value) { proposal.cancelConfirmed.Value = true; } if (Game1.dialogueUp) { return; } if (proposal != null) { if (!handleIncomingProposal(proposal)) { proposal.responseMessageKey.Value = genderedKey("Strings\\UI:Proposal_PlayerBusy", Game1.player); proposal.response.Value = ProposalResponse.Rejected; } } else if (Game1.activeClickableMenu == null && GetOutgoingProposal() != null) { Game1.activeClickableMenu = new PendingProposalDialog(); } }
public bool HasSittingFarmers() { return(sittingFarmers.Count() > 0); }