public void ClearRigidBodies() { if (this.displayModels == null) { return; } VisualStorageContainer.DisplayModel[] displayModelArray = this.displayModels; for (int i = 0; i < (int)displayModelArray.Length; i++) { VisualStorageContainer.DisplayModel displayModel = displayModelArray[i]; if (displayModel != null) { UnityEngine.Object.Destroy(displayModel.displayModel.GetComponentInChildren <Rigidbody>()); } } }
public void UpdateVisibleItems(ItemContainer msg) { for (int index = 0; index < this.displayModels.Length; ++index) { VisualStorageContainer.DisplayModel displayModel = this.displayModels[index]; if (displayModel != null) { Object.Destroy((Object)displayModel.displayModel); this.displayModels[index] = (VisualStorageContainer.DisplayModel)null; } } if (msg == null) { return; } using (List <Item> .Enumerator enumerator = ((List <Item>)msg.contents).GetEnumerator()) { while (enumerator.MoveNext()) { Item current = enumerator.Current; ItemDefinition itemDefinition = ItemManager.FindItemDefinition((int)current.itemid); GameObject gameObject = itemDefinition.worldModelPrefab == null || !itemDefinition.worldModelPrefab.isValid ? (GameObject)Object.Instantiate <GameObject>((M0)this.defaultDisplayModel) : itemDefinition.worldModelPrefab.Instantiate((Transform)null); if (Object.op_Implicit((Object)gameObject)) { gameObject.get_transform().set_position(Vector3.op_Addition(((Component)this.displayNodes[current.slot]).get_transform().get_position(), new Vector3(0.0f, 0.25f, 0.0f))); gameObject.get_transform().set_rotation(((Component)this.displayNodes[current.slot]).get_transform().get_rotation()); M0 m0 = gameObject.AddComponent <Rigidbody>(); ((Rigidbody)m0).set_mass(1f); ((Rigidbody)m0).set_drag(0.1f); ((Rigidbody)m0).set_angularDrag(0.1f); ((Rigidbody)m0).set_interpolation((RigidbodyInterpolation)1); ((Rigidbody)m0).set_constraints((RigidbodyConstraints)10); this.displayModels[current.slot].displayModel = gameObject; this.displayModels[current.slot].slot = (int)current.slot; this.displayModels[current.slot].def = itemDefinition; gameObject.SetActive(true); } } } this.SetItemsVisible(false); this.CancelInvoke(new Action(this.ItemUpdateComplete)); this.Invoke(new Action(this.ItemUpdateComplete), 1f); }
public void UpdateVisibleItems(ProtoBuf.ItemContainer msg) { for (int i = 0; i < (int)this.displayModels.Length; i++) { VisualStorageContainer.DisplayModel displayModel = this.displayModels[i]; if (displayModel != null) { UnityEngine.Object.Destroy(displayModel.displayModel); this.displayModels[i] = null; } } if (msg == null) { return; } foreach (ProtoBuf.Item content in msg.contents) { ItemDefinition itemDefinition = ItemManager.FindItemDefinition(content.itemid); GameObject vector3 = null; vector3 = (itemDefinition.worldModelPrefab == null || !itemDefinition.worldModelPrefab.isValid ? UnityEngine.Object.Instantiate <GameObject>(this.defaultDisplayModel) : itemDefinition.worldModelPrefab.Instantiate(null)); if (!vector3) { continue; } vector3.transform.position = this.displayNodes[content.slot].transform.position + new Vector3(0f, 0.25f, 0f); vector3.transform.rotation = this.displayNodes[content.slot].transform.rotation; Rigidbody rigidbody = vector3.AddComponent <Rigidbody>(); rigidbody.mass = 1f; rigidbody.drag = 0.1f; rigidbody.angularDrag = 0.1f; rigidbody.interpolation = RigidbodyInterpolation.Interpolate; rigidbody.constraints = RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionZ; this.displayModels[content.slot].displayModel = vector3; this.displayModels[content.slot].slot = content.slot; this.displayModels[content.slot].def = itemDefinition; vector3.SetActive(true); } this.SetItemsVisible(false); base.CancelInvoke(new Action(this.ItemUpdateComplete)); base.Invoke(new Action(this.ItemUpdateComplete), 1f); }
public void SetItemsVisible(bool vis) { if (this.displayModels == null) { return; } VisualStorageContainer.DisplayModel[] displayModelArray = this.displayModels; for (int i = 0; i < (int)displayModelArray.Length; i++) { VisualStorageContainer.DisplayModel displayModel = displayModelArray[i]; if (displayModel != null) { LODGroup componentInChildren = displayModel.displayModel.GetComponentInChildren <LODGroup>(); if (!componentInChildren) { Debug.Log(string.Concat("VisualStorageContainer item missing LODGroup", displayModel.displayModel.gameObject.name)); } else { componentInChildren.localReferencePoint = (vis ? Vector3.zero : new Vector3(10000f, 10000f, 10000f)); } } } }