/// <summary> /// Updates a player's skin data and invokes <see cref="SkinDataUpdated"/> /// </summary> /// <param name="skinData"></param> public void UpdateSkinData(PlayerSkinData skinData) { SkinTexture = skinData; SkinDataUpdated?.Invoke(this, new PlayerSkinUpdatedEventArgs() { SkinData = skinData }); }
public void SetSkin(PlayerSkinData skinData) { var skins = skinData.GetSkins(); if (_places == null) { _places = GetComponentsInChildren <PlayerPlace>(); } foreach (var place in _places) { foreach (var skin in skins) { place.SetSkin(skin); } } foreach (var place in _places) { place.UsedCompleat(); } }
private static List <PlayerSkinData> GetPlayerSkinDataList(CharacterType characterType) { List <PlayerSkinData> skins = new List <PlayerSkinData>(); SkinHelper hlp = new SkinHelper(); if (hlp.HasSkins(characterType)) { Dictionary <int, Dictionary <int, List <int> > > skindata = hlp.GetSkins(characterType); for (int skinId = 0; skinId < skindata.Count; skinId++) { PlayerSkinData playerSkinData = new PlayerSkinData(); playerSkinData.Unlocked = true; playerSkinData.Patterns = new List <PlayerPatternData>(); Dictionary <int, List <int> > patterndata = null; if (!skindata.TryGetValue(skinId, out patterndata)) { playerSkinData.Patterns.Add(new PlayerPatternData { Unlocked = true, Colors = new List <PlayerColorData> { new PlayerColorData { Unlocked = true } } }); continue; } for (int patternId = 0; patternId < patterndata.Count; patternId++) { PlayerPatternData playerPatternData = new PlayerPatternData(); playerPatternData.Unlocked = true; playerPatternData.Colors = new List <PlayerColorData>(); List <int> colordata = null; if (!patterndata.TryGetValue(patternId, out colordata)) { playerPatternData.Colors.Add(new PlayerColorData { Unlocked = true }); continue; } foreach (int colorID in colordata) { PlayerColorData playerColorData = new PlayerColorData(); playerColorData.Unlocked = true; playerPatternData.Colors.Add(playerColorData); } playerSkinData.Patterns.Add(playerPatternData); } skins.Add(playerSkinData); } } else { for (int i = 0; i < 5; i++) { PlayerSkinData item = new PlayerSkinData() { Unlocked = true, Patterns = new List <PlayerPatternData> { new PlayerPatternData { Colors = new List <PlayerColorData> { new PlayerColorData { Unlocked = true } }, Unlocked = true } } }; skins.Add(item); } } return(skins); }