public void Delete() { IsPickedUp = true; if (ItemWorldObject != null) { ItemWorldObject.Destroy(); } if (AmongUsClient.Instance.AmHost) { MessageWriter writer = AmongUsClient.Instance.StartRpc(PlayerControl.LocalPlayer.NetId, (byte)Packets.DestroyItem, SendOption.Reliable); writer.Write(this.Id); writer.EndMessage(); } }
public virtual void DrawWorldIcon() { if (ItemWorldObject == null) { System.Console.WriteLine("Creating new Item: " + Name); ItemWorldObject = new GameObject(); ItemWorldObject.AddComponent <SpriteRenderer>(); ItemWorldObject.SetActive(true); } SpriteRenderer itemRender = ItemWorldObject.GetComponent <SpriteRenderer>(); itemRender.enabled = true; itemRender.sprite = Icon; itemRender.transform.localScale = new Vector2(0.5f, 0.5f); ItemWorldObject.transform.position = Position; }
public override void DrawWorldIcon() { if (ItemWorldObject == null) { System.Console.WriteLine("Creating new Item: " + Name); ItemWorldObject = new GameObject(); ItemWorldObject.AddComponent <SpriteRenderer>(); ItemWorldObject.SetActive(true); SpriteRenderer itemRender = ItemWorldObject.GetComponent <SpriteRenderer>(); itemRender.enabled = true; itemRender.sprite = Icon; itemRender.transform.localScale = new Vector2(0.5f, 0.5f); ItemWorldObject.transform.position = Position; Rigidbody2D itemRigid = ItemWorldObject.AddComponent <Rigidbody2D>(); BoxCollider2D itemCollider = ItemWorldObject.AddComponent <BoxCollider2D>(); itemCollider.autoTiling = false; itemCollider.edgeRadius = 0; itemCollider.size = Icon.bounds.size * 0.5f; itemCollider.sharedMaterial = Main.Instance.Assets.SnitchMaterial; ItemWorldObject.layer = 8; itemRigid.velocity = Velocity; } Rigidbody2D itemRigid2 = ItemWorldObject.GetComponent <Rigidbody2D>(); itemRigid2.fixedAngle = true; itemRigid2.drag = 0; itemRigid2.angularDrag = 0; itemRigid2.inertia = 0; itemRigid2.gravityScale = 0; _time += Time.deltaTime; var angle = (float)(25 + (25 * Math.Sin(_time))); itemRigid2.rotation = angle - 32.5f; }
public void Update() { if (ItemWorldObject == null) { return; } if (PlayerControl.LocalPlayer.Data.IsDead) { return; } if (PlayerControl.LocalPlayer.Data.Disconnected) { return; } if (ItemWorldObject.GetComponent <SpriteRenderer>().bounds.Intersects(PlayerControl.LocalPlayer.myRend.bounds)) { PickUp(); } }
private void SpawnItemOnNetwork(Vector3 position, int photonId, string itemId, Quaternion quaternion = new Quaternion(), int stackSize = 1) { GameObject go = Resources.Load <GameObject>("Item"); Item item = CreateNewItem(itemId, stackSize); //Get the mesh and materials from the referenced model. var itemMesh = item.Model.GetComponent <MeshFilter>().sharedMesh; var gameObj = Instantiate(go, position, quaternion); gameObj.name = item.Name; gameObj.transform.SetParent(WorldItemManager.Instance.transform); var itemEffectObj = Instantiate(itemEffect, position, quaternion); itemEffectObj.transform.SetParent(gameObj.transform); ItemWorldObject itemWorldObject = gameObj.GetComponent <ItemWorldObject>(); itemWorldObject.Item = item; //Assign the mesh and materials to the new gameObject. gameObj.GetComponent <MeshRenderer>().sharedMaterials = item.Model.GetComponent <MeshRenderer>().sharedMaterials; gameObj.GetComponent <MeshFilter>().sharedMesh = itemMesh; //Create the collider and make it convex var coll = gameObj.GetComponent <MeshCollider>(); coll.sharedMesh = itemMesh; coll.convex = true; PhotonView[] nViews = gameObj.GetComponentsInChildren <PhotonView>(); nViews[0].viewID = photonId; WorldItemManager.Instance.AddItem(photonId); }