Ejemplo n.º 1
0
    protected void DropGun(bool Throw)
    {
        //Check for owner
        if (GunInHands == DefaultGun || Locked)
        {
            return;
        }
        GunInHands.Owner = null;

        //Set transform for in hands gun
        GunInHands.transform.parent   = FloorManager.GetCurrentFloorObj().transform;
        GunInHands.transform.position = gameObject.transform.position;
        GunInHands.transform.rotation = Quaternion.identity;

        //Set transform for lies version of gun
        GunInHands.State.Lies.transform.rotation = Quaternion.Euler(0, 0, gameObject.transform.eulerAngles.z - 90);
        GunInHands.State.SetWorldState(WorldState.Lies);

        Rigidbody2D GunBody = GunInHands.State.Lies.GetComponentInChildren <Rigidbody2D>();

        if (Throw)
        {
            //Throw gun if it need
            GunBody.AddRelativeForce(new Vector2(0, ThrowForce), ForceMode2D.Impulse);
        }
        GunBody.AddTorque(ThrowForce * 5);

        GunInHands.DisablePickupTrigger(0.01f);
        PickUpGun(GunToPickUp == null ? DefaultGun : GunToPickUp);
    }
 private void OnSelectionChange()
 {
     if (FloorManager.Main != null)
     {
         if (FloorManager.Main.Floors.Contains(Selection.activeGameObject))
         {
             for (int i = 0; i < FloorManager.Main.Floors.Count; i++)
             {
                 GameObject Floor = FloorManager.Main.Floors[i];
                 if (Floor == Selection.activeGameObject)
                 {
                     FloorManager.SetFloor(i);
                     LastSelectedFloor = FloorManager.GetCurrentFloorObj();
                 }
             }
         }
     }
     Repaint();
 }
Ejemplo n.º 3
0
    public void UpdateEdge()
    {
        EdgeCollider2D MyEdge    = GetComponent <EdgeCollider2D>();
        Tilemap        MyTilemap = FloorManager.GetCurrentFloorObj().GetComponent <Tilemap>();

        MyTilemap.CompressBounds();
        MyEdge.points = new Vector2[]
        {
            (Vector2Int)MyTilemap.cellBounds.min +
            (Vector2)MyTilemap.tileAnchor + new Vector2(-EdgeOffset, -EdgeOffset),
            new Vector2(MyTilemap.cellBounds.min.x, MyTilemap.cellBounds.max.y)
            + (Vector2)MyTilemap.tileAnchor + new Vector2(-EdgeOffset, +EdgeOffset),
            (Vector2Int)MyTilemap.cellBounds.max +
            (Vector2)MyTilemap.tileAnchor + new Vector2(EdgeOffset, EdgeOffset),
            new Vector2(MyTilemap.cellBounds.max.x, MyTilemap.cellBounds.min.y)
            + (Vector2)MyTilemap.tileAnchor + new Vector2(EdgeOffset, -EdgeOffset),
            (Vector2Int)MyTilemap.cellBounds.min
            + (Vector2)MyTilemap.tileAnchor + new Vector2(-EdgeOffset, -EdgeOffset)
        };
    }