i Debug.Log(SelectableList.Count); for the same list in 3 different scripts. 2 count 0, 1 counts 1. why?
hi all, im very new to unity and coding still and super happy if anybody can help me!
so i try to create a boxselection for a RTS game and need my gameobjects (clones, if that helps) to be in the SelectableList. for some reason the SelectableList is empty for my camera wich executes the BoxSelection script, and it counts one when i debug it in the script attached to the gameobject im trying to select. (if i create 50 clones i get 50 x count 1 each frame in my debug) very happy for any help, tried to get this working for 2 days now :S i paste my script below:
//parent class script attached to parent obj of camera so i can easy accesss the lists in the other scripts
public class SelectionManager : MonoBehaviour
{
public List<GameObject> SelectableList;
public List<GameObject> SelectedList;
void Start() // Start is called before the first frame update
{
}
void Awake()
{
SelectableList = new List<GameObject>();
SelectedList = new List<GameObject>();
}
void Update() // Update is called once per frame
{
Debug.Log(SelectableList.Count);
}
}
//script attached to the clones
void Awake()
{
SelectableList.Add(this.gameObject);
SelectionMarker.SetActive(false);
}
//script with the selection methods attatched to my main camera
private void BoxSelection()
{
center = (startPos + endPos) / 2;
sizeX = Mathf.Abs(startPos.x - endPos.x);
sizeY = Mathf.Abs(startPos.y - endPos.y);
SelectionBox.gameObject.SetActive(true);
SelectionBox.position = center;
SelectionBox.sizeDelta = new Vector2(sizeX, sizeY);
SelectionRect = new Rect(rectStartPos.x, rectStartPos.y, rectEndPos.x - rectStartPos.x, rectEndPos.y - rectStartPos.y);
foreach (GameObject selectableObj in SelectableList)
if (SelectionRect.Contains(Camera.main.WorldToViewportPoint(selectableObj.transform.position), true)) //true
{
selectableObj.GetComponent<SelectionRecieve>().isSelected = true;
selectableObj.GetComponent<SelectionRecieve>().SelectionUpdate();
SelectedList.Add(selectableObj);
}
}
Comment