コード例 #1
0
ファイル: AiCrowd.cs プロジェクト: taotao111/ainav
        public int GetAgents(DtCrowdAgent *agents, int max)
        {
            DtCrowdAgentsResult result;

            result.Agents = new IntPtr(agents);
            Navigation.Crowd.GetAgents(DtCrowd, new IntPtr(&result));

            return(result.AgentCount);
        }
コード例 #2
0
ファイル: AiCrowd.cs プロジェクト: taotao111/ainav
        public int GetAgents(List <DtCrowdAgent> agents, int max)
        {
            DtCrowdAgentsResult result = default;

            DtCrowdAgent[] generatedAgents = new DtCrowdAgent[max];
            fixed(DtCrowdAgent *agentsPtr = generatedAgents)
            {
                result.Agents = new IntPtr(agentsPtr);
                Navigation.Crowd.GetAgents(DtCrowd, new IntPtr(&result));
            }

            DtCrowdAgent *resultAgents = (DtCrowdAgent *)result.Agents;

            for (int i = 0; i < result.AgentCount; i++)
            {
                agents.Add(resultAgents[i]);
            }
            return(result.AgentCount);
        }