// Use this for initialization
    void Start()
    {
        GameObject temp = null;

        temp = GameObject.FindGameObjectWithTag("CSTarget");
        if (temp != null)
        {
            targetPoint = temp.transform;
        }

        if (m_cShipInventory == null || m_cShipInventory.Count == 0)
        {
            Debug.Log("Telling inventory to initialise");
            m_cShipInventory = new List <GameObject>();
        }

        else
        {
            m_requestedItem = Enumerable.Repeat(false, m_cShipInventory.Count).ToList();
        }

        if (m_shouldAnchor)
        {
            this.rigidbody.isKinematic = true;
        }


        GameObject itemManager = GameObject.FindGameObjectWithTag("ItemManager");

        if (itemManager)
        {
            m_itemIDs = itemManager.GetComponent <ItemIDHolder>();
        }

        else
        {
            Debug.LogError("Unable to find ItemManager from CapitalShipScript.");
        }

        //coroutineIsRunning = new bool[5];
        if (Network.isServer)
        {
            ResetAttachedTurretsFromWrappers();
        }
    }
    /// Private functions
    // Obtain a reference to the ItemIDHolder script
    void InitialiseItemIDs()
    {
        // Find Item Manager
        GameObject itemManager = GameObject.FindGameObjectWithTag("ItemManager");

        if (itemManager)
        {
            m_itemIDs = itemManager.GetComponent <ItemIDHolder>();

            if (!m_itemIDs)
            {
                Debug.LogError("ItemManager object does not contain an ItemIDHolder component.");
            }
        }

        else
        {
            Debug.LogError("Unable to find object with tag: ItemManager");
        }
    }