public void SetRoomProperties(Room.RoomDirections _directions, ushort _treasureAmount, byte _containsMonster, byte _containsExit) { if (_treasureAmount > 0) { ChestObject.SetActive(true); ChestObject.GetComponent <Chest>().TreasureAmount = _treasureAmount; } else { ChestObject.SetActive(false); } if (_containsMonster > 0) { MonsterObject.SetActive(true); ResetMonster(); } else { MonsterObject.SetActive(false); } if (_containsExit > 0) { DungeonExitObject.SetActive(true); } else { DungeonExitObject.SetActive(false); } CurrentDirections = _directions; //Debug.Log(Convert.ToString((int)CurrentDirections, 2).PadLeft(4, '0')); for (int i = 0; i < directionDoors.Length; i++) { directionDoors[i].SetActive(false); } //TODO Clean this piece up with a switch or something? Idk. if (CurrentDirections.HasFlag(Room.RoomDirections.North)) { directionDoors[0].SetActive(true); } if (CurrentDirections.HasFlag(Room.RoomDirections.East)) { directionDoors[1].SetActive(true); } if (CurrentDirections.HasFlag(Room.RoomDirections.South)) { directionDoors[2].SetActive(true); } if (CurrentDirections.HasFlag(Room.RoomDirections.West)) { directionDoors[3].SetActive(true); } }
public override void DeserializeObject(ref DataStreamReader reader) { base.DeserializeObject(ref reader); MoveDirection = (Room.RoomDirections)reader.ReadByte(); }