Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        InteractiveI buff = GetClosestThatCanInteract(movment.instance.gameObject);

        if (buff != null)
        {
            Debug.Log(buff.GetInteractionDecription(), buff.gameObject);
        }
    }
Exemple #2
0
    public void TrytoInteract(GameObject g)
    {
        InteractiveI buff = GetClosestThatCanInteract(g);

        if (buff != null)
        {
            buff.Interact(g);
        }
        else
        {
            Debug.Log("nie mam jak interaktować");
        }
    }
Exemple #3
0
    InteractiveI GetClosestThatCanInteract(GameObject gameObject)
    {
        InteractiveI interactiveI = null;
        float        distance     = 999999f;

        foreach (InteractiveI item in listOfInteractive)
        {
            if (item.CanInteract() && distance > item.GetDistance(gameObject))
            {
                if (item.GetDistance(gameObject) < item.GetRangeOfInteraction())
                {
                    interactiveI = item;
                    distance     = item.GetDistance(gameObject);
                }
            }
        }
        return(interactiveI);
    }
Exemple #4
0
 public static void RemoveInteraction(InteractiveI a)
 {
     instance.listOfInteractive.Remove(a);
 }
Exemple #5
0
 public static void AddInteraction(InteractiveI a)
 {
     instance.listOfInteractive.Add(a);
 }