/// <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); } }
/// <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"); } }
/// <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]); }