Beispiel #1
0
        internal static void RegisterHandlerCreator(TechType techType, CreateIconOverlay createEvent, string assemblyName)
        {
            if (OverlayCreators.ContainsKey(techType))
            {
                QuickLogger.Warning($"PdaOverlayManager blocked duplicate IconOverlayCreator from {assemblyName}");
                return;
            }

            QuickLogger.Info($"PdaOverlayManager received IconOverlayCreator from {assemblyName}");
            OverlayCreators.Add(techType, createEvent);
        }
 /// <summary>
 /// Registers a <see cref="CreateIconOverlay" /> method that creates a new <see cref="IconOverlay" /> on demand.<para />
 /// This method will be invoked every time the PDA screen opens up on a Cyclops Upgrade Console that contains a module of the specified <see cref="TechType" />.
 /// </summary>
 /// <param name="techType">The upgrade module's techtype.</param>
 /// <param name="createEvent">A method that takes in a <see cref="uGUI_ItemIcon" /> and <see cref="InventoryItem" /> and returns a new <see cref="IconOverlay" />.</param>
 public void PdaIconOverlay(TechType techType, CreateIconOverlay createEvent)
 {
     PdaOverlayManager.RegisterHandlerCreator(techType, createEvent, Assembly.GetCallingAssembly().GetName().Name);
 }