Exemplo n.º 1
0
        public override void _Ready()
        {
            base._Ready();
            hoverIndicator   = GetNode <HoverIndicator>(hoverIndicatorNodePath);
            treeActionRadius = GetNode <TreeActionRadius>(actionRadiusNodePath);
            stateMachine     = GetNode <TreeStateMachine>(stateMachineNodePath);
            treeState        = GetNode <TreeState>(treeStateNodePath);
            interactionPopup = interactionPopupPackedScene.Instance() as InteractionPopup;

            uiContainer = NodeGetter.GetFirstNodeInGroup <Control>(GetTree(), GameConstants.UiContainerGroup, true);

            soundEngineNode = NodeGetter.GetFirstNodeInGroup <SoundEngineNode>(GetTree(), GameConstants.SoundEngineGroup, true);

            uiContainer?.AddChild(interactionPopup);
            interactionPopup.Init(this);
            Connect("tree_exiting", this, nameof(OnTreeExiting));
        }
Exemplo n.º 2
0
    /// <summary>
    /// Update is called once per frame
    /// </summary>
    void Update()
    {
        target = null;
        float targetDistance = minimumDistance;

        foreach (Interactable interactiable in interactables)
        {
            float distance = Vector2.Distance(transform.position, interactiable.transform.position);
            if (targetDistance > distance)
            {
                target         = interactiable;
                targetDistance = distance;
            }
        }
        if (target != null)
        {
            InteractionPopup.CallInteractionPopup(target);
        }
        else
        {
            InteractionPopup.DismissInteractionPopup();
        }
    }
Exemplo n.º 3
0
 // Use this for initialization
 void Start()
 {
     instance = this;
 }