Click here to Skip to main content
15,881,938 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
Full Error: Assets/Scripts/CameraManager.cs(89,9): error CS1955: Non-invocable member 'CameraManager.cameras' cannot be used like a method.

C#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraManager : MonoBehaviour
{


    public Camera cameraSecurityRoom;
    public Camera camera1A;
    public Camera camera1B;
    public Camera camera1C;
    public Camera camera2A;
    public Camera camera2B;
    public Camera camera3;
    public Camera camera4A;
    public Camera camera4B;
    public Camera camera5;
    public Camera camera6;
    public Camera camera7;

    [SerializeField]
    protected Camera[] cameras;
    protected int currentCamera;

    void Awake()

    {

        cameras = new Camera[12];


        cameras[0] = cameraSecurityRoom;
        cameras[1] = camera1A;
        cameras[2] = camera1B;
        cameras[3] = camera1C;
        cameras[4] = camera2A;
        cameras[5] = camera2B;
        cameras[6] = camera3;
        cameras[7] = camera4A;
        cameras[8] = camera4B;
        cameras[9] = camera5;
        cameras[10] = camera6;
        cameras[11] = camera7;
        


    }



    // Start is called before the first frame update
    void Start()
    {
        
    }

    void incCamera()

    {


        cameras (currentCamera).enabled = false;

        currentCamera++;

        if(currentCamera >= cameras.Length){

            currentCamera = 0;
        }


        cameras (currentCamera).enabled = true;


    
    }


    void decCamera()

    {
        cameras (currentCamera).enabled = false;
        currentCamera--;

        if(currentCamera < 0){

            currentCamera = cameras.Length-1;
        }
        cameras (currentCamera).enabled = true;

    }

    // Update is called once per frame
    void Update()
    {
        
         if (Input.GetKeyUp(KeyCode.UpArrow))
        {
            incCamera();
        }
         if (Input.GetKeyUp(KeyCode.DownArrow))
        {
            decCamera();

        }


    }
}


What I have tried:

google it but i cant find anything useful
Posted
Updated 18-May-21 13:21pm
v2

1 solution

You keep doing this:
C#
cameras (currentCamera).enabled ...

when cameras is a collection, and you need to use its indexer like this:
C#
camera[currentCamera].enabled ...
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900