Exemple #1
0
        public static clientSkin saveDefaultSkin()
        {
            GameObject         hc   = UnityEngine.Object.Instantiate(HeroController.instance.gameObject);
            tk2dSpriteAnimator anim = hc.GetComponent <tk2dSpriteAnimator>();

            defaultSkin        = new clientSkin();
            defaultSkin.Name   = "Default Knight";
            defaultSkin.Author = "Team Cherry";
            defaultSkin.Knight = anim.GetClipByName("Idle").frames[0].spriteCollection.spriteDefinitions[0].material.mainTexture as Texture2D;
            defaultSkin.Sprint = anim.GetClipByName("Sprint").frames[0].spriteCollection.spriteDefinitions[0].material.mainTexture as Texture2D;
            defaultSkinLoaded  = true;
            return(defaultSkin);
        }
Exemple #2
0
 public void saveDefaultSkins()
 {
     if (savedDefaultSkins == false)
     {
         clientSkin defaultSkin = skinUtils.saveDefaultSkin();
         if (!skinManager.skinLoader.KnightMap.ContainsKey("defaultSkin"))
         {
             skinManager.skinLoader.KnightMap.Add("defaultSkin", defaultSkin);
         }
         skinUtils.patchAllSkins(skinManager.skinLoader.KnightMap);
         savedDefaultSkins = true;
     }
     return;
 }
Exemple #3
0
        public void updateRemotePlayerSkin(ClientPlayerData player, ushort skin)
        {
            var old = player.Skin;

            player.Skin = skin;
            clientSkin playerSkin = getSkinForIndex(skin);

            // Get the player object and update the skin
            SkinManager.updateTextureInMaterialPropertyBlock(player.PlayerObject, playerSkin.Knight);
            if (old != skin)
            {
                UI.UIManager.InfoBox.AddMessage($"Player '{player.Username}' is now {getSkinNameForIndex(skin)}");
            }
        }
Exemple #4
0
 public static clientSkin patchSkinWithDefault(clientSkin source)
 {
     if (!defaultSkinLoaded)
     {
         return(source);
     }
     if (source.Sprint == null)
     {
         source.Sprint = defaultSkin.Sprint;
     }
     if (source.Knight == null)
     {
         source.Knight = defaultSkin.Knight;
     }
     return(source);
 }
Exemple #5
0
        public void updateLocalPlayerSkin(ushort skin)
        {
            var old = LocalPlayerSkin;

            LocalPlayerSkin = skin;

            GameObject player     = HeroController.instance.gameObject;
            clientSkin playerSkin = getSkinForIndex(skin);

            var anim = player.GetComponent <tk2dSpriteAnimator>();

            anim.GetClipByName("Idle").frames[0].spriteCollection.spriteDefinitions[0].material.mainTexture   = playerSkin.Knight;
            anim.GetClipByName("Sprint").frames[0].spriteCollection.spriteDefinitions[0].material.mainTexture = playerSkin.Sprint;
            if (old != skin)
            {
                //todo network call here
                _serverKnightsManager.sendServerKnightUpdate(0, (ushort)skin);
                UI.UIManager.InfoBox.AddMessage($"You are now {getSkinNameForIndex(skin)}");
            }
        }