56 lines
1.6 KiB
C#
56 lines
1.6 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
|
|
namespace RoR2.Artifacts;
|
|
|
|
public static class DevotionArtifactManager
|
|
{
|
|
private static ArtifactDef myArtifact;
|
|
|
|
private static GameObject devotionArtifactManagerPrefab;
|
|
|
|
public static DirectorCard lumerianEgg;
|
|
|
|
[SystemInitializer(new Type[] { typeof(ArtifactCatalog) })]
|
|
private static void Init()
|
|
{
|
|
LegacyResourcesAPI.LoadAsyncCallback("Prefabs/DevotionArtifactInfo", delegate(GameObject operationResult)
|
|
{
|
|
devotionArtifactManagerPrefab = operationResult;
|
|
});
|
|
myArtifact = CU8Content.Artifacts.Devotion;
|
|
RunArtifactManager.onArtifactEnabledGlobal += OnArtifactEnabled;
|
|
RunArtifactManager.onArtifactDisabledGlobal += OnArtifactDisabled;
|
|
}
|
|
|
|
private static void OnArtifactEnabled(RunArtifactManager runArtifactManager, ArtifactDef artifactDef)
|
|
{
|
|
if (NetworkServer.active && !(artifactDef != myArtifact))
|
|
{
|
|
SceneDirector.onGenerateInteractableCardSelection += OnGenerateInteractableCardSelection;
|
|
}
|
|
}
|
|
|
|
private static void OnArtifactDisabled(RunArtifactManager runArtifactManager, ArtifactDef artifactDef)
|
|
{
|
|
if (!(artifactDef != myArtifact))
|
|
{
|
|
SceneDirector.onGenerateInteractableCardSelection -= OnGenerateInteractableCardSelection;
|
|
}
|
|
}
|
|
|
|
private static void CalcCardWeight(DirectorCard card, ref float weight)
|
|
{
|
|
InteractableSpawnCard interactableSpawnCard = card.spawnCard as InteractableSpawnCard;
|
|
if (interactableSpawnCard != null)
|
|
{
|
|
weight *= interactableSpawnCard.weightScalarWhenSacrificeArtifactEnabled;
|
|
}
|
|
}
|
|
|
|
private static void OnGenerateInteractableCardSelection(SceneDirector sceneDirector, DirectorCardCategorySelection dccs)
|
|
{
|
|
}
|
|
}
|