Ejemplo n.º 1
0
    protected override bool OnWorkTick(Worker worker, float dt)
    {
        float workSpeedMultiplier = 1f + Db.Get().AttributeConverters.ResearchSpeed.Lookup(worker).Evaluate();

        elementConverter.SetWorkSpeedMultiplier(workSpeedMultiplier);
        return(base.OnWorkTick(worker, dt));
    }
Ejemplo n.º 2
0
        public static void OnReplanted(object data = null)
        {
            GameObject go = (data as Storage)?.gameObject;

            if (go == null)
            {
                return;
            }

            ReceptacleMonitor replant = go.GetComponent <ReceptacleMonitor>();

            if (replant != null)
            {
                ElementConsumer  consumer  = go.GetComponent <ElementConsumer>();
                ElementConverter converter = go.GetComponent <ElementConverter>();
                if (replant == null || !replant.Replanted)
                {
                    if (consumer != null)
                    {
                        consumer.consumptionRate *= 0.25f;                          // NOTE: this doesn't seem to be applied...
                    }
                    if (converter != null)
                    {
                        converter.SetWorkSpeedMultiplier(0.25f);
                    }
                }
            }
        }
            private static void Postfix(Oxyfern __instance, ElementConsumer ___elementConsumer, ElementConverter ___elementConverter)
            {
                float multiplier = __instance.GetAttributes().Get(OxyfernThroughput).GetTotalValue();

                ___elementConsumer.consumptionRate *= multiplier;
                ___elementConsumer.RefreshConsumptionRate();
                ___elementConverter.SetWorkSpeedMultiplier(multiplier);
            }
Ejemplo n.º 4
0
        public static bool Prefix(SaltPlant __instance)
        {
            __instance.gameObject.GetComponent <ElementConsumer>()?.EnableConsumption(true);
            ElementConverter converter = __instance.gameObject.GetComponent <ElementConverter>();

            if (converter != null)
            {
                if (__instance.GetComponent <ReceptacleMonitor>()?.Replanted ?? false)
                {
                    converter.SetWorkSpeedMultiplier(1f);
                }
                else
                {
                    converter.SetWorkSpeedMultiplier(0.25f);
                }
            }
            return(false);
        }
Ejemplo n.º 5
0
        public static bool Prefix(SaltPlant __instance)
        {
            __instance.gameObject.GetComponent <ElementConsumer>()?.EnableConsumption(false);
            ElementConverter converter = __instance.gameObject.GetComponent <ElementConverter>();

            if (converter != null)
            {
                converter.SetWorkSpeedMultiplier(0f);
            }
            return(false);
        }