Changeset 210


Ignore:
Timestamp:
11/12/2009 12:12:00 PM (10 years ago)
Author:
joao.dias
Message:

Solved a problem with perceiving property changes.

Location:
AgentMind/branches/FAtiMA2/src/FAtiMA
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Agent.java

    r209 r210  
    5252import FAtiMA.util.parsers.ScenarioLoaderHandler; 
    5353import FAtiMA.wellFormedNames.Name; 
     54import FAtiMA.wellFormedNames.Symbol; 
    5455 
    5556public class Agent implements AgentModel { 
     
    806807        } 
    807808         
     809        public void PerceivePropertyChanged(Name propertyName, String value) 
     810        { 
     811                ArrayList<Symbol> symbols; 
     812                symbols = propertyName.GetLiteralList(); 
     813                 
     814                //I'm changing directly the received name; not a good thing to do 
     815                for(int i = 0; i < symbols.size(); i++) 
     816                { 
     817                        if(symbols.get(i).getName().equals(_name)) 
     818                        { 
     819                                symbols.set(i, new Symbol(Constants.SELF)); 
     820                        } 
     821                } 
     822                 
     823                _memory.getSemanticMemory().Tell(propertyName, value); 
     824        } 
     825         
     826         
     827         
    808828        public void PerceivePropertyRemoved(String subject, String property) 
    809829        { 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/sensorEffector/WorldSimulatorRemoteAgent.java

    r199 r210  
    9595                        property = st.nextToken(); 
    9696                        value = st.nextToken(); 
     97                        _agent.PerceivePropertyChanged(subject, property, value); 
    9798                         
    9899                } 
     
    101102                        String subjectWithProperty = st.nextToken(); 
    102103                        propertyName = Name.ParseName(subjectWithProperty); 
    103                         subject = propertyName.GetFirstLiteral().toString(); 
    104                         property = propertyName.GetLiteralList().get(1).toString(); 
    105104                        value = st.nextToken(); 
    106                 } 
    107                  
    108                 _agent.PerceivePropertyChanged(subject, property, value); 
     105                        _agent.PerceivePropertyChanged(propertyName, value); 
     106                } 
     107                 
     108                 
    109109                 
    110110        } 
Note: See TracChangeset for help on using the changeset viewer.