示例#1
0
    /// <summary>
    /// Move a general transform to a specified location.  If it is a room being moved to, then
    /// a random direction is used to try and avoid collisions of pieces.
    /// TODO: May come up with a better, more complex solution if more time permits
    /// </summary>
    /// <param name="transformToMove"></param>
    /// <param name="locID"></param>
    private void MoveTransformToLocation(Transform transformToMove, StandardEnums.LocationEnum locID)
    {
        Transform locationTransform = locationObjects[locID].transform;

        transformToMove.position = locationTransform.position + (-1.0F * locationTransform.forward);

        // this moves the object to a random direction within the location if that location is a room
        if (Enum.GetValues(typeof(StandardEnums.RoomEnum)).Cast <int>().Contains((int)locID))
        {
            int plusOrMinusRight = randomNumberGenerator.NextDouble() > 0.5 ? 1 : -1;
            int plusOrMinusUp    = randomNumberGenerator.NextDouble() > 0.5 ? 1 : -1;
            transformToMove.position = transformToMove.position +
                                       (2.0F * locationTransform.right * (float)randomNumberGenerator.NextDouble() * plusOrMinusRight) +
                                       (2.0F * locationTransform.up * (float)randomNumberGenerator.NextDouble() * plusOrMinusUp);
        }
    }
示例#2
0
 /// <summary>
 /// Move a weapon to a location
 /// </summary>
 /// <param name="weaponID"></param>
 /// <param name="locID"></param>
 private void MoveWeapon(StandardEnums.WeaponEnum weaponID, StandardEnums.LocationEnum locID)
 {
     MoveTransformToLocation(weaponGamePieces[weaponID].transform, locID);
 }
    public void GetHallwayLocations(StandardEnums.LocationEnum locationID, out string locNameOne, out string locNameTwo)
    {
        switch (locationID)
        {
        case StandardEnums.LocationEnum.BallKitch:
            locNameOne = locationNames[StandardEnums.LocationEnum.Ballroom];
            locNameTwo = locationNames[StandardEnums.LocationEnum.Kitchen];
            break;

        case StandardEnums.LocationEnum.BillBall:
            locNameOne = locationNames[StandardEnums.LocationEnum.BilliardRoom];
            locNameTwo = locationNames[StandardEnums.LocationEnum.Ballroom];
            break;

        case StandardEnums.LocationEnum.BillDin:
            locNameOne = locationNames[StandardEnums.LocationEnum.BilliardRoom];
            locNameTwo = locationNames[StandardEnums.LocationEnum.DiningRoom];
            break;

        case StandardEnums.LocationEnum.ConBall:
            locNameOne = locationNames[StandardEnums.LocationEnum.Conservatory];
            locNameTwo = locationNames[StandardEnums.LocationEnum.Ballroom];
            break;

        case StandardEnums.LocationEnum.DinKitch:
            locNameOne = locationNames[StandardEnums.LocationEnum.DiningRoom];
            locNameTwo = locationNames[StandardEnums.LocationEnum.Kitchen];
            break;

        case StandardEnums.LocationEnum.HallBill:
            locNameOne = locationNames[StandardEnums.LocationEnum.Hall];
            locNameTwo = locationNames[StandardEnums.LocationEnum.BilliardRoom];
            break;

        case StandardEnums.LocationEnum.HallLounge:
            locNameOne = locationNames[StandardEnums.LocationEnum.Hall];
            locNameTwo = locationNames[StandardEnums.LocationEnum.Lounge];
            break;

        case StandardEnums.LocationEnum.LibBill:
            locNameOne = locationNames[StandardEnums.LocationEnum.Library];
            locNameTwo = locationNames[StandardEnums.LocationEnum.BilliardRoom];
            break;

        case StandardEnums.LocationEnum.LibCon:
            locNameOne = locationNames[StandardEnums.LocationEnum.Library];
            locNameTwo = locationNames[StandardEnums.LocationEnum.Conservatory];
            break;

        case StandardEnums.LocationEnum.LoungeDin:
            locNameOne = locationNames[StandardEnums.LocationEnum.Lounge];
            locNameTwo = locationNames[StandardEnums.LocationEnum.DiningRoom];
            break;

        case StandardEnums.LocationEnum.StudyHall:
            locNameOne = locationNames[StandardEnums.LocationEnum.Study];
            locNameTwo = locationNames[StandardEnums.LocationEnum.Hall];
            break;

        case StandardEnums.LocationEnum.StudyLib:
            locNameOne = locationNames[StandardEnums.LocationEnum.Study];
            locNameTwo = locationNames[StandardEnums.LocationEnum.Library];
            break;

        default:
            throw new ArgumentException("An invalid hallway location was passed. ", "locationID");
        }
    }
示例#4
0
 /// <summary>
 /// Move a player to a location
 /// </summary>
 /// <param name="playerID"></param>
 /// <param name="locID"></param>
 private void MovePlayer(StandardEnums.PlayerEnum playerID, StandardEnums.LocationEnum locID)
 {
     MoveTransformToLocation(playerGamePieces[playerID].transform, locID);
 }
 public string GetLocationName(StandardEnums.LocationEnum locationID)
 {
     return(locationNames[locationID]);
 }