Esempio n. 1
0
    public void Construct(MoveState ms, StayState ss, FallingState fs)
    {
        _stateMap.Add(SphereState.Stay, ss);
        _stateMap.Add(SphereState.Move, ms);
        _stateMap.Add(SphereState.Falling, fs);

        _currentState = ss;
    }
Esempio n. 2
0
        /// <summary>
        /// Call this to kill the person.
        /// </summary>
        public override void Death()
        {
            // Set the staying state to none and empty the occupied room
            if (StayState == StayState.Staying)
            {
                Room.Guest = null;
                StayState  = StayState.None;
            }

            // Set an emergency in this room.
            if (CurrentRoom.State != RoomState.Emergency && CurrentRoom.State != RoomState.InCleaning)
            {
                CurrentRoom.SetEmergency(8);
            }

            base.Death();
        }
Esempio n. 3
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="room">The room to spawn the guest in.</param>
        public Guest(Room room) : base(room)
        {
            // Create a new name generator.
            NameGenerator generator = new NameGenerator();

            // Make this guest a boy or a girl.
            if (_random.Next(0, 2) == 0)
            {
                Gender = Gender.Male;
                Sprite.LoadSprite("Guest");
            }
            else
            {
                Gender = Gender.Female;
                Sprite.LoadSprite("FemaleGuest");
            }

            // We dont have a staystate when this guest is spawned in.
            StayState = StayState.None;

            // Give this person a name.
            Name = generator.GenerateName(Gender);
        }