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);
             }
         }
     }
 }
Beispiel #2
0
        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();
        }