// Use this for initialization void Awake() { if (instance == null) { instance = this; } else { return; } MapGenerator mapGenerator = GetComponent <MapGenerator>(); int gameLv1 = MainData.Instance().gameLv1; int gameLv2 = MainData.Instance().gameLv2; mapGenerator.Generate(gameLv1, gameLv2); ballNum = mapGenerator.GoalNum; goals = GameObject.FindGameObjectsWithTag("Goal"); balls = GameObject.FindGameObjectsWithTag("Ball"); walls = GameObject.FindGameObjectsWithTag("Wall"); if (ClearTime == 0f) { ClearTime = 1f; } _ui = FindObjectOfType <GameUIManager>(); AudioManager.Instance().GameStart(); }
public void OnClickSetting(Button b) { Setting.SetActive(!Setting.activeSelf); Button[] buttons = GetComponentsInChildren <Button>(); foreach (Button button in buttons) { bool isMuted; if (button.name.Contains("BGM")) { isMuted = MainData.Instance().BGMmute; } else { isMuted = MainData.Instance().EffectMute; } if (isMuted) { button.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/MusicImageMute"); } else { button.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/MusicImagePlay"); } } }
Vector3 ReducedAcceleration() { Vector3 ac = Input.acceleration; ac *= MainData.Instance().sensitivity; return(new Vector3(ac.x, 0, ac.y)); }
void loadGoldView() { GameObject commonUIPrefab = Resources.Load("Prefabs/DiamondItem") as GameObject; diamondObjectList = new List <GameObject>(); for (int i = 0; i < MainData.Instance().diamondList.Length; i++) { GameObject diamond = Instantiate(commonUIPrefab) as GameObject; float width = diamond.GetComponent <RectTransform>().sizeDelta.x; diamond.transform.parent = GameObject.Find(gameObject.name + "/BackGround").transform; diamond.name = "" + i; diamond.transform.localPosition = new Vector3(-300 + i * width, -70, 0); diamond.transform.localScale = new Vector3(1, 1, 0); Diamond goods = MainData.Instance().diamondList[i]; Text DiamondNum = gameObject.Find <Text>(diamond.name + "/DiamondNum"); Text money = gameObject.Find <Text>(diamond.name + "/BuyBtn/Money"); DiamondNum.text = goods.number.ToString() + " 钻"; money.text = "¥ " + goods.price.ToString(); Button buyBtn = gameObject.Find <Button>(diamond.name + "/BuyBtn"); buyBtn.onClick.AddListener(() => { PurchaseToIOS.purchaseProductWithID(gameObject.name, goods.charge_goods_id); }); diamondObjectList.Add(diamond); } }
private void Start() { if (MainData.Instance().isPlaying) { OnClickGameStart(null); ChangeLevelImage(MainData.Instance().gameLv1); } }
public void OnClickNumber(Button b) { int lv2 = int.Parse(b.transform.name); MainData.Instance().gameLv2 = lv2; MainData.Instance().isPlaying = true; UnityEngine.SceneManagement.SceneManager.LoadScene("Game"); }
/** * 玩家坐下请求 */ public void RoomPlayerSitdownReq() { RoomPlayerSitdownReq roomPlayerSitdownReq = new RoomPlayerSitdownReq(); roomPlayerSitdownReq.TableId = MainData.Instance().tableInfo.Id; NetCore.Instance.Send(Api.ENetMsgId.room_player_sitdown_req, roomPlayerSitdownReq); }
/** * 玩家下注请求 */ public void RoomPlayerBetReq(int betNum) { RoomPlayerBetReq roomPlayerBetReq = new RoomPlayerBetReq(); roomPlayerBetReq.TableId = MainData.Instance().tableInfo.Id; roomPlayerBetReq.Bet = betNum; NetCore.Instance.Send(Api.ENetMsgId.room_player_bet_req, roomPlayerBetReq); }
/** * 请求牌桌信息 */ public void RoomGetTableReq() { RoomGetTableReq roomGetTableReq = new RoomGetTableReq(); roomGetTableReq.RoomId = MainData.Instance().roomId; roomGetTableReq.TableId = MainData.Instance().tableInfo.Id; NetCore.Instance.Send(Api.ENetMsgId.room_get_table_req, roomGetTableReq); }
/** * 牌桌发送聊天消息 */ public void RoomTableChatReq(byte[] body) { RoomTableChatReq roomTableChatReq = new RoomTableChatReq(); roomTableChatReq.Id = MainData.Instance().tableInfo.Id; roomTableChatReq.Body = ByteString.AttachBytes(body); NetCore.Instance.Send(Api.ENetMsgId.room_table_chat_req, roomTableChatReq); }
/** * 检查凭证是否有效 */ public static void checkReceiptIsValid(string productID, string receipt, string uuid, GameObject gameObject) { Dictionary <string, object> receiptDict = new Dictionary <string, object>(); receiptDict.Add("apple_data", receipt); receiptDict.Add("user_id", UserManager.Instance().authModel.user_id); receiptDict.Add("charge_goods_id", productID); receiptDict.Add("price", MainData.Instance().getGoodsPrice(productID)); receiptDict.Add("uuid", uuid); // 发送之前先des加密 string RSAString = DESBase64.DesEncryptWithKey(JsonMapper.ToJson(receiptDict), DESBase64.purchaseKey); Dictionary <string, object> RSADic = new Dictionary <string, object>(); RSADic.Add("data", RSAString); HttpUtil.Http.Post(URLManager.appStoreCheckPurchaseCertUrl).Form(RSADic).OnSuccess(result => { Debug.Log("OnSuccess: result------------------" + result); Dictionary <string, object> resultDict = JsonMapper.ToObject <Dictionary <string, object> >(result); string code = resultDict["code"].ToString(); int codeInt = int.Parse(code); if (codeInt == 1) // 凭证验证成功 { removeReceipt(uuid); // 刷新主界面的信息 UserInfoRefreshManager.refreshUserInfo(null); PopUtil.ShowMessageBoxWithConfirm("提示", "购买成功!"); } else if (codeInt == -1) // 服务器凭证验证成功但是数据操作异常,需要重新发送一次 { PopUtil.ShowMessageBoxWithConfirmAndCancle("提示", "购买失败!点击确定重试!", () => { // 点击重新发送服务器验证 checkReceiptIsValid(productID, receipt, uuid, gameObject); }, () => { // 取消存储在本地,下次启动时候发送 saveReceipt(receiptDict, uuid); }); } else if (codeInt == 0) // 凭证无效 { removeReceipt(uuid); PopUtil.ShowMessageBoxWithConfirm("提示", "购买失败!"); } }).OnFail(result => { Debug.Log("OnFail: result------------------" + result); // 网络问题 PopUtil.ShowMessageBoxWithConfirmAndCancle("提示", "购买失败!点击确定重试!", () => { // 点击重新发送服务器验证 checkReceiptIsValid(productID, receipt, uuid, gameObject); }, () => { // 取消存储在本地,下次启动时候发送 saveReceipt(receiptDict, uuid); }); }).GoSync(); }
public void OnClickSetting() { Setting.SetActive(!Setting.activeSelf); Transform view = Setting.transform.GetChild(0).GetChild(0); view.GetComponentInChildren <Slider>().value = MainData.Instance().sensitivity; view.Find("MusicButtonBGM").GetComponent <Image>().sprite = MainData.Instance().BGMmute ? MusicMute : MusicPlay; view.Find("MusicButtonEffect").GetComponent <Image>().sprite = MainData.Instance().EffectMute ? MusicMute : MusicPlay; }
// Use this for initialization void Start() { ShoppingHandle.getDiamondList((error, resultList) => { if (error == null) { MainData.Instance().diamondList = resultList.list; loadGoldView(); } }); }
public void OnClickStageButton(Button button) { string lv1 = button.transform.parent.name.Substring(5); Debug.Log(lv1); string lv2 = button.name.Substring(1); Debug.Log(lv2); MainData.Instance().gameLv1 = int.Parse(lv1); MainData.Instance().gameLv2 = int.Parse(lv2); UnityEngine.SceneManagement.SceneManager.LoadScene("Game"); }
private void Start() { reConnectHandle = new ReConnectHandle(); NetCore.Instance.registHandle(reConnectHandle); // 设置断开连接的回调方法 NetCore.Instance.DisConnectAction = DisConnect; // 设置重连成功的回调方法(只有在没有登录的情况调用) NetCore.Instance.ReConnectSuccessAction = ReconnectSuccess; // 设置重连失败的回调方法 NetCore.Instance.ReConnectFailAction = ReconnectFail; // 玩家断线重连 牌桌信息回复 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_reconnect_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_reconnect_ack, (roomPlayerReconnectAck) => { NetProto.RoomPlayerReconnectAck roomPlayerReconnectAction = (NetProto.RoomPlayerReconnectAck)roomPlayerReconnectAck; // 表示玩家不在牌桌上,留在当前界面 if (roomPlayerReconnectAction.BaseAck.Ret == 0) { this.isShow = false; if (gameObject.scene.name.Equals("dynamic_room")) { // 表示玩家不在牌桌上,返回首页 Application.LoadLevel("main"); } } else { MainData.Instance().tableInfo = roomPlayerReconnectAction.Table; bool isUpdateSelfInfo = false; for (int i = 0; i < roomPlayerReconnectAction.Table.Players.Count; i++) { NetProto.PlayerInfo info = roomPlayerReconnectAction.Table.Players[i]; if (UserManager.Instance().authModel.user_id == info.Id) { isUpdateSelfInfo = true; MainData.Instance().selfInfo = info; break; } } if (isUpdateSelfInfo) { Application.LoadLevel("dynamic_room"); } else { // 表示玩家不在牌桌上,返回首页 Application.LoadLevel("main"); } } }); }
public void OnClickNext(Button b) { int lv1now = MainData.Instance().gameLv1; if (lv1now == 3) { return; } else { MainData.Instance().gameLv1 = lv1now + 1; } ChangeLevelImage(lv1now + 1); }
// Use this for initialization void Start() { // add purchaseToIOS component gameObject.AddComponent <PurchaseToIOS>(); ShoppingHandle.getChargeGoodsList((error, resultList) => { if (error == null) { MainData.Instance().chargeGoods = resultList.list; loadGoldView(); } }); }
public void OnClickEffectButton(Button button) { bool isMuted = !MainData.Instance().EffectMute; if (isMuted) { button.GetComponent <Image>().sprite = MusicMute; } else { button.GetComponent <Image>().sprite = MusicPlay; } MainData.Instance().EffectMute = isMuted; }
AudioSource CreateEffect(string path) { if (MainData.Instance().EffectMute) { return(null); } GameObject effect = Instantiate(SoundEffect); effect.transform.SetParent(gameObject.transform); AudioClip clip = Resources.Load("Musics/" + path) as AudioClip; effect.GetComponent <AudioSource>().clip = clip; effect.GetComponent <AudioSource>().Play(); return(effect.GetComponent <AudioSource>()); }
public void OnClickBGMButton(Button button) { bool isMuted = !MainData.Instance().BGMmute; AudioManager.Instance().GetComponent <AudioSource>().mute = isMuted; if (isMuted) { button.GetComponent <Image>().sprite = MusicMute; } else { button.GetComponent <Image>().sprite = MusicPlay; } MainData.Instance().BGMmute = isMuted; }
void loadGoldView() { GameObject commonUIPrefab = Resources.Load("Prefabs/GoldsItem") as GameObject; goldsObjectList = new List <GameObject>(); for (int i = 0; i < MainData.Instance().chargeGoods.Length; i++) { ChargeGoodsInfo chargeGoods = MainData.Instance().chargeGoods[i]; GameObject golds = Instantiate(commonUIPrefab) as GameObject; float width = golds.GetComponent <RectTransform>().sizeDelta.x; golds.transform.parent = GameObject.Find("GoldContent/Viewport/Content").transform; golds.name = "GoldsItem" + i; golds.transform.localPosition = new Vector3(300 + i % 3 * (width + 150), -300 - (i / 3 * 400), 0); golds.transform.localScale = new Vector3(1, 1, 0); //Image GoldTypeImage = golds.Find<Image>("GoldContent/Viewport/Content/"+golds.name +"/TopImage/GoldTypeImage"); Text MondyText = golds.Find <Text>("GoldContent/Viewport/Content/" + golds.name + "/TopImage/MondyText"); Text ConversionText = golds.Find <Text>("GoldContent/Viewport/Content/" + golds.name + "/TopImage/ConversionText"); Text DiamondText = golds.Find <Text>("GoldContent/Viewport/Content/" + golds.name + "/DiamondImage/DiamondText"); //GoldTypeImage.SetWebImage(chargeGoods.image, ""); MondyText.text = chargeGoods.price + "万"; ConversionText.text = chargeGoods.goods_describe; DiamondText.text = chargeGoods.price.ToString(); golds.GetComponent <Button>().onClick.AddListener(() => { if (UserManager.Instance().userInfo.diamond_balance < chargeGoods.price) { PopUtil.ShowMessageBoxWithConfirm("提示", "钻石不够啦,赶紧去买!"); return; } ShoppingHandle.exchargeDiamond(chargeGoods.id.ToString(), (error) => { if (error == null) { PopUtil.ShowMessageBoxWithConfirm("提示", "兑换成功!"); UserInfoRefreshManager.refreshUserInfo(null); } else { PopUtil.ShowMessageBoxWithConfirm("提示", "兑换失败"); } }); }); goldsObjectList.Add(golds); } }
public void OnDebugLvSelectorExit(InputField inputField) { string text = inputField.text; if (text.Length != 3 || inputField.text[1] != '-' || !char.IsNumber(text[0]) || !char.IsNumber(text[2])) { Debug.Log("The input field is wrong."); inputField.text = ""; } else { MainData.Instance().gameLv1 = int.Parse(char.ToString(inputField.text[0])); MainData.Instance().gameLv2 = int.Parse(char.ToString(inputField.text[2])); Debug.Log("setting the level is complete."); } }
// 初始化房间信息 public void InitRoomInfo() { if (MainData.Instance() == null || MainData.Instance().tableInfo == null) { return; } PlayerInfo selfInfo = MainData.Instance().selfInfo; TableInfo tableInfo = MainData.Instance().tableInfo; // 初始化Info mGameControler.InitInfo(selfInfo, tableInfo); // 初始化玩家信息 mGameControler.InitPlayerInfo(tableInfo.Players); // 当前玩家数大于3(玩家数中包括自己)且牌局还未结束,初始化牌桌信息 if (tableInfo.N >= 2 && tableInfo.Status == 1) { // 初始化公共牌信息 mGameControler.InitPublicCardInfo(tableInfo.Cards); // 初始化底池 mGameControler.InitPotInfo(tableInfo.Pot); // 初始化玩家手牌信息 mGameControler.InitPlayerHandCard(tableInfo.Players); // 初始化已下注筹码 mGameControler.InitPlayerChips(tableInfo.Players); // 光标转到当前玩家 mGameControler.TrunCurrentPalyer(tableInfo.Players, tableInfo.Bet); // 设置庄家位置 mGameControler.SetDealer(tableInfo.Button); } else { mGameControler.SetPlayerReadyAction(tableInfo.Players); } }
public void toRoom(int roomId) { NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_get_table_ack, (tableAction) => { RoomGetTableAck tableAck = (RoomGetTableAck)tableAction; MainData.Instance().roomId = roomId; MainData.Instance().tableInfo = tableAck.Table; for (int i = 0; i < tableAck.Table.Players.Count; i++) { PlayerInfo info = tableAck.Table.Players[i]; if (UserManager.Instance().authModel.user_id == info.Id) { MainData.Instance().selfInfo = info; break; } } Debug.Log("牌桌id: " + MainData.Instance().tableInfo.Id); Application.LoadLevel("dynamic_room"); }); mainHandle.roomPlayerJoinReq(roomId); }
public void OnClickSoundButton(Button button) { bool isMuted; if (button.name.Contains("BGM")) { isMuted = !MainData.Instance().BGMmute; MainData.Instance().BGMmute = isMuted; AudioManager.Instance().GetComponent <AudioSource>().mute = isMuted; } else { isMuted = !MainData.Instance().BGMmute; MainData.Instance().BGMmute = isMuted; } if (isMuted) { button.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/MusicImageMute"); } else { button.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/MusicImagePlay"); } }
// Use this for initialization void Start() { /* 注册请求 */ mGameHandle = new GameHandle(); NetCore.Instance.registHandle(mGameHandle); mGameControler = GetComponent <GameControler>(); mGameControler.mGameHandle = mGameHandle; mButtonControler = GetComponent <ButtonControler>(); mButtonControler.mGameHandle = mGameHandle; mChatControler = GetComponent <ChatControler>(); mChatControler.mGameHandle = mGameHandle; // 初始化房间信息 InitRoomInfo(); // 通知更新牌桌(换桌的时候会通知一次) NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_get_table_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_get_table_ack, (roomGetTableAck) => { NetProto.RoomGetTableAck roomGetTableAction = (NetProto.RoomGetTableAck)roomGetTableAck; MainData.Instance().tableInfo = roomGetTableAction.Table; foreach (var playerInfo in roomGetTableAction.Table.Players) { if (UserManager.Instance().authModel.user_id == playerInfo.Id) { MainData.Instance().selfInfo = playerInfo; break; } } // 重置UI mGameControler.ResetUIAfterChangeTable(); // 初始化房间信息 InitRoomInfo(); // 隐藏换桌加载组件 mGameControler.SetChangeTableLoadingActive(false); }); // 玩家加入游戏 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_join_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_join_ack, (roomPlayerJoinAck) => { RoomPlayerJoinAck roomPlayerJoinAction = (RoomPlayerJoinAck)roomPlayerJoinAck; // 更新玩家信息 mGameControler.UpdateAfterPlayerJoin(roomPlayerJoinAction.Player); }); // 玩家离开游戏 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_gone_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_gone_ack, (roomPlayerGoneAck) => { RoomPlayerGoneAck roomPlayerGoneAction = (RoomPlayerGoneAck)roomPlayerGoneAck; // 更新玩家信息 mGameControler.UpdateAfterPlayerGone(roomPlayerGoneAction.Player); }); // 通报庄家 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_button_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_button_ack, (roomButtonAck) => { RoomButtonAck roomButtonAction = (RoomButtonAck)roomButtonAck; // 设置庄家 mGameControler.SetDealer(roomButtonAction.ButtonPos); }); // 发牌 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_deal_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_deal_ack, (roomDealAck) => { RoomDealAck roomDealAction = (RoomDealAck)roomDealAck; string cardType = CardInfoUtil.GetCardType(roomDealAction.HandLevel); switch (roomDealAction.Action) { case CardInfoUtil.ACTION_PREFLOP: mGameControler.DealHandCard(roomDealAction.Cards, cardType); break; case CardInfoUtil.ACTION_FLOP: mGameControler.DealPublicCard(roomDealAction.Cards, cardType); break; case CardInfoUtil.ACTION_TURN: mGameControler.DealPublicCard(roomDealAction.Cards, cardType); break; case CardInfoUtil.ACTION_RIVER: mGameControler.DealPublicCard(roomDealAction.Cards, cardType); break; default: break; } }); // 通报当前下注玩家 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_action_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_action_ack, (roomActionAck) => { RoomActionAck roomActionAction = (RoomActionAck)roomActionAck; mGameControler.TurnNext(roomActionAction.Pos, roomActionAction.BaseBet); }); // 玩家押注 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_bet_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_bet_ack, (roomPlayerBetAck) => { RoomPlayerBetAck roomPlayerBetAction = (RoomPlayerBetAck)roomPlayerBetAck; if (roomPlayerBetAction.Action.Equals(PlayerInfoUtil.ACTION_FLOD)) { mGameControler.Discard(roomPlayerBetAction.Pos); } else { mGameControler.PlayerBetting(roomPlayerBetAction); } }); // 通报底池 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_pot_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_pot_ack, (roomPotAck) => { roomPotAckAction = (RoomPotAck)roomPotAck; Invoke("RoomPot", 0.5f); }); // 摊牌比牌 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_showdown_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_showdown_ack, (roomShowdownAck) => { RoomShowdownAck roomShowdownAction = (RoomShowdownAck)roomShowdownAck; mGameControler.GameOver(roomShowdownAction); }); // 通报玩家站起 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_standup_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_standup_ack, (roomPlayerStandupAck) => { RoomPlayerStandupAck roomPlayerStandupAction = (RoomPlayerStandupAck)roomPlayerStandupAck; // 更新玩家信息 mGameControler.UpdateAfterPlayerStandUp(roomPlayerStandupAction); }); // 通报玩家坐下 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_sitdown_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_sitdown_ack, (roomPlayerSitdownAck) => { RoomPlayerSitdownAck roomPlayerSitdownAction = (RoomPlayerSitdownAck)roomPlayerSitdownAck; // 更新玩家信息 mGameControler.UpdateAfterPlayerSitDown(roomPlayerSitdownAction.Player); }); // 自动坐下等待玩家数通报 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_auto_sitdown_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_auto_sitdown_ack, (roomPlayerAutoSitdownAck) => { RoomPlayerAutoSitdownAck roomPlayerAutoSitdownAction = (RoomPlayerAutoSitdownAck)roomPlayerAutoSitdownAck; mButtonControler.UpdateWaitCount(roomPlayerAutoSitdownAction.Num); }); // 踢出玩家 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_kicked_outAck); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_kicked_outAck, (kickedOutAck) => { KickedOutAck kickedOutAction = (KickedOutAck)kickedOutAck; }); // 关闭牌桌,服务进行维护时通报 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_shutdown_table_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_shutdown_table_ack, (roomShutdownTableAck) => { Application.LoadLevel("main"); }); // 牌桌聊天消息回复 NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_table_chat_ack); NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_table_chat_ack, (roomTableChatAck) => { RoomTableChatAck roomTableChatAction = (RoomTableChatAck)roomTableChatAck; mChatControler.AddMessage(roomTableChatAction.Body.ToByteArray()); }); }
public void OnSensitivityValueChanged(Slider slider) { MainData.Instance().sensitivity = slider.value; }