Exemple #1
0
    private void ChangeToState_Traveling(RARC_RoomTab roomToWorkIn)
    {
        //Reset Timer
        currentTimeInState = 0;

        //Set Working Room
        currentWorkingRoom = roomToWorkIn;

        //Set Goal Spot
        if (currentWorkingRoom.currentFloorLevel == crewCurrentShipFloor)
        {
            crewPositionalGoal_GO = RARC_CrewBotsController.Instance.GetTravelingPosition(currentWorkingRoom, gameObject.transform.position);
            Utility_SetFacingDirection();
            isGoingInElevator = false;
        }
        else
        {
            crewPositionalGoal_GO = RARC_CrewBotsController.Instance.GetClosestElevatorPosition(crewCurrentShipFloor);
            Utility_SetFacingDirection();
            //Utlity_CalculateDirectionOfElevator();
            isGoingInElevator = true;
        }

        //Set Animator
        Utility_SetAnimation_Walk();

        //Change To Wandering
        crewCurrent_State = CrewState.Traveling;
    }
Exemple #2
0
    /////////////////////////////////////////////////////////////////

    public GameObject GetWanderingNodePosition(int shipFloorLevel, Vector3 currentMemberPosition)
    {
        //Filter Rooms On Level Then Grab a Room Then Grab a Node In Room
        List <RARC_RoomTab> roomsOnFloorLevel_List = RARC_RoomsController.Instance.GetRoomsOnFloorLevel(shipFloorLevel);
        RARC_RoomTab        selectedRoom           = roomsOnFloorLevel_List[Random.Range(0, roomsOnFloorLevel_List.Count)];

        return(selectedRoom.GetRandomNode(currentMemberPosition));
    }
Exemple #3
0
    public void SpawnCrewInRoom(RARC_RoomTab roomTab, RARC_Crew newCrewMember)
    {
        Vector3 spawnPoint = roomTab.GetRandomNode(new Vector3(0, 0, 0)).transform.position;

        GameObject newCrewMember_GO = Instantiate(crew_Prefab, crew_Container.transform);

        newCrewMember_GO.transform.position = spawnPoint;

        //Set Crew Info For Current Level
        newCrewMember_GO.GetComponent <RARC_CrewAgent>().crewCurrentShipFloor = roomTab.currentFloorLevel;
    }
Exemple #4
0
 public GameObject GetTravelingPosition(RARC_RoomTab workstationRoomTab, Vector3 currentMemberPosition)
 {
     //Filter Rooms On Level Then Grab a Room Then Grab a Node In Room
     return(workstationRoomTab.GetRandomNode(currentMemberPosition));
 }