Can I make a chest contain certain items by dragging the item into the script like a public GameObject or something?

So basically I have a working inventory and box(chest) that opens up and displays a loot window. Before I had it generating random objects in game and transporting them to my inventory just to see if it worked correctly. Now instead of random items that arent real I would like to put real items inside. I want to know eactly which items will be inside which box because I assigned it to have them. Can anyone tell me how to do this?

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

[RequireComponent (typeof(BoxCollider))]
[RequireComponent (typeof(AudioSource))]

public class Chest : MonoBehaviour {
	public enum State {
		open,
		close,
		inbetween
		
	}
	public AudioClip openSound;
	public AudioClip closeSound;
	public GameObject[] parts;
	private Color[] _defaultColors;
	public State state;
	public float maxDistance = 2;
	private GameObject _player;
	private Transform _myTransform;
	public bool inUse = false;
	private bool _used = false;
	public List<Item> loot = new List<Item>();
	public GameObject[] itemArray;
	// Use this for initialization
	void Start () {
		_myTransform = transform;
		
		state = Chest.State.close;
		
		_defaultColors = new Color[parts.Length];
		
		if(parts.Length > 0)
			for(int cnt = 0; cnt < _defaultColors.Length; cnt++)
				_defaultColors[cnt] = parts[cnt].renderer.material.GetColor("_Color");
		
		
	
	}
	
	// Update is called once per frame
	void Update () {
		if(!inUse)
			return;
		if(_player == null)
			return;
		
		if(Vector3.Distance(transform.position, _player.transform.position) > maxDistance){
			myGUI.chest.ForceClose();
			Messenger.Broadcast("CloseChest");
	
		}
	}
	
	public void OnMouseEnter() {
		Debug.Log ("Enter");
		Highlight(true);
}
	
	public void OnMouseExit() {
		Debug.Log("Exit");
		Highlight(false);
		
	}
	
	public void OnMouseUp() {
		Debug.Log ("Up");
		GameObject go = GameObject.FindGameObjectWithTag("Player");
		if(go == null)
			return;
		if(Vector3.Distance(_myTransform.position, go.transform.position) > maxDistance && !inUse)
			return;
		switch(state) {
		case State.open:
			state = Chest.State.inbetween;
			StartCoroutine("Close");
			ForceClose();
			break;
		case State.close:
			if(myGUI.chest != null) {
				myGUI.chest.ForceClose();
			}
			state = Chest.State.inbetween;
			StartCoroutine("Open");
			break;
		}	
		if(state == Chest.State.close)
			Open ();
		else
			Close ();
		
	}
	
	private IEnumerator Open() {
		myGUI.chest = this;
		_player = GameObject.FindGameObjectWithTag("Player");
		inUse = true;
	
		animation.Play ("open");
		
		audio.PlayOneShot(openSound);
		
	if(!_used)
		PopulateChest(5);
		
		yield return new WaitForSeconds(animation["open"].length);
		state = Chest.State.open;
		
		Messenger.Broadcast("DisplayLoot");
	}
	
	private void PopulateChest(int x) {
		
		for(int cnt = 0; cnt < x; cnt++) {
			
			
		}
		_used = true;
	}
	
	private IEnumerator Close() {
		_player = null;
		inUse = false;
		animation.Play("close");
		audio.PlayOneShot(closeSound);
		yield return new WaitForSeconds(animation["close"].length);
		state = Chest.State.close;
	}
	
	public void ForceClose() {
		Messenger.Broadcast("CloseChest");
		
		StopCoroutine("Open");
		StartCoroutine("Close");
	}
	private void Highlight(bool glow) {
		if(glow) {
			if(parts.Length > 0)
				for(int cnt = 0; cnt < _defaultColors.Length; cnt++)
					parts[cnt].renderer.material.SetColor("_Color", Color.grey);
		}
		else {
			if(parts.Length > 0)
				for(int cnt = 0; cnt < _defaultColors.Length; cnt++)
					parts[cnt].renderer.material.SetColor("_Color", _defaultColors[cnt]);
		}
	}
}

How about adding:

public GameObject[] itemArray;

to your Chest script. That way you can set the Size of the array in the inspector and drag in as many GameObjects as you like.