private string Hash() { Checksum checksum = new Checksum(); WorldSerialization.MapData map = this.GetMap("terrain"); if (map != null) { for (int i = 0; i < (int)map.data.Length; i++) { checksum.Add(map.data[i]); } } List <WorldSerialization.PrefabData> prefabDatas = this.world.prefabs; if (prefabDatas != null) { for (int j = 0; j < prefabDatas.Count; j++) { WorldSerialization.PrefabData item = prefabDatas[j]; checksum.Add(item.id); checksum.Add(item.position.x, 3); checksum.Add(item.position.y, 3); checksum.Add(item.position.z, 3); checksum.Add(item.scale.x, 3); checksum.Add(item.scale.y, 3); checksum.Add(item.scale.z, 3); } } return(checksum.MD5()); }
public static void DisplayPrefabPath(WorldSerialization.PrefabData prefab) { Elements.BeginToolbarHorizontal(); Elements.ToolbarLabel(ToolTips.prefabPath); Elements.ToolbarLabel(new GUIContent(AssetManager.ToPath(prefab.id), AssetManager.ToPath(prefab.id))); Elements.EndToolbarHorizontal(); }
public static void DisplayPrefabID(WorldSerialization.PrefabData prefab) { Elements.BeginToolbarHorizontal(); Elements.ToolbarLabel(ToolTips.prefabID); Elements.ToolbarLabel(new GUIContent(prefab.id.ToString(), prefab.id.ToString())); Elements.EndToolbarHorizontal(); }
public void AddPrefab(string category, uint id, Vector3 position, Quaternion rotation, Vector3 scale) { WorldSerialization.PrefabData prefabDatum = new WorldSerialization.PrefabData() { category = category, id = id, position = position, rotation = rotation, scale = scale }; this.world.prefabs.Add(prefabDatum); }
public void SetItemSelected(int id) { var itemClicked = treeModel.Find(id); if (itemClicked.rustID == 0) { return; } previewImage = AssetManager.GetPreview(AssetManager.ToPath(itemClicked.rustID)); prefabData = PrefabManager.Load(itemClicked.rustID).GetComponent <PrefabDataHolder>().prefabData; prefabName = itemClicked.prefabName; }
void SetItemSelected(int id) { var itemClicked = treeModel.Find(id); if (itemClicked.rustID == 0) { return; } PrefabManager.Load(itemClicked.rustID).SetActive(true); previewImage = AssetPreview.GetAssetPreview(PrefabManager.Load(itemClicked.rustID)); if (previewImage == null) { previewImage = new Texture2D(60, 60); } prefabData = PrefabManager.Load(itemClicked.rustID).GetComponent <PrefabDataHolder>().prefabData; prefabName = itemClicked.prefabName; }
private void Spawn(WorldSerialization.PrefabData prefab) { this.Spawn(prefab.category, prefab.id, (Vector3)prefab.position, (Quaternion)prefab.rotation, (Vector3)prefab.scale); }
private static void Spawn(WorldSerialization.PrefabData prefab) { World.Spawn((string)prefab.category, (uint)prefab.id, WorldSerialization.VectorData.op_Implicit((WorldSerialization.VectorData)prefab.position), WorldSerialization.VectorData.op_Implicit((WorldSerialization.VectorData)prefab.rotation), WorldSerialization.VectorData.op_Implicit((WorldSerialization.VectorData)prefab.scale)); }
private IEnumerator SpawnPrefab(WorldSerialization.PrefabData prefabData, int i) { if (true) { //Debug.Log(prefabData.id + "-" + prefabData.category); FileSystem.Operation g2 = FileSystem.LoadAsync(StringPool.Get((prefabData.id))); /*yield return new WaitUntil(() => { * return g2.isDone; * });*/ while (!g2.isDone) { yield return(null); loading = true; } GameObject g3 = g2.Load <GameObject>(); GameObject g = Instantiate(g3, prefabData.position, prefabData.rotation); g.transform.localScale = prefabData.scale; g.SetActive(true); g.layer = 9; string name = g.name; g.name = prefabData.id.ToString(); g.AddComponent <EditableObject>(); BoxCollider box = g.AddComponent <BoxCollider>(); Bounds b = new Bounds(Vector3.zero, Vector3.zero); /*Renderer r2 = g.GetComponent<Renderer>(); * if (r2 != null) * { * b.Encapsulate(r2.bounds); * }*/ Transform[] ts = g.GetComponentsInChildren <Transform>(); foreach (Transform t in ts) { Renderer r = t.GetComponent <Renderer>(); BoxCollider bc = t.GetComponent <BoxCollider>(); ParticleSystem p = t.GetComponent <ParticleSystem>(); t.gameObject.layer = 9; if (r != null) { //box.bounds.Encapsulate(r.bounds); //Vector3.Lerp(b.center, r.center, 0.2f); //r.enabled = false; } if (bc != null) { //b.Encapsulate(bc.bounds); //Vector3.Lerp(b.center, bc.center, 0.2f); bc.enabled = false; } if (p != null) { var em = p.emission; em.enabled = false; } //box.center = b.center - g.transform.position; //box.size = b.size; } box.enabled = true; g.AddComponent <PrefabData>().idInList = i; g.GetComponent <PrefabData>().prefabName = name; g.AddComponent <LineRenderer>().material = Rainbow.material; g.GetComponent <LineRenderer>().useWorldSpace = false; Vector3[] poss = new Vector3[] { new Vector3(0, 1, 0), new Vector3(0, -1, 0) }; g.GetComponent <LineRenderer>().SetPositions(poss); spawnedPrefabs.Add(g); loading = false; } }
private static void Spawn(WorldSerialization.PrefabData prefab) { World.Spawn(prefab.category, prefab.id, prefab.position, prefab.rotation, prefab.scale); }