Пример #1
0
    void SetState(AgentState state)
    {
        if (currentState == state)
        {
            return;
        }

        currentState = state;

        switch (currentState)
        {
        case AgentState.Idle:
            //Do nothing
            thirdPersonCharacter.Move(Vector3.zero, false, false);

            break;

        case AgentState.Moving:
            navAgent.SetDestination(target.gameObject.transform.position);
            thirdPersonCharacter.Move(navAgent.desiredVelocity, false, false);
            break;

        case AgentState.Attacking:
            thirdPersonCharacter.Move(Vector3.zero, false, false);
            thirdPersonCharacter.Attack();
            break;

        default:
            Debug.LogError("Unexpected state: " + state.ToString());
            break;
        }
    }
Пример #2
0
        public static string ToString(AgentState agentState)
        {
            switch (agentState)
            {
            case AgentState.AGENT_STATE_DOWN:
                return("Down");

            case AgentState.AGENT_STATE_ERROR:
                return("Error");

            case AgentState.AGENT_STATE_IDLE:
                return("Online");

            default:
                return(agentState.ToString());
            }
        }
Пример #3
0
        public bool SetAgentLineControl(string extension, string agentid, AgentState state, CallCenterCall ccc)
        {
            bool success = false;

            try
            {
                if (Global.cacheMgr != null)
                {
                    log.Debug("Adding or update agentlinecontrol: " + extension + state.ToString());
                    if (Global.cacheMgr.Contains(extension) && Global.cacheMgr.GetData(extension) is AgentLineControl)
                    {
                        AgentLineControl currentAgentLineControl = ((AgentLineControl)Global.cacheMgr.GetData(extension));
                        currentAgentLineControl.agentstate     = state;
                        currentAgentLineControl.callcentercall = ccc;
                        Global.cacheMgr.Add(extension, currentAgentLineControl);
                    }
                    else
                    {
                        AgentLineControl alc = new AgentLineControl();
                        LineControl      lc  = ((LineControl)Global.cacheMgr.GetData(extension));
                        alc.agentid               = agentid;
                        alc.agentstate            = state;
                        alc.callcentercall        = ccc;
                        alc.directoryNumber       = lc.directoryNumber;
                        alc.doNotDisturb          = lc.doNotDisturb;
                        alc.forward               = lc.forward;
                        alc.lineControlConnection = lc.lineControlConnection;
                        alc.mwiOn     = lc.mwiOn;
                        alc.status    = lc.status;
                        alc.monitored = lc.monitored;
                        Global.cacheMgr.Add(extension, alc);
                    }
                    success = true;
                }
                return(success);
            }
            catch (Exception e)
            {
                log.Error("Error while setting agentlinecontrol : " + e.Message);
                return(success);
            }
        }
Пример #4
0
	protected void WriteAgentState( AgentState _Set )
	{
		// Set to property
		InfoDataCenter infoDataCenter = GlobalSingleton.GetInfoDataCenter() ;
		infoDataCenter.WriteProperty( "CHARACTER_" + AgentName , "STATE" , _Set.ToString() ) ;
		m_AgentState = _Set ;
	}
Пример #5
0
 public bool SetAgentLineControl(string extension, string agentid, AgentState state, CallCenterCall ccc)
 {
     bool success = false;
     try
     {
         if (Global.cacheMgr != null)
         {
             log.Debug("Adding or update agentlinecontrol: " + extension + state.ToString());
             if (Global.cacheMgr.Contains(extension) && Global.cacheMgr.GetData(extension) is AgentLineControl)
             {
                 AgentLineControl currentAgentLineControl = ((AgentLineControl)Global.cacheMgr.GetData(extension));
                 currentAgentLineControl.agentstate = state;
                 currentAgentLineControl.callcentercall = ccc;
                 Global.cacheMgr.Add(extension, currentAgentLineControl);
             }
             else
             {
                 AgentLineControl alc = new AgentLineControl();
                 LineControl lc = ((LineControl)Global.cacheMgr.GetData(extension));
                 alc.agentid = agentid;
                 alc.agentstate = state;
                 alc.callcentercall = ccc;
                 alc.directoryNumber = lc.directoryNumber;
                 alc.doNotDisturb = lc.doNotDisturb;
                 alc.forward = lc.forward;
                 alc.lineControlConnection = lc.lineControlConnection;
                 alc.mwiOn = lc.mwiOn;
                 alc.status = lc.status;
                 alc.monitored = lc.monitored;
                 Global.cacheMgr.Add(extension, alc);
             }
             success = true;
         }
         return success;
     }
     catch (Exception e)
     {
         log.Error("Error while setting agentlinecontrol : " + e.Message);
         return success;
     }
 }
Пример #6
0
 public override string ToString()
 {
     return(_action.ToString() + "->" + _nextState.ToString() + ":" + _probability);
 }