Beispiel #1
0
 public static void Prefix(BreakDown __instance, GameObject go)
 {
     if (BetterPlacing.IsStackableGearItem(go))
     {
         BetterPlacing.AddGearItemsToPhysicalCollisionMask();
     }
 }
Beispiel #2
0
        public static void Prefix(PlayerManager __instance)
        {
            var gameObject = __instance.GetObjectToPlace();

            if (BetterPlacing.IsStackableGearItem(gameObject))
            {
                BetterPlacing.AddGearItemsToPhysicalCollisionMask();
            }
            else if (BetterPlacing.IsPlaceableFurniture(gameObject))
            {
                BetterPlacing.RemoveFurnitureFromPhysicalCollisionMask();
            }
        }
Beispiel #3
0
        private static void Postfix(PlayerManager __instance, GameObject objectToPlace, bool __result)
        {
            if (__result)
            {
                BetterPlacing.InitializeRotation(__instance);

                if (BetterPlacing.IsStackableGearItem(objectToPlace))
                {
                    objectToPlace.layer = vp_Layer.NPC;
                }
                else if (BetterPlacing.IsPlaceableFurniture(objectToPlace))
                {
                    vp_Layer.Set(objectToPlace, vp_Layer.NPC, true);
                }
            }
        }
Beispiel #4
0
        private static void Prefix(PlayerManager __instance)
        {
            var gameObject = __instance.GetObjectToPlace();

            if (BetterPlacing.IsStackableGearItem(gameObject))
            {
                BetterPlacing.RemoveGearItemsFromPhysicalCollisionMask();
            }
            else if (BetterPlacing.IsPlaceableFurniture(gameObject))
            {
                BetterPlacing.AddFurnitureToPhysicalCollisionMask();
                BetterPlacing.RestoreFurnitureLayers(gameObject);
            }

            CookingPotItem[] items = Object.FindObjectsOfType <CookingPotItem>();
            foreach (var eachItem in items)
            {
                vp_Layer.Set(eachItem.gameObject, vp_Layer.Gear, true);
            }

            InterfaceManager.m_Panel_ActionsRadial.DisableRadial(false);
        }