public override void Awake() { base.Awake(); shipMove = gameObject.GetSafeComponent<ShipMove>(); shipAttack = gameObject.GetSafeComponent<ShipAttack>(); shipBlueprint = gameObject.GetSafeComponent<ShipBlueprint>(); componentCamera.enabled = false; //manual init to ensure correct intitialization order shipBlueprint.Init(); shipMove.Init(); shipAttack.Init(); selectedComponents = new List<ShipComponent>(); }