public override bool CanInteract(InteractionEvent interactionEvent) { if (!InteractionHelpers.RangeCheck(interactionEvent)) { return(false); } if (interactionEvent.Target is IGameObjectProvider targetBehaviour) { TileObject targetTile = targetBehaviour.GameObject.GetComponentInParent <TileObject>(); if (targetTile == null) { return(false); } if (targetTile.Tile.fixture != null) { return(false); } return(true); } return(false); }
// Update is called once per frame void Update() { if (!map || !pathfinding) { return; } if (!currentPlayer.isAI && Input.GetMouseButtonUp(0)) { Tile tile = InteractionHelpers.GetClickedElement <Tile> (); if (tile) { OnTileLeftClicked(tile); } } else if (!currentPlayer.isAI && Input.GetMouseButtonUp(1)) { Tile tile = InteractionHelpers.GetClickedElement <Tile> (); if (tile) { OnTileRightClicked(tile); if (!UnitsHaveActions()) { SwitchPlayer(); } } } }
public bool CanInteract(InteractionEvent interactionEvent) { if (!InteractionHelpers.RangeCheck(interactionEvent)) { return(false); } return((interactionEvent.Target as IGameObjectProvider)?.GameObject?.GetComponent <Container>() != null); }
public bool CanInteract(InteractionEvent interactionEvent) { if (!(interactionEvent.Source.Parent is Hands)) { return(false); } return(InteractionHelpers.RangeCheck(interactionEvent)); }
public bool CanInteract(InteractionEvent interactionEvent) { if (!InteractionHelpers.RangeCheck(interactionEvent)) { return(false); } if (interactionEvent.Target is IGameObjectProvider target) { return(target.GameObject.GetComponent <Animator>() != null); } return(false); }
public bool CanInteract(InteractionEvent interactionEvent) { if (interactionEvent.Target is IGameObjectProvider targetBehaviour) { if (targetBehaviour.GameObject.GetComponent <Item>() == null) { return(false); } return(InteractionHelpers.RangeCheck(interactionEvent)); } return(false); }
public bool CanInteract(InteractionEvent interactionEvent) { if (!InteractionHelpers.RangeCheck(interactionEvent)) { return(false); } if (interactionEvent.Source.Parent is Hands hands && interactionEvent.Target is IGameObjectProvider target) { return(hands.GetItemInHand() != null && CanStore(target.GameObject)); } return(false); }
public bool CanInteract(InteractionEvent interactionEvent) { if (interactionEvent.Target is Bikehorn horn) { if (!InteractionHelpers.RangeCheck(interactionEvent)) { return(false); } return(!horn.IsHonking()); } if (interactionEvent.Source is Bikehorn horn1) { return(!horn1.IsHonking()); } return(false); }
public override bool CanInteract(InteractionEvent interactionEvent) { GameObject target = (interactionEvent.Target as IGameObjectProvider)?.GameObject; if (target == null) { return(false); } if (!InteractionHelpers.RangeCheck(interactionEvent)) { return(false); } // Needs to be used on tile TileObject tileObject = target.GetComponentInParent <TileObject>(); if (tileObject == null || tileObject.Tile.turf == null) { return(false); } Turf turf = tileObject.Tile.turf; // Check if welder is on if ((interactionEvent.Source as IToggleable)?.GetState() == false) { return(false); } // Check if turf is in dict if (!TurfReinforceList.ContainsKey(turf) && !TurfReinforceList.ContainsValue(turf)) { return(false); } return(true); }