Ejemplo n.º 1
0
        //custom doppleganger script for plants
        public override GameObject GetDoppleganger(WorldItem item, Transform dopplegangerParent, string dopplegangerName, WIMode mode, string state, string subcat, float scaleMultiplier, TimeOfDay tod, TimeOfYear toy)
        {
            GameObject doppleganger = dopplegangerParent.gameObject.FindOrCreateChild(dopplegangerName).gameObject;
            Vector3    offset       = Vector3.zero;

            //we have a lookup based on season so this has to be in season form
            toy = WorldClock.TimeOfYearToSeason(toy);
            Plants.Get.InitializeWorldPlantGameObject(doppleganger, subcat, toy);
            if (Flags.Check((uint)mode, (uint)(WIMode.Stacked | WIMode.Selected | WIMode.Crafting | WIMode.Wear), Flags.CheckType.MatchAny))
            {
                WorldItems.AutoScaleDoppleganger(dopplegangerParent, doppleganger, item.BaseObjectBounds, ref scaleMultiplier, ref offset);
            }
            //TODO debug so this isn't necessary...
            offset.y = 0f;
            WorldItems.ApplyDopplegangerMode(item, doppleganger, mode, scaleMultiplier, offset);
            return(doppleganger);
        }
Ejemplo n.º 2
0
        public override GameObject GetDoppleganger(WorldItem item, Transform dopplegangerParent, string dopplegangerName, WIMode mode, string state, string subcat, float scaleMultiplier, TimeOfDay tod, TimeOfYear toy)
        {
            GameObject doppleganger = dopplegangerParent.gameObject.FindOrCreateChild(dopplegangerName).gameObject;
            //use the subcat to get our blueprint result
            Vector3 offset = Vector3.zero;

            ItemBounds.size               = Vector3.one;
            ItemBounds.center             = Vector3.zero;
            doppleganger.transform.parent = null;
            doppleganger.transform.ResetLocal();
            PreparedFoods.InitializePreparedFoodGameObject(doppleganger, subcat, true, ref ItemBounds);
            doppleganger.transform.parent = dopplegangerParent;
            if (Flags.Check((uint)mode, (uint)(WIMode.Stacked | WIMode.Selected | WIMode.Crafting | WIMode.Wear), Flags.CheckType.MatchAny))
            {
                WorldItems.AutoScaleDoppleganger(dopplegangerParent, doppleganger, ItemBounds, ref scaleMultiplier, ref offset);
            }
            WorldItems.ApplyDopplegangerMode(item, doppleganger, mode, scaleMultiplier, offset);
            WorldItems.ApplyDopplegangerMaterials(doppleganger, mode);
            return(doppleganger);
        }