Example #1
0
        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();
            }
        }
Example #2
0
        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;
        }
Example #3
0
        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;
        }
Example #4
0
        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();
            }
        }
Example #5
0
    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);
    }