Beispiel #1
0
 /// <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
     });
 }
Beispiel #2
0
    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();
        }
    }
Beispiel #3
0
        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);
        }