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; }
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; }
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; }