示例#1
0
    private void ConvertAgentDataToSequence(AgentJSONData agent, Dictionary <int, List <Sequence> > agentsAndSequences)
    {
        var sequences = new List <Sequence>();

        agent.sequences.Sort();

        for (var index = 0; index < agent.sequences.Count - 1; index++)
        {
            var agentSequence     = agent.sequences[index];
            var nextAgentSequence = agent.sequences[index + 1];

            var startTime        = agentSequence.endDate.Split(' ')[1].Split(':');
            var startTimeSeconds = int.Parse(startTime[0]) * 3600 + int.Parse(startTime[1]) * 60 + Random.Range(0, 60);

            var startBuildingAlias  = agentSequence.alias;
            var targetBuildingAlias = nextAgentSequence.alias;

            if (BuildingManager.HasBuilding(startBuildingAlias) && BuildingManager.HasBuilding(targetBuildingAlias))
            {
                var sequence = new Sequence(
                    int.Parse(agent.deviceId),
                    BuildingManager.GetBuildingId(startBuildingAlias),
                    BuildingManager.GetBuildingId(targetBuildingAlias),
                    startTimeSeconds
                    );

                foreach (var id in nextAgentSequence.groupsWith)
                {
                    sequence.AddGroupingAgent(id);
                }

                sequences.Add(sequence);
            }
        }

        agentsAndSequences.Add(int.Parse(agent.deviceId), sequences);
    }