Exemple #1
0
    /// <summary>
    /// 직원이 패닉상태인지 확인함
    /// </summary>

    private void InitAgentList()
    {
        List <AgentModel> list = new List <AgentModel>(currentSefira.agentList.ToArray());

        if (this.suppressingAgentList == null)
        {
            this.suppressingAgentList = new List <SuppressAction>();
        }
        else
        {
            this.suppressingAgentList.Clear();
        }

        foreach (AgentModel model in list)
        {
            bool check = false;
            //패닉 상태인지 확인하는 과정이 필요함
            foreach (SuppressAction sa in agentList)
            {
                if (sa.model == model)
                {
                    check = true;
                    break;
                }
            }
            if (check)
            {
                break;
            }

            SuppressAction action = new SuppressAction(model);
            if (model.panicFlag != true && model.GetState() != AgentAIState.CANNOT_CONTROLL)
            {
                action.SetControllable(true);
            }
            else
            {
                action.SetControllable(false);
            }
            this.agentList.Add(action);
        }
    }