Exemple #1
0
        public static bool ImportSim(SimDescription desc, Vector3 simPos, ulong inventoryIndex)
        {
            if (desc.Weight < 0f)
            {
                desc.ChangeBodyShape(0f, desc.Fitness, -desc.Weight);
            }
            else
            {
                desc.ChangeBodyShape(desc.Weight, desc.Fitness, 0f);
            }

            desc.PushAgingEnabledToAgingManager();

            Sim createdSim = desc.CreatedSim;

            if (createdSim == null)
            {
                createdSim = Instantiation.Perform(desc, simPos, null, null);
                if (createdSim == null)
                {
                    FixInvisibleTask.Perform(desc, false);

                    createdSim = Instantiation.Perform(desc, simPos, null, null);
                    if (createdSim == null)
                    {
                        return(false);
                    }
                }
            }

            try
            {
                Bin.ImportInventory(inventoryIndex, createdSim.Inventory);

                createdSim.GrantSpecialObjects(false, false);
            }
            catch (Exception e)
            {
                Common.Exception(createdSim, e);
            }

            return(true);
        }
Exemple #2
0
        public static bool ImportSim(SimDescription desc, Vector3 simPos, ulong inventoryIndex)
        {
            if (desc.Weight < 0f)
            {
                desc.ChangeBodyShape(0f, desc.Fitness, -desc.Weight);
            }
            else
            {
                desc.ChangeBodyShape(desc.Weight, desc.Fitness, 0f);
            }

            desc.PushAgingEnabledToAgingManager();

            Sim createdSim = desc.CreatedSim;
            if (createdSim == null)
            {
                createdSim = Instantiation.Perform(desc, simPos, null, null);
                if (createdSim == null)
                {
                    FixInvisibleTask.Perform(desc, false);

                    createdSim = Instantiation.Perform(desc, simPos, null, null);
                    if (createdSim == null) return false;
                }
            }

            try
            {
                Bin.ImportInventory(inventoryIndex, createdSim.Inventory);

                createdSim.GrantSpecialObjects(false, false);
            }
            catch (Exception e)
            {
                Common.Exception(createdSim, e);
            }

            return true;
        }