private void Awake()
        {
            cardManager       = GetComponent <CardManager>();
            CPUOpponent       = GetComponent <CPUOpponent>();
            inputManager      = GetComponent <InputManager>();
            audioManager      = GetComponentInChildren <AudioManager>();
            cinematicsManager = GetComponentInChildren <CinematicsManager>();
            UIManager         = GetComponent <UIManager>();

            if (autoStart)
            {
                introTimeline.SetActive(false);
            }

            //listeners on other managers
            cardManager.OnCardUsed += UseCard;
            CPUOpponent.OnCardUsed += UseCard;

            //initialise Placeable lists, for the AIs to pick up and find a target
            playerUnits           = new List <ThinkingPlaceable>();
            playerBuildings       = new List <ThinkingPlaceable>();
            opponentUnits         = new List <ThinkingPlaceable>();
            opponentBuildings     = new List <ThinkingPlaceable>();
            allPlayers            = new List <ThinkingPlaceable>();
            allOpponents          = new List <ThinkingPlaceable>();
            allThinkingPlaceables = new List <ThinkingPlaceable>();
            allProjectiles        = new List <Projectile>();
        }