public void ServerOnFishCaught(IProtoItemFish protoItemFish, float sizeValue) { Api.ValidateIsServer(); for (var index = 0; index < this.ListFish.Count; index++) { var entry = this.ListFish[index]; if (!ReferenceEquals(entry.Prototype, protoItemFish)) { continue; } // already have an entry if (entry.MaxSizeValue >= sizeValue) { return; } // update the entry this.ListFish[index] = new DataEntryCompletionistFish(entry.IsRewardClaimed, protoItemFish, sizeValue); Api.Logger.Info($"Completionist entry updated: {protoItemFish.ShortId} with size value {sizeValue:F2}"); return; } // add an entry this.ListFish.Add(new DataEntryCompletionistFish(isRewardClaimed: false, protoItemFish, sizeValue)); Api.Logger.Info($"Completionist entry added: {protoItemFish.ShortId} with size value {sizeValue:F2}"); }
private static IReadOnlyDropItemsList ServerGetDroplistForFish(IProtoItemFish protoItemFish) { if (ServerCachedDroplists.TryGetValue(protoItemFish, out var droplist)) { return(droplist); } droplist = new DropItemsList().Add(protoItemFish); ServerCachedDroplists[protoItemFish] = droplist; return(droplist); }
public ProtoItemFishViewModel([NotNull] IProtoItemFish fish) : base(fish) { }
protected abstract void SharedPrepareFishingEvent( out IProtoItemFish protoItemFish, out byte requiredFishingSkillLevel);