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}");
        }
示例#2
0
        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);
        }
示例#3
0
 public ProtoItemFishViewModel([NotNull] IProtoItemFish fish) : base(fish)
 {
 }
示例#4
0
 protected abstract void SharedPrepareFishingEvent(
     out IProtoItemFish protoItemFish,
     out byte requiredFishingSkillLevel);