public void Update() { if (ModActions.ProbeGenetics.WasPressed && !geneticUI) { if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out var hit)) { var genomeHolder = hit.transform?.gameObject.GetComponent <IGeneticsProvider>(); if (genomeHolder != null) { geneticUI = GeneticUI.GenerateGeneticsUI(hit.transform.gameObject); } } } }
public override void PreLoad() { SlimeTraitRegistry.Register(new DietTraitProcessor(SRModInfo.GetCurrentInfo().Id, "diet")); SlimeTraitRegistry.Register(new TemperamentTraitProcessor(SRModInfo.GetCurrentInfo().Id, "temperament")); SRCallbacks.OnActorSpawn += SRCallbacks_OnActorSpawn; SRCallbacks.OnSaveGameLoaded += (s) => s.Player.AddComponent <GenomeViewer>(); SaveRegistry.RegisterDataParticipant <GenomeHolder>(); SaveRegistry.RegisterDataParticipant <SlimeGeneticsHandler>(); BindingRegistry.RegisterActions(typeof(ModActions)); TranslationPatcher.AddUITranslation("key.probegenetics", "Probe Genetic Data"); GeneticUI.SetupGeneticUI(); }