public void AddCustomKnightHandlers() { SkinManager.OnSetSkin += (_, e) => { var skin = SkinManager.GetCurrentSkin(); var currDirIsLeft = false; if (HeroController.instance != null && HeroController.instance.transform.localScale.x < 0) { currDirIsLeft = true; } if (lastSkin != skin.GetId()) { Knight = new Asymmetrical(CustomKnight.Knight.NAME); Sprint = new Asymmetrical(CustomKnight.Sprint.NAME); Unn = new Asymmetrical(CustomKnight.Unn.NAME); Knight.GetTexture(skin, currDirIsLeft); Unn.GetTexture(skin, currDirIsLeft); Sprint.GetTexture(skin, currDirIsLeft); lastSkin = skin.GetId(); } }; }
public void UpdateSkin() { var skin = SkinManager.GetCurrentSkin(); var currDirIsLeft = HeroController.instance.transform.localScale.x > 0; if (lastSkin != skin.GetId()) { Knight = new Asymmetrical(CustomKnight.Knight.NAME); Sprint = new Asymmetrical(CustomKnight.Sprint.NAME); Unn = new Asymmetrical(CustomKnight.Unn.NAME); Knight.GetTexture(skin, currDirIsLeft); Unn.GetTexture(skin, currDirIsLeft); Sprint.GetTexture(skin, currDirIsLeft); lastSkin = skin.GetId(); } if (currDirIsLeft != lastDirWasLeft) { var knight = Knight.GetTexture(skin, currDirIsLeft); var unn = Unn.GetTexture(skin, currDirIsLeft); var sprint = Sprint.GetTexture(skin, currDirIsLeft); if (knight != null) { SkinManager.Skinables[CustomKnight.Knight.NAME].ApplyTexture(knight); } if (sprint != null) { SkinManager.Skinables[CustomKnight.Sprint.NAME].ApplyTexture(sprint); } if (unn != null) { SkinManager.Skinables[CustomKnight.Unn.NAME].ApplyTexture(unn); } lastDirWasLeft = currDirIsLeft; } }