// Use this for initialization
    void init()
    {
        topRoot        = transform.Find("top");
        seleRoot       = transform.Find("selePanel");
        playerNameText = topRoot.Find("playerName").GetComponent <Text> ();
        goldText       = topRoot.Find("goldBG/Text").GetComponent <Text> ();
        roomCardText   = topRoot.Find("FKBG/Text").GetComponent <Text> ();
        rangRoot       = transform.Find("Ranking");
        //topRoot.gameObject.SetActive (false);
        //rangRoot.gameObject.SetActive (false);
        enterRoomBtn    = seleRoot.Find("enterRoom");
        xzddBtn         = seleRoot.Find("XZMJ");
        CreatRoomBtn    = seleRoot.Find("CreatRoom");
        Friends_Content = transform.Find("Ranking/Scroll View/Viewport/Content");
        Friend_item     = transform.Find("Ranking/item");
        EventInterface.AddOnEvent(enterRoomBtn, Click);
        EventInterface.AddOnEvent(xzddBtn, Click);
        EventInterface.AddOnEvent(CreatRoomBtn, Click);

        enterRoomPanel              = transform.Find("enterRoomPanel");
        enterRoomPanel_InputField   = enterRoomPanel.Find("InputField").GetComponent <InputField> ();
        enterRoomPanel_enterRoomBtn = enterRoomPanel.Find("enterRoomBtn");
        enterRoomPanel_returnBtn    = enterRoomPanel.Find("returnBtn");
        EventInterface.AddOnEvent(enterRoomPanel_returnBtn, Click);
        EventInterface.AddOnEvent(enterRoomPanel_enterRoomBtn, Click);

        bottomRoot = transform.Find("bottom");
        mailBtn    = bottomRoot.Find("message_btn");
        EventInterface.AddOnEvent(mailBtn, Click);
        account = (Account)KBEngineApp.app.player();
        account.baseEntityCall.reqFriendsList();
        showMailInfo(account);
    }
示例#2
0
 // Use this for initialization
 void Start()
 {
     closeBtn = root.Find("close");
     EventInterface.AddOnEvent(addFriendBtn, Click);
     EventInterface.AddOnEvent(closeBtn, Click);
     root.localScale = new Vector3(0, 0, 0);
     root.DOScale(new Vector3(1, 1, 1), 0.3f).SetEase(Ease.OutBack);
 }
 // Use this for initialization
 void Start()
 {
     AccountNameInput = transform.Find("AccountNameInput").GetComponent <InputField>();
     PassWordInput    = transform.Find("PassWordInput").GetComponent <InputField>();
     loginBtn         = transform.Find("loginBtn");
     EventInterface.AddOnEvent(loginBtn, Click);
     installEvents();
 }
示例#4
0
 // Use this for initialization
 void Start()
 {
     root      = transform.Find("root");
     creatBtn  = root.Find("creatBtn");
     nameInput = root.Find("nameInput").GetComponent <InputField> ();
     EventInterface.AddOnEvent(creatBtn, Click);
     root.localScale = new Vector3(0, 0, 0);
     root.DOScale(new Vector3(1, 1, 1), 0.3f).SetEase(Ease.OutBack);
 }
示例#5
0
        public TOTVL(ushort zoneid, ushort id, byte realm, Instance_Lockouts lockouts) : base(zoneid, id, realm, lockouts)
        {
            _evtInterface = new EventInterface();
            ZoneID        = zoneid;
            createPenulums();

            StartFireTrap();
            StartDartTrap();
        }
 // Use this for initialization
 void Start()
 {
     instance   = this;
     roomIdText = transform.Find("roomID").GetComponent <Text>();
     leaveBtn   = transform.Find("leaveBtn");
     EventInterface.AddOnEvent(leaveBtn, Click);
     print("进入麻将房间成功");
     GameManager.GetInstance().gameSceneLoadeOver();
     installEvents();
 }
示例#7
0
    public VoidDelegate onPress;    //ex by yangxun

    static public EventInterface Get(Transform go)
    {
        EventInterface listener = go.GetComponent <EventInterface>();

        if (listener == null)
        {
            listener = go.gameObject.AddComponent <EventInterface>();
        }
        return(listener);
    }
示例#8
0
        public Object()
        {
            if (EvtInterface == null && !IsPlayer())
            {
                EvtInterface = AddInterface <EventInterface>();
            }

            ScrInterface = AddInterface <ScriptsInterface>();

            IsActive = false;
        }
 // Use this for initialization
 void Awake()
 {
     instance = this;
     EventInterface.AddOnEvent(sendPaiBtn, Click);
     EventInterface.AddOnEvent(showActionDataBtn, Click);
     EventInterface.AddOnEvent(pengBtn, Click);
     EventInterface.AddOnEvent(gangBtn, Click);
     EventInterface.AddOnEvent(huBtn, Click);
     EventInterface.AddOnEvent(guoBtn, Click);
     EventInterface.AddOnEvent(showPublicInfoBtn, Click);
     EventInterface.AddOnEvent(showTingPaiInfoBtn, Click);
 }
示例#10
0
    public bool excuteLeaveRoomEvent(RoomInterface ri, Character chara)
    {
        EventInterface eventI = ri.getEvent(constant.LEAVE_EVENT);
        //show ui
        string selectCode = showMessageUi(eventI.getEventBeginInfo(), eventI.getSelectItem());

        EventResult result = eventI.excute(chara, selectCode);

        showMessageUi(eventI.getEventEndInfo(result.getResultCode()), null);

        return(result.getStatus());
    }
示例#11
0
 public void excuteStayRoomEvent(RoomInterface ri, Character chara)
 {
     this.eventI = ri.getRoomEvent(EventConstant.STAY_EVENT);
     if (this.eventI != null)
     {
         EventInfo ei = new EventInfo();
         ei.RoomXyz = ri.getXYZ();
         ei.EffectedList.Add(chara.getName());
         this.stayEventList.Add(ei);
         eventI.excute(chara, null, 0);
     }
 }
示例#12
0
    private EventInterface getRandomEvent(String banEventType)
    {
        EventInterface et = events[random.Next(events.Count)];

        if (et.getEventType() == banEventType)
        {
            return(getRandomEvent(banEventType));
        }
        else
        {
            return(et);
        }
    }
示例#13
0
 // Use this for initialization
 void Start()
 {
     instance      = this;
     root          = transform.Find("root");
     returnBtn     = root.Find("return");
     Content       = root.Find("Scroll View/Viewport/Content");
     mailBase      = root.Find("MailBase");
     mailInfoPanel = transform.Find("mailInfoPanel");
     EventInterface.AddOnEvent(returnBtn, Click);
     account = (Account)KBEngineApp.app.player();
     root.DOScale(Vector3.one, 0.5f).SetEase(Ease.OutBack);
     posY = mailBase.GetComponent <RectTransform> ().rect.height;
     initMailList();
 }
 public ActionData()
 {
     account     = (Account)KBEngineApp.app.player();
     ActionPanel = MJpanel.instance.transform.Find("ActionPanel");
     btn_gang    = ActionPanel.Find("gang");
     btn_pen     = ActionPanel.Find("pen");
     btn_hu      = ActionPanel.Find("hu");
     btn_guo     = ActionPanel.Find("guo");
     EventInterface.AddOnEvent(btn_gang, click);
     EventInterface.AddOnEvent(btn_pen, click);
     EventInterface.AddOnEvent(btn_hu, click);
     EventInterface.AddOnEvent(btn_guo, click);
     ActionPanel.gameObject.SetActive(false);
 }
示例#15
0
 // Use this for initialization
 void Awake()
 {
     DontDestroyOnLoad(gameObject);
     root = transform.Find("root");
     root.DOScale(1, 0.3f).SetEase(Ease.OutBack);
     cancelBtn = root.Find("cancelBtn");
     OKBtn     = root.Find("OKBtn");
     closeBtn  = root.Find("closeBtn");
     EventInterface.AddOnEvent(cancelBtn, Click);
     EventInterface.AddOnEvent(OKBtn, Click);
     EventInterface.AddOnEvent(closeBtn, Click);
     titleText    = root.Find("titleText").GetComponent <Text>();
     ContentsText = root.Find("ContentsText").GetComponent <Text>();
 }
示例#16
0
 // Use this for initialization
 void Awake()
 {
     root        = transform.Find("root");
     returnBtn   = root.Find("return");
     okBtn       = root.Find("okBtn");
     deleBtn     = root.Find("deleBtn");
     okBtnText   = okBtn.Find("Text").GetComponent <Text>();
     deleBtnText = deleBtn.Find("Text").GetComponent <Text>();
     EventInterface.AddOnEvent(returnBtn, Click);
     EventInterface.AddOnEvent(okBtn, Click);
     EventInterface.AddOnEvent(deleBtn, Click);
     account = (Account)KBEngineApp.app.player();
     root.DOScale(Vector3.one, 0.5f).SetEase(Ease.OutBack);
     mailInfotext = root.Find("info").GetComponent <Text>();
 }
示例#17
0
    public bool excuteFallRoomEvent(EventInterface eventI, Character chara)
    {
        this.eventI = eventI;
        if (this.eventI != null)
        {
            if (chara.isPlayer())
            {
                fallRoomExecuted = false;
                this.chara       = chara;
                phase            = 1;
                messageUI.getResult().setDone(false);
                showMessageUi(eventI.getEventBeginInfo(), eventI.getSelectItem());
            }
            else
            {
                result = eventI.excute(chara, messageUI.getResult().getResult(), 0);

                if (result.getResultCode() == EventConstant.FALL_DOWN__EVENT_GOOD)
                {
                }
                else if (result.getResultCode() == EventConstant.FALL_DOWN__EVENT_NORMAL)
                {
                    roomContraller.findRoomByXYZ(chara.getCurrentRoom()).removeChara(chara);
                    this.roomContraller.setCharaInMiniMap(chara.getCurrentRoom(), chara, false);
                    RoomInterface ri = roomContraller.getRandomDownRoom();
                    ri.setChara(chara);
                    chara.setCurrentRoom(ri.getXYZ());
                    this.roomContraller.setCharaInMiniMap(ri.getXYZ(), chara, true);
                    //  camCtrl.setTargetPos(upStairRoom.getXYZ(), RoomConstant.ROOM_Y_DOWN, true);
                }
                else
                {
                    RollDiceParam param = new RollDiceParam(this.eventI.getBadDiceNum());
                    rollVaue = uiManager.showRollDiceImmediately(param);
                    chara.getAbilityInfo()[0] = chara.getAbilityInfo()[0] - rollVaue;
                    roomContraller.findRoomByXYZ(chara.getCurrentRoom()).removeChara(chara);
                    this.roomContraller.setCharaInMiniMap(chara.getCurrentRoom(), chara, false);
                    RoomInterface ri = roomContraller.getRandomDownRoom();
                    ri.setChara(chara);
                    chara.setCurrentRoom(ri.getXYZ());
                    this.roomContraller.setCharaInMiniMap(ri.getXYZ(), chara, true);
                }
            }
        }
        return(true);
    }
 public void initSeat(int serverSeatIndex)
 {
     ServerIndex = serverSeatIndex;
     //0号位玩家的手牌单独操作
     MonoBehaviour.print("索引为--" + localIndex);
     iconBG = root.Find("iconBG");
     if (localIndex == 0)
     {
         isPlayer        = true;
         MyCardlist      = MJpanel.instance.transform.Find("MycardList");
         tingPaiInfo     = MJpanel.instance.transform.Find("tingPaiInfo");
         tingPaiInfoRoot = tingPaiInfo.Find("root");
         tingPaiPrfb     = tingPaiInfo.Find("prfb");
     }
     else
     {
         MyCardlist    = root.Find("MycardList");
         holdsStartPos = MyCardlist.Find("holdCardStart").localPosition;
         EventInterface.AddOnEvent(iconBG, iconBGClick);
     }
     holdsCardPrfb   = MyCardlist.Find("HoldsCard");
     holdsRoot       = MyCardlist.Find("holdsRoot");
     holdsCardWeight = holdsCardPrfb.GetComponent <RectTransform>().rect.width;
     //打出的牌
     Myflodslist     = root.Find("MyfoldsList");
     flodsCardPrfb   = Myflodslist.Find("FoldsCord");
     flodsRoot       = Myflodslist.Find("Root");
     flodsRoot2      = Myflodslist.Find("Root2");
     playPaiPos      = MyCardlist.Find("playPaiPos");
     MyPengList      = root.Find("MyPenList");
     pengPrfb        = MyPengList.Find("pengPrf");
     pengRoot        = MyPengList.Find("pengRoot");
     MyGangList      = root.Find("MyGangList");
     diangangsPrf    = MyGangList.Find("diangangsPrf");
     diangangsRoot   = MyGangList.Find("diangangsRoot");
     wangangsPrf     = MyGangList.Find("wangangsPrf");
     wangangsRoot    = MyGangList.Find("wangangsRoot");
     angangsPrf      = MyGangList.Find("angangsPrf");
     angangsRoot     = MyGangList.Find("angangsRoot");
     MyHUList        = root.Find("MyHuList");
     huPrf           = MyHUList.Find("huCord");
     huRoot          = MyHUList.Find("Root");
     flodsCardWeight = flodsCardPrfb.GetComponent <RectTransform>().rect.width;
     flodsCardHeight = flodsCardPrfb.GetComponent <RectTransform>().rect.height;
     pengRootWeight  = pengPrfb.GetComponent <RectTransform>().rect.width;
 }
示例#19
0
 public bool excuteEnterRoomEvent(RoomInterface ri, Character chara)
 {
     eventI = ri.getRoomEvent(EventConstant.ENTER_EVENT);
     // Debug.LogError(this.eventI);
     if (eventI != null)
     {
         if (eventI.getSubEventType() == EventConstant.SANCHECK_EVENT)
         {
             return(excuteSanCheckEvent(eventI, chara));
         }
         if (eventI.getSubEventType() == EventConstant.FALL_DOWN__EVENT)
         {
             return(excuteFallRoomEvent(eventI, chara));
         }
     }
     Debug.Log(" no san check");
     return(true);
 }
示例#20
0
 // Use this for initialization
 void Start()
 {
     instance = this;
     //创建玩家消息
     for (int i = 0; i < 4; i++)
     {
         playerInfoList.Add(new playerInfo(transform.Find("playerInfo/player" + (i + 1)), i));
     }
     roomIdText    = transform.Find("roomID").GetComponent <Text>();
     leaveBtn      = transform.Find("leaveBtn");
     changeRoomBtn = transform.Find("changeBtn");
     readyBtn      = transform.Find("readyBtn");
     EventInterface.AddOnEvent(leaveBtn, Click);
     EventInterface.AddOnEvent(changeRoomBtn, Click);
     EventInterface.AddOnEvent(readyBtn, Click);
     print("进入麻将房间成功");
     GameManager.GetInstance().gameSceneLoadeOver();
     installEvents();
 }
示例#21
0
        public Instance(ushort zoneid, ushort id, byte realm, Instance_Lockouts lockouts)
        {
            Lockout = lockouts;
            ID      = id;
            ZoneID  = zoneid;
            Realm   = realm;
            Region  = new RegionMgr(zoneid, ZoneService.GetZoneRegion(zoneid), "", new ApocCommunications());
            InstanceService._InstanceInfo.TryGetValue(zoneid, out Info);
            LoadBossSpawns();
            LoadSpawns(); // todo get the saved progress from group
            _running      = true;
            _evtInterface = new EventInterface();
            closetime     = (TCPManager.GetTimeStamp() + 7200);

            // instancing stuff
            InstanceService.SaveLockoutInstanceID(ZoneID + ":" + ID, Lockout);

            new Thread(Update).Start();

            Log.Success("Opening Instance", "Instance ID " + ID + "  Map: " + Info.Name);
            // TOVL
            if (zoneid == 179)
            {
                foreach (var p in GameObjectService.GameObjectSpawns.Where(e => e.Value.ZoneId == 179))
                {
                    if (p.Value.Entry == 98908)
                    {
                        GameObject go = new GameObject(p.Value);

                        _Objects.Add(go);
                        Region.AddObject(go, zoneid, true);
                    }
                }

                if (Info != null && Info.Objects.Count > 0)
                {
                    LoadObjects();
                }
                _evtInterface.AddEvent(UpdatePendulums, 7000, 0);
            }
        }
示例#22
0
    void initMyHandCords(bool isTurn)
    {
        for (int i = 0; i < holdsRoot.childCount; i++)
        {
            GameObject.Destroy(holdsRoot.GetChild(i).gameObject);
        }
        Account      account   = (Account)KBEngineApp.app.player();
        List <SByte> handCards = account.holds;
        sbyte        pai       = account.holds[account.holds.Count - 1];

        if (isTurn)
        {
            handCards.Remove(pai);
        }
        handCards.Sort();
        handCards.Reverse();
        float paiWeight = holdsCardPrfb.GetComponent <RectTransform>().rect.width;

        for (int i = 0; i < handCards.Count; i++)
        {
            int        hs = handCards[i];
            GameObject go = GameObject.Instantiate(holdsCardPrfb.gameObject);
            go.name = hs + "";
            go.transform.Find("hs").GetComponent <Image>().sprite = MJpanel.instance.getUISprite("UI/MJSprite/" + MJpanel.instance.getMJType(hs));
            go.transform.SetParent(holdsRoot, false);
            go.transform.localPosition = new Vector3(holdsCardPrfb.localPosition.x - i * paiWeight, holdsCardPrfb.localPosition.y, 0);
            go.SetActive(true);
            EventInterface.AddOnEvent(go.transform, ClickPai);
        }
        if (isTurn)
        {
            GameObject go = GameObject.Instantiate(holdsCardPrfb.gameObject);
            go.name = pai + "";
            go.transform.Find("hs").GetComponent <Image>().sprite = MJpanel.instance.getUISprite("UI/MJSprite/" + MJpanel.instance.getMJType(pai));
            go.transform.SetParent(holdsRoot, false);
            go.transform.localPosition = new Vector3(holdsCardPrfb.localPosition.x + 2 * paiWeight, holdsCardPrfb.localPosition.y, 0);
            go.SetActive(true);
            EventInterface.AddOnEvent(go.transform, ClickPai);
            handCards.Add(pai);
        }
    }
示例#23
0
 // Use this for initialization
 void Start()
 {
     account  = (Account)KBEngineApp.app.player();
     instance = this;
     //创建玩家消息
     for (int i = 0; i < 4; i++)
     {
         playerInfoList.Add(new playerInfo(transform.Find("playerInfo/player" + (i + 1)), i));
     }
     _actionData   = new ActionData();
     roomIdText    = transform.Find("roomID").GetComponent <Text>();
     leaveBtn      = transform.Find("leaveBtn");
     changeRoomBtn = transform.Find("changeBtn");
     readyBtn      = transform.Find("readyBtn");
     EventInterface.AddOnEvent(leaveBtn, Click);
     EventInterface.AddOnEvent(changeRoomBtn, Click);
     EventInterface.AddOnEvent(readyBtn, Click);
     installEvents();
     print("开始进入房间");
     if (GameManager.GetInstance().gameSceneLoadeOver())
     {
         print("进入麻将房间成功");
         roomIsIn = true;
     }
     else
     {
         timerManager.GetInstance().addTimer(0.1f, 0.1f, (timerID, userData) =>
         {
             if (GameManager.GetInstance().gameSceneLoadeOver())
             {
                 print("进入麻将房间成功222");
                 timerManager.GetInstance().cancelTimer(timerID);
                 roomIsIn = true;
             }
         });
     }
 }
示例#24
0
    public void excuteLeaveRoomEvent(DoorInterface door, RoomInterface ri, Character chara)
    {
        //这个房间有没有离开事件
        eventI = ri.getRoomEvent(EventConstant.LEAVE_EVENT);

        //不为空有事件
        if (eventI != null)
        {
            Debug.Log("有离开事件");
            leaveExecuted = false;
            this.ri       = ri;
            this.chara    = chara;
            this.door     = door;
            phase         = 1;
            messageUI.getResult().setDone(false);
            showMessageUi(eventI.getEventBeginInfo(), eventI.getSelectItem());
        }
        else
        {
            //为空没有事件
            Debug.Log("没有离开事件");
            door.playerOpenDoorResult(true);
        }
    }
示例#25
0
    public bool excuteSanCheckEvent(EventInterface eventI, Character chara)
    {
        this.eventI = eventI;
        if (this.eventI != null)
        {
            if (chara.isPlayer())
            {
                sanCheckExecuted = false;
                this.chara       = chara;
                phase            = 1;
                messageUI.getResult().setDone(false);
                showMessageUi(eventI.getEventBeginInfo(), eventI.getSelectItem());
            }
            else
            {
                result = eventI.excute(chara, messageUI.getResult().getResult(), 0);

                if (result.getResultCode() == EventConstant.SANCHECK_EVENT_GOOD)
                {
                    chara.getMaxAbilityInfo()[3] = chara.getMaxAbilityInfo()[3] + this.eventI.getGoodValue();
                    chara.getAbilityInfo()[3]    = chara.getAbilityInfo()[3] + this.eventI.getGoodValue();
                }
                else if (result.getResultCode() == EventConstant.SANCHECK_EVENT_NORMAL)
                {
                    chara.getAbilityInfo()[3] = chara.getAbilityInfo()[3] + this.eventI.getNormalValue();
                }
                else
                {
                    RollDiceParam param = new RollDiceParam(this.eventI.getBadDiceNum());
                    rollVaue = uiManager.showRollDiceImmediately(param);
                    chara.getAbilityInfo()[3] = chara.getAbilityInfo()[3] - rollVaue;
                }
            }
        }
        return(true);
    }
示例#26
0
    /// <summary>
    /// 添加事件
    /// </summary>
    /// <param name="tr">需要添加事件的Transform</param>
    /// <param name="bc">回调的函数</param>
    /// <param name="nType">事件类型,默认“onClick”</param>
    public static void AddOnEvent(Transform go, callBC bc, string nType = "onClick")
    {
        switch (nType)
        {
        case "onClick":
            EventInterface.Get(go).onClick = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onDown":
            EventInterface.Get(go).onDown = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onEnter":
            EventInterface.Get(go).onEnter = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onExit":
            EventInterface.Get(go).onExit = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onUp":
            EventInterface.Get(go).onUp = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onSelect":
            EventInterface.Get(go).onSelect = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onUpdateSelect":
            EventInterface.Get(go).onUpdateSelect = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onDrag":
            EventInterface.Get(go).onDrag = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onPress":
            EventInterface.Get(go).onPress = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "OnPointerExit":
            EventInterface.Get(go).onPress = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onSliderChang":
            Slider sd = go.gameObject.GetComponent <Slider>();
            sd.onValueChanged.RemoveAllListeners();
            sd.onValueChanged.AddListener(delegate(float value)
            {
                bc(go);
            });
            break;

        case "ButtononClick":
        {
            Button btn = go.GetComponent <Button>();
            btn.onClick.RemoveAllListeners();
            btn.onClick.AddListener(delegate()
                {
                    bc(go);
                });
            break;
        }

        case "onEditEnd":
        {
            InputField input = go.GetComponent <InputField>();
            input.onEndEdit.RemoveAllListeners();
            input.onEndEdit.AddListener(delegate(string inputText)
                {
                    bc(go);
                });
            break;
        }
        }
    }
示例#27
0
 public void setRoomEvent(EventInterface ei)
 {
     //  Debug.Log("set event " + ei.getEventType());
     eventsList.Add(ei.getEventType(), ei);
 }
示例#28
0
 private static void RegisterForEvents()
 {
     Events.Clear();
     EventInterface.RegisterForAllEvents();
 }
示例#29
0
 public void setEvent(EventInterface ei)
 {
     eventsList.Add(ei.getEventType(), ei);
 }
示例#30
0
 /// <summary>
 /// Sets the UI delegate to the supplied object
 /// </summary>
 /// <param name="inDelegate"></param>
 public void setDelegate(EventInterface inDelegate)
 {
     log.Info(String.Format("Setting the MainWindows delegate: {0}", inDelegate));
     _uiDelegate = inDelegate;
 }