using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CharacterMovement : MonoBehaviour {

    public float Speed;
    GameObject localPlayer;
    public List<GameObject> Players = new List<GameObject>();
    public List<bool> Nearby = new List<bool>();

    public float DistanceToWin;

    Camera cam;
    private void Start()
    {
        localPlayer = Multiplayer.PlayersManager.Instance.LocalPlayer;
        Players.Add(localPlayer);
        foreach (GameObject curPlayer in Multiplayer.PlayersManager.Instance.RemotePlayers.Values)
        {
            Players.Add(curPlayer);
        }
        cam = localPlayer.GetComponentInChildren<Camera>();
    }

    public bool CheckNearby()
    {
        for (int i = 0; i < Players.Count; i++)
        {
            if ((localPlayer.transform.position - Players[i].transform.position).magnitude < DistanceToWin)
            {
                Greet();
            }
            else
            { 
                Player playerScript = Players[i].GetComponent<Player>();
                foreach (GameObject dummy in playerScript.dummies)
                {
                    if ((localPlayer.transform.position - dummy.transform.position).magnitude < DistanceToWin)
                    {
                        Greet();
                    }
                }
            }
        }
        return CheckWin();
    }

    bool CheckWin()
    {
        for (int i = 0; i < Nearby.Count; i++)
        {
            if (Nearby[i] == false)
            {
                return false;
            }
        }
        return true;
    }

    public void Greet()
    {
        //Play audio
        //Trigger animation
    }
}
