mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-09 19:05:53 +00:00
3D Switches
This commit is contained in:
parent
003dde1b7f
commit
cb60226ced
20 changed files with 267 additions and 14 deletions
37
Scripts/Interactables/Interactable3D.cs
Normal file
37
Scripts/Interactables/Interactable3D.cs
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
using Cirno.Scripts.Misc;
|
||||
using Godot;
|
||||
|
||||
namespace Cirno.Scripts.Interactables;
|
||||
|
||||
public partial class Interactable3D : Area3D, IInteractable
|
||||
{
|
||||
public virtual bool Activate(ActivationType activationType = ActivationType.Toggle)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
protected virtual bool MeetsRequirements()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public virtual bool CanActivate()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public Vector2 GetGlobalPosition2D()
|
||||
{
|
||||
return new Vector2(this.GlobalPosition.X, this.GlobalPosition.Z);
|
||||
}
|
||||
|
||||
public Vector2 GetScreenPosition()
|
||||
{
|
||||
if (CameraController3D.Instance is null)
|
||||
{
|
||||
return this.GetGlobalPosition2D();
|
||||
}
|
||||
|
||||
return CameraController3D.Instance.UnprojectPosition(this.GlobalPosition);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue