Changeset 981


Ignore:
Timestamp:
02/18/2011 02:19:00 PM (10 years ago)
Author:
joao.dias
Message:
 
Location:
AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentCore.java

    r972 r981  
    795795                } 
    796796        } 
    797  
     797         
     798        @Override 
     799        public EmotionalState simulateEmotionalState(Event simulatedEvent,IComponent callingComponent) { 
     800                AppraisalFrame appraisalFrame = new AppraisalFrame(simulatedEvent); 
     801                EmotionalState simulatedEmotionalState = null; 
     802                 
     803                for(IAppraisalDerivationComponent c : this._appraisalComponents) 
     804                { 
     805                        if(c != callingComponent){ //to prevent infinite loops 
     806                                c.appraisal(this,simulatedEvent, appraisalFrame); 
     807                        } 
     808                } 
     809                if(appraisalFrame.hasChanged()) 
     810                { 
     811                        simulatedEmotionalState = this._emotionalState.clone();  
     812                        simulatedEmotionalState.Clear(); //only want the emotions caused by the simulatedEvent 
     813                         
     814                        for(IAffectDerivationComponent ac : this._affectDerivationComponents) 
     815                        { 
     816                                if(ac != callingComponent){ //again to prevent infinite loops 
     817                                        ArrayList<BaseEmotion> emotions = ac.affectDerivation(this, appraisalFrame); 
     818                                        for(BaseEmotion em : emotions) 
     819                                        { 
     820                                                simulatedEmotionalState.AddEmotion(em, this); 
     821                                        }                
     822                                } 
     823                        } 
     824                         
     825                } 
     826         
     827                return simulatedEmotionalState; 
     828        } 
     829 
     830         
     831         
    798832        private void updateSimulationTimer() { 
    799833                // //updates the agent's simulation timer 
     
    10761110                }        
    10771111        } 
     1112         
     1113         
     1114         
     1115 
    10781116} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentModel.java

    r961 r981  
    66import FAtiMA.Core.goals.GoalLibrary; 
    77import FAtiMA.Core.memory.Memory; 
     8import FAtiMA.Core.sensorEffector.Event; 
    89import FAtiMA.Core.sensorEffector.RemoteAgent; 
    910import FAtiMA.Core.wellFormedNames.Symbol; 
     
    3334        public void updateEmotions(AppraisalFrame af); 
    3435         
     36        public EmotionalState simulateEmotionalState(Event ficticiousEvent,IComponent callingComponent); 
     37         
     38         
    3539} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/EmotionalStatePanel.java

    r756 r981  
    105105    } 
    106106     
     107    protected EmotionalState getEmotionalState(AgentModel am){ 
     108        return am.getEmotionalState(); 
     109    } 
     110     
     111     
    107112    public boolean Update(AgentModel am) { 
    108113        Float aux; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/ActiveEmotion.java

    r896 r981  
    5454        protected float _intensity;      
    5555        protected int _threshold; 
     56        protected Object _baseEmotionClass; 
    5657         
    5758        /** 
     
    6465        public ActiveEmotion(BaseEmotion potEm, float potential, int threshold, int decay){ 
    6566                super(potEm); 
     67                 
    6668                _potential = potential; 
    6769                _threshold = threshold; 
    6870                _decay = decay; 
    6971                SetIntensity(potential); 
     72                _baseEmotionClass = potEm.getClass(); 
    7073        } 
    7174 
     
    8992        } 
    9093 
     94        public Object getBaseEmotionClass(){ 
     95                return _baseEmotionClass; 
     96        } 
     97         
    9198        /** 
    9299         * Reforces the intensity of the emotion by a given potential 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/EmotionalState.java

    r950 r981  
    103103        } 
    104104         
     105        public EmotionalState clone(){ 
     106                EmotionalState eS = new EmotionalState(); 
     107                eS._emotionPool = new Hashtable<String, ActiveEmotion>(this._emotionPool); 
     108                eS._emotionDispositions  = new Hashtable<String,EmotionDisposition>(this._emotionDispositions); 
     109                eS._mood = this._mood; 
     110                eS._lastTime = this._lastTime; 
     111                return eS; 
     112        } 
     113         
     114         
    105115        private float DeterminePotential(BaseEmotion potEm) { 
    106116            float potential = potEm.GetPotential(); 
     
    306316                return _emotionPool.values().iterator(); 
    307317        } 
     318 
    308319         
    309320        /** 
     
    491502                else return DEFAULT_EMOTION_DISPOSITION; 
    492503        } 
     504 
     505        public Collection<ActiveEmotion> getEmotionPool() { 
     506                return _emotionPool.values(); 
     507        } 
    493508         
    494509} 
Note: See TracChangeset for help on using the changeset viewer.