So at this point im stumped the camera is only suppose to follow the player if followingplayer is true.
i double checked the entire scenario and made absolute sure followingplayer was turned off and it was most definitely turned off as i could see in the inspector. but for whatever reason it keeps following the player even with followingplayer turned off.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Cammove : MonoBehaviour {
public GameObject player;
public float moveSpeed;
public float distancetotarget;
public bool canstop;
public bool followingplayer;
public float lerpSpeed;
void Cameracanmove()
{
if (followingplayer == false)
{
if (Mathf.Abs(transform.localEulerAngles.y - player.GetComponent<Targeting>().playertarget.transform.localEulerAngles.y) > 0.5f)
{
transform.LookAt(player.GetComponent<Targeting>().playertarget.transform);
}
if (Mathf.Abs(transform.localEulerAngles.y - player.GetComponent<Targeting>().playertarget.transform.localEulerAngles.y) < 0.5f)
{
transform.rotation = Quaternion.Lerp(transform.rotation, player.GetComponent<Targeting>().playertarget.transform.rotation, Time.deltaTime * lerpSpeed);
};
}
if (followingplayer == false && Vector3.Distance(transform.position, player.GetComponent<Targeting>().playertarget.transform.position) > distancetotarget)
{
transform.position = Vector3.MoveTowards(transform.position, player.GetComponent<Targeting>().playertarget.transform.position, moveSpeed * Time.deltaTime);
}
}
void movingstop()
{
if (followingplayer = true && Vector3.Distance(transform.position, player.GetComponent<Targeting>().playertarget.transform.position) < distancetotarget)
{
player.GetComponent<Targeting>().cameraturnon = false;
followingplayer = true;
}
}
void followplayer()
{
if (followingplayer = true && Vector3.Distance(player.transform.position, player.transform.position) > distancetotarget)
{
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, moveSpeed * Time.deltaTime );
}
}
void cameraheight()
{
if(followingplayer = true && transform.position.y > 3)
{
transform.position = Vector3.up*Time.deltaTime * lerpSpeed;
}
}
void Lookatplayer()
{
if (followingplayer = true && Mathf.Abs(transform.localEulerAngles.y - player.transform.localEulerAngles.y) > 0.5f)
{
transform.LookAt(player.transform);
}
if (followingplayer = true && Mathf.Abs(transform.localEulerAngles.y - player.transform.localEulerAngles.y) < 0.5f)
{
transform.rotation = Quaternion.Lerp(transform.rotation, player.transform.rotation, Time.deltaTime * lerpSpeed);
}
}
void turningon()
{
if(player.GetComponent<Targeting>().cameraturnon ==true)
{
followingplayer = false;
}
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
turningon();
movingstop();
Cameracanmove();
Lookatplayer();
followplayer();
cameraheight();
}
}