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(); }
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) }; }