//For Initialization.
    void Awake()
    {
        ////////////////////////////////////////////////////////
        //Local Variables

        AbstractItemAI newState = new LightningBoltScrollAI();

        ////////////////////////////////////////////////////////

        newState.ItemName  = RemoveCloneFromName.Start(gameObject.name);
        newState.TimeStamp = DateTime.Now;

        gameObject.GetComponent <ItemAI>().ChangeState(newState);
    }
    private GameObject CreateItem(AbstractItemAI itemAI)
    {
        /////////////////////////////////////////////////
        //Local Variables

        GameObject item;

        /////////////////////////////////////////////////

        item = UnityEngine.Object.Instantiate(this.PrefabDictionary[itemAI.ItemName]) as GameObject;

        item.GetComponent <ItemAI>().ChangeState(itemAI);

        item.GetComponent <PreserveItemInInventory>().PreserveItem();

        item.name = RemoveCloneFromName.Start(item.name);

        return(item);
    }