示例#1
0
文件: Agent.cs 项目: ming81/TotalAI
        // Agent is an attendee in an AgentEvent that has just started - change roles if needed
        public void EventStarting(AgentEvent agentEvent)
        {
            Debug.Log(name + ": Starting Event");
            inAgentEvent = agentEvent;

            // Figure out what roles need to be applied
            // TODO: Only CreatorAttendee Type is implemented
            List <RoleType> roleTypes = agentEvent.GetRoleTypes(this);

            // Handle applying roles
            foreach (RoleType roleType in roleTypes)
            {
                roleType.AddToAgent(this);
            }
        }
示例#2
0
文件: Agent.cs 项目: ming81/TotalAI
        public void QuitEvent()
        {
            Debug.Log(name + ": Quitting Event");

            // Run On Quit AgentEvent OutputChangesWaitEndOCT
            decider.RunOutputChangesFromAgent(this, null, OutputChange.Timing.OnQuitAgentEvent);

            // Disable any AgentEvent roles and figure out changes to Drives and Actions
            List <RoleType> roleTypes = inAgentEvent.GetRoleTypes(this);

            // Handle applying roles
            foreach (RoleType roleType in roleTypes)
            {
                roleType.RemoveFromAgent(this);
            }

            inAgentEvent.RemoveAttendee(this);

            inAgentEvent = null;
        }