private void InitMemory()
 {
     //Debug.Log("ImpressionMemory.Start(): Initializing Impressions from the scratch");
         persistentImpressions = new PersistentImpressionMemory();
         persistentImpressions.name = name;
         ArrayList impressions = AILoader.GetImpressions();
         foreach (string impression in impressions){
             persistentImpressions.currentImpressions.Add(impression, new CurrentImpression());
         }
 }
    public void Start()
    {
        //Debug.Log("ImpressionMemory.Start() for " + gameObject.name);

        opinions = AILoader.GetOpinionsOfNPC(gameObject.name);

        //currentImpressions = new Hashtable();

        if(SaveLoad.SaveExits()) {
            //Debug.Log("ImpressionMemory.Start(): Using save file.");
            PersistentImpressionMemory tmp = (PersistentImpressionMemory)SaveLoad.ReadSaveFile(PersistentImpressionMemory.GetSaveFileName(name));
            if (tmp != null) {
                persistentImpressions = tmp;
            }
            else {
                Debug.LogError("ImpressionMemory.Start(): ERROR in loading save file. Creating new ImpressionMemory.");
                SaveLoad.ResetSave();
                InitMemory();
            }
        }
        else {
            InitMemory();
        }
        enabled = false;
    }