Пример #1
0
    public BystanderCreationData createLingerBystander(string para_bystanderName, Transform para_bystanderPrefab, string para_side)
    {
        List<int> nodeIDList = null;
        if((para_side == "T")||(para_side == "L")||(para_side == "R"))
        {
            nodeIDList = areaToNodes[para_side];
        }

        if(nodeIDList != null)
        {
            int randIndex = Random.Range(0,nodeIDList.Count);
            bystanderToAreaNodeIndex.Add(para_bystanderName,randIndex);
            bystanderToArea.Add(para_bystanderName,para_side);

            int reqNodeID = nodeIDList[randIndex];
            WorldNode reqNode = (WorldNode) bystanderGraph.getNode(reqNodeID);
            Vector3 worldPt = reqNode.getWorldPt();

            GameObject nwBystander = spawnNewBystanderInWorld(para_bystanderName,para_bystanderPrefab,worldPt,reqNodeID);
            registerNewBystander(nwBystander.name,nwBystander,reqNodeID);

            triggerLingerBehaviour(nwBystander,reqNodeID);

            BystanderCreationData retData = new BystanderCreationData(nwBystander.gameObject,reqNodeID);
            return retData;
        }

        return null;
    }
Пример #2
0
    public BystanderCreationData createEnteringBystander(string para_bystanderName, Transform para_bystanderPrefab)
    {
        int enterNodeID = getNextAvailableEnterNode();
        WorldNode reqEnterNode = (WorldNode) bystanderGraph.getNode(enterNodeID);
        Vector3 worldPt = reqEnterNode.getWorldPt();

        GameObject nwBystander = spawnNewBystanderInWorld(para_bystanderName,para_bystanderPrefab,worldPt,enterNodeID);
        registerNewBystander(nwBystander.name,nwBystander,enterNodeID);

        triggerEnterTheTownSquare(nwBystander,enterNodeID);

        BystanderCreationData retData = new BystanderCreationData(nwBystander,enterNodeID);
        return retData;
    }
Пример #3
0
    public BystanderCreationData createRegularBystander(string para_bystanderName, Transform para_bystanderPrefab)
    {
        int reqNodeID = cornerNodeIDs[Random.Range(0,cornerNodeIDs.Count)];
        WorldNode reqNode = (WorldNode) bystanderGraph.getNode(reqNodeID);
        Vector3 worldPt = reqNode.getWorldPt();

        GameObject nwBystander = spawnNewBystanderInWorld(para_bystanderName,para_bystanderPrefab,worldPt,reqNodeID);
        registerNewBystander(nwBystander.name,nwBystander,reqNodeID);

        triggerRandomHeading(nwBystander,reqNodeID);

        BystanderCreationData retData = new BystanderCreationData(nwBystander.gameObject,reqNodeID);
        return retData;
    }