private static void PickupComplete(Instance smi) { if (!(bool)smi.targetSeed) { Debug.LogWarningFormat("PickupComplete seed {0} is null", smi.targetSeed); } else { UnreserveSeed(smi); int num = Grid.PosToCell(smi.targetSeed); if (smi.seed_cell != num) { Debug.LogWarningFormat("PickupComplete seed {0} moved {1} != {2}", smi.targetSeed, num, smi.seed_cell); smi.targetSeed = null; } else if (smi.targetSeed.HasTag(GameTags.Stored)) { Debug.LogWarningFormat("PickupComplete seed {0} was stored by {1}", smi.targetSeed, smi.targetSeed.storage); smi.targetSeed = null; } else { smi.targetSeed = EntitySplitter.Split(smi.targetSeed, 1f, null); smi.GetComponent <Storage>().Store(smi.targetSeed.gameObject, false, false, true, false); AddMouthOverride(smi); } } }
/// <summary> /// A version of Compostable.OnToggleCompost that does not crash if the select tool /// is not in use. /// </summary> /// <param name="comp">The item to toggle compost.</param> private static void DoToggleCompost(Compostable comp) { var obj = comp.gameObject; var pickupable = obj.GetComponent <Pickupable>(); if (comp.isMarkedForCompost) { EntitySplitter.Split(pickupable, pickupable.TotalAmount, comp.originalPrefab); } else { pickupable.storage?.Drop(obj, true); EntitySplitter.Split(pickupable, pickupable.TotalAmount, comp.compostPrefab); } }
private void OnToggleCompost() { if (!isMarkedForCompost) { Pickupable component = GetComponent <Pickupable>(); if ((UnityEngine.Object)component.storage != (UnityEngine.Object)null) { component.storage.Drop(base.gameObject, true); } Pickupable pickupable = EntitySplitter.Split(component, component.TotalAmount, compostPrefab); if ((UnityEngine.Object)pickupable != (UnityEngine.Object)null) { SelectTool.Instance.SelectNextFrame(pickupable.GetComponent <KSelectable>(), true); } } else { Pickupable component2 = GetComponent <Pickupable>(); Pickupable pickupable2 = EntitySplitter.Split(component2, component2.TotalAmount, originalPrefab); SelectTool.Instance.SelectNextFrame(pickupable2.GetComponent <KSelectable>(), true); } }