Beispiel #1
0
    // Token: 0x0600087C RID: 2172 RVA: 0x00041424 File Offset: 0x0003F624
    private GameObject CreateObject(ZDO zdo)
    {
        int prefab = zdo.GetPrefab();

        if (prefab == 0)
        {
            return(null);
        }
        GameObject prefab2 = this.GetPrefab(prefab);

        if (prefab2 == null)
        {
            return(null);
        }
        Vector3    position = zdo.GetPosition();
        Quaternion rotation = zdo.GetRotation();

        ZNetView.m_useInitZDO = true;
        ZNetView.m_initZDO    = zdo;
        GameObject result = UnityEngine.Object.Instantiate <GameObject>(prefab2, position, rotation);

        if (ZNetView.m_initZDO != null)
        {
            ZLog.LogWarning(string.Concat(new object[]
            {
                "ZDO ",
                zdo.m_uid,
                " not used when creating object ",
                prefab2.name
            }));
            ZNetView.m_initZDO = null;
        }
        ZNetView.m_useInitZDO = false;
        return(result);
    }
            static void Postfix(ZDO zdo, GameObject __result)
            {
                if (!modEnabled.Value || !__result || zdo.GetPrefab() != backpackObjectName.GetStableHashCode())
                {
                    return;
                }
                Dbgl($"Created backpack {__result.name}");
                __result.name = backpackObjectName;
                __result.GetComponent <Container>().m_name = backpackName.Value;
                Traverse.Create(Traverse.Create(__result.GetComponent <Container>()).Field("m_inventory").GetValue <Inventory>()).Field("m_width").SetValue((int)Math.Min(8, backpackSize.Value.x));
                Traverse.Create(Traverse.Create(__result.GetComponent <Container>()).Field("m_inventory").GetValue <Inventory>()).Field("m_height").SetValue((int)backpackSize.Value.y);
                backpack = __result;

                if (Player.m_localPlayer)
                {
                    backpack.transform.SetParent(Player.m_localPlayer.transform);
                    InitBackpack();
                }
            }
Beispiel #3
0
    // Token: 0x0600087B RID: 2171 RVA: 0x000413F8 File Offset: 0x0003F5F8
    private bool IsPrefabZDOValid(ZDO zdo)
    {
        int prefab = zdo.GetPrefab();

        return(prefab != 0 && !(this.GetPrefab(prefab) == null));
    }