private void ExitWithoutSaving(MenuItemStandard m)
        {
            //Log.ToChat( "CharacterEditorMenu ExitWithoutSaving" );
            Root.cleanCloseMenu();
            var pedData = JsonConvert.DeserializeObject <PedData>(Client.Instance.Instances.Session.GetPlayer(Game.Player).GetGlobalData("Character.SkinData", ""));

            CharacterEditorMenu.handleSkinCreate(pedData);
        }
Esempio n. 2
0
 public SkinHandler(Client client) : base(client)
 {
     client.RegisterEventHandler("Skin.LoadPlayerSkin", new Action <dynamic>(data =>
     {
         CharacterEditorMenu.handleSkinCreate(data == null ? CharacterEditorMenu.skinData : data);
     }));
     client.RegisterEventHandler("Skin.StartCharacterCreation", new Action <int>(async playerHome =>
     {
         CharacterEditorMenu charMenu = new CharacterEditorMenu();
         while (charMenu.Observer.CurrentMenu != null)
         {
             Client.Get <Arrest>().DisableActions();
             Game.PlayerPed.Task.ClearAll();
             await BaseScript.Delay(0);
         }
         //if (playerHome != 0) TriggerEvent("spawnPlayerHome", playerHome);
     }));
     client.RegisterEventHandler("Skin.UpdatePlayerSkinData", new Action <dynamic>(skinData => CharacterEditorMenu.skinData = skinData));
     client.RegisterEventHandler("Skin.SaveCurrentOutfit", new Action <string>(handleOutfitCreate));
     client.Get <InteractionUI>().RegisterInteractionMenuItem(new MenuFramework.MenuItemStandard
     {
         Title      = "Clothing Store",
         OnActivate = state =>
         {
             new CharacterEditorMenu(true);
             InteractionUI.Observer.CloseMenu(true);
         }
     }, () => clothingStoreLocaitons.Any(o => o.DistanceToSquared(Game.PlayerPed.Position) < 5.0f), 500);
     BlipHandler.AddBlip("Clothing store", clothingStoreLocaitons, new BlipOptions
     {
         Sprite = BlipSprite.Clothes
     });
     MarkerHandler.AddMarker(clothingStoreLocaitons);
     client.RegisterEventHandler("Skin.RefreshSkin", new Action(RefreshPlayerSkin));
     client.RegisterEventHandler("Player.OnLoginComplete", new Action(RefreshPlayerSkin));
     client.RegisterEventHandler("Player.CheckForInteraction", new Action(() =>
     {
         if (clothingStoreLocaitons.Any(o => o.DistanceToSquared(Game.PlayerPed.Position) < 5.0f))
         {
             new CharacterEditorMenu(true);
         }
     }));
     client.RegisterEventHandler("Player.OnSkinLoaded", new Action(() => canRefreshSkin = false));
     CommandRegister.RegisterCommand("refreshskin", async cmd =>
     {
         if (!canRefreshSkin)
         {
             return;
         }
         await cmd.Session.UpdateData("Character.SkinData");
         RefreshPlayerSkin();
     });
 }
Esempio n. 3
0
        public async void RefreshPlayerSkin()
        {
            while (LocalSession == null)
            {
                await BaseScript.Delay(0);
            }

            if (!string.IsNullOrEmpty(LocalSession.GetGlobalData("Character.SkinData", "")))
            {
                var pedData = JsonConvert.DeserializeObject <PedData>(LocalSession.GetGlobalData("Character.SkinData", ""));
                CharacterEditorMenu.handleSkinCreate(pedData);
            }
            else
            {
                //BaseScript.TriggerEvent("Skin.StartCharacterCreation");
            }
        }