示例#1
0
    void spawnNewGroup(RouteScript targetRoute)
    {
        List<UnitGroupEnemy> listAvailableGroups = new List<UnitGroupEnemy>();
        foreach(GameObject group in unitGroupList) {
            UnitGroupEnemy temp = group.GetComponent<UnitGroupEnemy>();
            if(temp.possibleRoutes.Contains(targetRoute.gameObject.name) && temp.spawnTimeLimit <= TotalSpawnTime) {
                listAvailableGroups.Add (temp);
            }
        }

        if(listAvailableGroups.Count < 1) {
            return;
        }

        int x = Random.Range (0, listAvailableGroups.Count);

        while(TotalSpawnTime < listAvailableGroups[x].spawnTimeLimit) {
            x = Random.Range (0, listAvailableGroups.Count);
        }

        //GameObject newgroup = Instantiate(listAvailableGroups[x].gameObject, transform.position, Quaternion.identity) as GameObject;
        //newgroup.GetComponent<UnitGroupEnemy>().setRoute(targetRoute);
        StartCoroutine(createNewGroup(listAvailableGroups[x], targetRoute, listAvailableGroups[x].productionTime));
        targetRoute.isOccupied = true;
    }
 public void setRoute(RouteScript route)
 {
     myRoute = route;
     foreach(UnitBase unit in myUnitList) {
         unit.currentRoute = route;
     }
 }
示例#3
0
    IEnumerator createNewGroup(UnitGroupEnemy groupToSpawn, RouteScript targetRoute, float delayTime)
    {
        yield return new WaitForSeconds(delayTime);

        GameObject newgroup = Instantiate(groupToSpawn.gameObject, transform.position, Quaternion.identity) as GameObject;
        newgroup.GetComponent<UnitGroupEnemy>().setRoute(targetRoute);
    }
    void spawnNewGroup(RouteScript targetRoute)
    {
        List <EnemyGroupAttributes> listAvailableGroups = new List <EnemyGroupAttributes>();

        foreach (GameObject group in unitGroupList)
        {
            EnemyGroupAttributes temp = group.GetComponent <EnemyGroupAttributes>();
            if (temp.possibleRoutes.Contains(targetRoute.gameObject.name) && temp.spawnTimeLimit <= TotalSpawnTime)
            {
                listAvailableGroups.Add(temp);
            }
        }

        if (listAvailableGroups.Count < 1)
        {
            return;
        }

        int x = Random.Range(0, listAvailableGroups.Count);

        while (TotalSpawnTime < listAvailableGroups[x].spawnTimeLimit)
        {
            x = Random.Range(0, listAvailableGroups.Count);
        }

        StartCoroutine(createNewGroup(listAvailableGroups[x], targetRoute, listAvailableGroups[x].productionTime));
        targetRoute.isOccupied = true;
    }
示例#5
0
    // Start is called before the first frame update
    void Start()
    {
        ChangeDirection();
        StartCoroutine(Whim());

        controller  = GameObject.Find("GameController").GetComponent <GameController>();
        routeScript = GetComponent <RouteScript>();
    }
示例#6
0
 public void setRoute(RouteScript route)
 {
     myRoute = route;
     foreach (UnitBase unit in myUnitList)
     {
         unit.currentRoute = route;
     }
 }
    IEnumerator createNewGroup(EnemyGroupAttributes groupToSpawn, RouteScript targetRoute, float delayTime)
    {
        yield return(new WaitForSeconds(delayTime));

        GameObject newgroup = Instantiate(groupToSpawn.gameObject, transform.position, Quaternion.identity) as GameObject;

        newgroup.GetComponent <EnemyGroupAttributes>().routeScript = targetRoute;
    }
示例#8
0
    public void Start()
    {
        base.Start();

        enemyGroupAttributes = transform.parent.GetComponent <EnemyGroupAttributes>();
        routeScript          = enemyGroupAttributes.routeScript;
        if (routeScript != null)
        {
            currentWayPoint = 0;
        }
    }
示例#9
0
    // Use this for initialization
    void Start()
    {
        m_RouteMaster = GameObject.FindGameObjectWithTag(m_RouteTag);
        m_GameManager = GameObject.FindGameObjectWithTag("GameController").GetComponent <SMRTGameManager>();
        m_RouteComp   = m_RouteMaster.GetComponent <RouteScript>();
        m_Renderer    = gameObject.GetComponent <Renderer>();

        m_DistanceTravelled     = 0.0f;
        m_TimeInStation         = 0.0f;
        m_CurrentStationIndex   = 0;
        m_IncreaseToNextStation = true;
        m_Collidied             = false;
        m_LookAtCache           = GetGoToVector().normalized;
        UpdateTrain(GetCurrentStation(), GetGoToVector());
    }
示例#10
0
    private void Awake()
    {
        //Find Object (for Prefab)
        GameController = GameObject.Find("GameController");
        player         = GameObject.Find("Player").transform;

        controller = GameController.GetComponent <GameController>();

        TargetObj1 = Instantiate(TargetPrefab, transform.position, Quaternion.identity);
        TargetObj1.transform.parent = GameObject.Find("Target").transform;
        //TargetObj1.GetComponent<Renderer>().material.color = Color.blue;

        TargetObj2 = Instantiate(TargetPrefab, transform.position, Quaternion.identity);
        TargetObj2.transform.parent = GameObject.Find("Target").transform;
        //TargetObj2.GetComponent<Renderer>().material.color = Color.red;

        routeScript = gameObject.GetComponent <RouteScript>();

        //Debug.Log("routeScript" + routeScript.ToString());
    }
    void spawnNewGroup(RouteScript targetRoute)
    {
        List<EnemyGroupAttributes> listAvailableGroups = new List<EnemyGroupAttributes>();
        foreach(GameObject group in unitGroupList) {
            EnemyGroupAttributes temp = group.GetComponent<EnemyGroupAttributes>();
            if(temp.possibleRoutes.Contains(targetRoute.gameObject.name) && temp.spawnTimeLimit <= TotalSpawnTime) {
                listAvailableGroups.Add (temp);
            }
        }

        if(listAvailableGroups.Count < 1) {
            return;
        }

        int x = Random.Range (0, listAvailableGroups.Count);

        while(TotalSpawnTime < listAvailableGroups[x].spawnTimeLimit) {
            x = Random.Range (0, listAvailableGroups.Count);
        }

        StartCoroutine(createNewGroup(listAvailableGroups[x], targetRoute, listAvailableGroups[x].productionTime));
        targetRoute.isOccupied = true;
    }
    public void Start()
    {
        base.Start();

        enemyGroupAttributes = transform.parent.GetComponent<EnemyGroupAttributes>();
        routeScript = enemyGroupAttributes.routeScript;
        if(routeScript != null) {
            currentWayPoint = 0;
        }
    }