void IActivate.Activate(ActivateEventArgs eventArgs)
        {
            if (!eventArgs.User.TryGetComponent(out ActorComponent? actor))
            {
                return;
            }

            if (!eventArgs.User.TryGetComponent(out HumanoidAppearanceComponent? looks))
            {
                Owner.PopupMessage(eventArgs.User, Loc.GetString("magic-mirror-component-activate-user-has-no-hair"));
                return;
            }

            UserInterface?.Toggle(actor.PlayerSession);

            var appearance = looks.Appearance;

            var msg = new MagicMirrorInitialDataMessage(
                appearance.HairColor,
                appearance.FacialHairColor,
                appearance.HairStyleId,
                appearance.FacialHairStyleId,
                appearance.EyeColor,
                looks.CategoriesHair,
                looks.CategoriesFacialHair,
                looks.CanColorHair,
                looks.CanColorFacialHair);

            UserInterface?.SendMessage(msg, actor.PlayerSession);
        }
        void IActivate.Activate(ActivateEventArgs eventArgs)
        {
            if (!eventArgs.User.TryGetComponent(out IActorComponent? actor))
            {
                return;
            }

            if (!eventArgs.User.TryGetComponent(out HumanoidAppearanceComponent? looks))
            {
                Owner.PopupMessage(eventArgs.User, Loc.GetString("You can't have any hair!"));
                return;
            }

            UserInterface?.Toggle(actor.playerSession);

            var appearance = looks.Appearance;

            var msg = new MagicMirrorInitialDataMessage(
                appearance.HairColor,
                appearance.FacialHairColor,
                appearance.HairStyleName,
                appearance.FacialHairStyleName,
                appearance.EyeColor);

            UserInterface?.SendMessage(msg, actor.playerSession);
        }
Beispiel #3
0
        public void Activate(ActivateEventArgs eventArgs)
        {
            if (!eventArgs.User.TryGetComponent(out IActorComponent actor))
            {
                return;
            }

            if (!eventArgs.User.TryGetComponent(out HumanoidAppearanceComponent looks))
            {
                Owner.PopupMessage(eventArgs.User, Loc.GetString("You can't have any hair!"));
                return;
            }

            _userInterface.Open(actor.playerSession);

            var msg = new MagicMirrorInitialDataMessage(looks.Appearance.HairColor, looks.Appearance.FacialHairColor, looks.Appearance.HairStyleName,
                                                        looks.Appearance.FacialHairStyleName);

            _userInterface.SendMessage(msg, actor.playerSession);
        }
 public void SetInitialData(MagicMirrorInitialDataMessage initialData)
 {
     _facialHairStylePicker.SetData(initialData.FacialHairColor, initialData.FacialHairId, initialData.CategoriesFacialHair, initialData.CanColorFacialHair);
     _hairStylePicker.SetData(initialData.HairColor, initialData.HairId, initialData.CategoriesHair, initialData.CanColorHair);
     _eyeColorPicker.SetData(initialData.EyeColor);
 }