public void Add(int playerId, byte[] audio)
    {
        if (Root.transform.childCount >= 20)
        {
            if (audioCache.ContainsKey(0))
            {
                audioCache.Remove(0);
            }
            GameObject.Destroy(Root.transform.GetChild(0).gameObject);
        }
        GameObject obj = GameObject.Instantiate(Resources.Load("AudioMsg")) as GameObject;

        obj.name = (Root.transform.childCount + 1).ToString();
        obj.transform.GetChild(0).GetComponent <Text>().text = Main.Ins.NetWorkBattle.GetNetPlayerName(playerId) + "发来了一条语音信息";
        obj.transform.GetChild(1).GetComponent <UIFunCtrl>().SetEvent((int audioIdx) => { OnPlayAudio(audioIdx); }, Root.transform.childCount);
        obj.transform.SetParent(Root.transform);
        obj.transform.localScale    = Vector3.one;
        obj.transform.localPosition = Vector3.zero;
        obj.transform.localRotation = Quaternion.identity;
        if (hide != null)
        {
            hide.Kill(false);
        }
        WndObject.GetComponent <CanvasGroup>().alpha = 1.0f;
        hide = DOTween.Sequence();
        hide.AppendInterval(8.0f);
        hide.Append(WndObject.GetComponent <CanvasGroup>().DOFade(0, 5.0f));
        hide.Play();
        audioCache.Add(Root.transform.childCount - 1, audio);
        vscrollBar.value = 0;
    }
Пример #2
0
 void Init()
 {
     Root = Control("LevelTalk");
     WndObject.GetComponent <RectTransform>().anchoredPosition = new Vector2(180, -180);
     vscrollBar = Control("Scrollbar Vertical").GetComponent <Scrollbar>();
     //soundPlay = gameObject.AddComponent<AudioSource>();
 }
Пример #3
0
    void RefreshUI()
    {
        GameButton[] buttons = WndObject.GetComponentsInChildren <GameButton>();
        for (int i = 1; i < buttons.Length; i++)
        {
            if (GameStateMgr.Ins.gameStatus.HasUIAnchor[i - 1])
            {
                buttons[i].GetComponent <RectTransform>().anchoredPosition = GameStateMgr.Ins.gameStatus.UIAnchor[i - 1];
            }
            float scale = GameStateMgr.Ins.gameStatus.UIScale[i - 1];
            buttons[i].GetComponent <RectTransform>().localScale = new Vector3(scale, scale, 1);
        }
        float joyScale = GameStateMgr.Ins.gameStatus.JoyScale;

        Control("JoyArrow").GetComponent <RectTransform>().localScale       = new Vector3(joyScale, joyScale, 1);
        Control("JoyArrow").GetComponent <RectTransform>().anchoredPosition = GameStateMgr.Ins.gameStatus.JoyAnchor;

        //透明度设定
        Control("AlphaSliderBar").GetComponent <Slider>().value = GameStateMgr.Ins.gameStatus.UIAlpha;

        //方向键缩放
        Control("JoyScale").GetComponent <Slider>().value = GameStateMgr.Ins.gameStatus.JoyScale;

        //功能键缩放,需要先选择按键后
        Control("ButtonScale").GetComponent <Slider>().value = 1;
        Control("ButtonScale").GetComponent <Slider>().onValueChanged.AddListener(OnButtonScaleChange);
        Control("ButtonScale").GetComponent <Slider>().enabled = false;
        SelectButton = null;
        SelectIndex  = -1;
    }
Пример #4
0
 void Init()
 {
     clickPanel    = Control("ClickPanel");
     LevelTalkRoot = Control("LevelTalk", WndObject).transform;
     ctrl          = LevelTalkRoot.GetComponent <AutoMsgCtrl>();
     ctrl.SetConfig(2.0f, 1.5f);
     Control("BattleInfo").GetComponent <RectTransform>().anchoredPosition = new Vector2(Main.Ins.GameStateMgr.gameStatus.ShowSysMenu2 ? 145 : -20, -175);
     NodeHelper.Find("SceneName", WndObject).GetComponent <Button>().onClick.AddListener(() => { OpenMiniMap(); });
     NodeHelper.Find("SceneName", WndObject).GetComponentInChildren <Text>().text = Main.Ins.CombatData.GLevelItem.Name;
     NodeHelper.Find("System", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenSystemWnd(); });
     timeLabel = NodeHelper.Find("GameTime", WndObject).GetComponent <Text>();
     hpBar     = Control("HPBar", WndObject).gameObject.GetComponent <Image>();
     angryBar  = Control("AngryBar", WndObject).gameObject.GetComponent <Image>();
     hpLabel   = Control("HPLabel", WndObject).gameObject.GetComponent <Text>();
     NodeHelper.Find("Status", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnStatusPress);
     NodeHelper.Find("Status", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnStatusRelease);
     NodeHelper.Find("SysMenu2", WndObject).SetActive(true);
     if (Main.Ins.LocalPlayer != null)
     {
         angryBar.fillAmount = 0.0f;
         UpdatePlayerInfo();
     }
     TargetBlood = Control("TargetBlood");
     TargetBlood.SetActive(false);
     TargetHp      = Control("HPBar", TargetBlood).GetComponent <Image>();
     TargetHPLabel = Control("TargetHPLabel", TargetBlood).GetComponent <Text>();
     TargetName    = Control("TargetName", TargetBlood).GetComponent <Text>();
     UpdateUIButton();
     CanvasGroup[] c = WndObject.GetComponentsInChildren <CanvasGroup>();
     for (int i = 0; i < c.Length; i++)
     {
         c[i].alpha = Main.Ins.GameStateMgr.gameStatus.UIAlpha;
     }
 }
    public void Add(int playerId, string message)
    {
        if (Root.transform.childCount >= 20)
        {
            GameObject.Destroy(Root.transform.GetChild(0).gameObject);
        }
        GameObject obj = new GameObject();

        obj.name = (Root.transform.childCount + 1).ToString();
        Text txt = obj.AddComponent <Text>();

        txt.text = string.Format("{0}:{1}", Main.Ins.NetWorkBattle.GetNetPlayerName(playerId), message);
        //00AAFFFF
        txt.font          = Main.Ins.TextFont;
        txt.fontSize      = 32;
        txt.alignment     = TextAnchor.MiddleLeft;
        txt.raycastTarget = false;
        txt.color         = new Color(1.0f, 1.0f, 1.0f, 1f);
        obj.transform.SetParent(Root.transform);
        obj.transform.localScale    = Vector3.one;
        obj.transform.localPosition = Vector3.zero;
        obj.transform.localRotation = Quaternion.identity;
        if (hide != null)
        {
            hide.Kill(false);
        }
        WndObject.GetComponent <CanvasGroup>().alpha = 1.0f;
        hide = DOTween.Sequence();
        hide.AppendInterval(8.0f);
        hide.Append(WndObject.GetComponent <CanvasGroup>().DOFade(0, 5.0f));
        hide.Play();
        vscrollBar.value = 0;
    }
Пример #6
0
    private void SetWndStyleExt()
    {
        switch (mWndStyleExt)
        {
        case StyleExt.Alpha:
        {
            if (null == WndObject.GetComponent <TweenAlpha>())
            {
                TweenAlpha Ta = WndObject.AddComponent <TweenAlpha>();
                Ta.to    = 0.0f;
                Ta.delay = 2.0f;
            }
            if (null == WndObject.GetComponent <AutoClose>())
            {
                WndObject.AddComponent <AutoClose>();
            }
        }
            ChangeWndStyleExt();
            break;

        case StyleExt.Toast:
        {
            if (null == WndObject.GetComponent <AutoClose>())
            {
                WndObject.AddComponent <AutoClose>();
            }
        }
            ChangeWndStyleExt();
            break;

        default:
            break;
        }
    }
Пример #7
0
 void OnUIAlphaChange(float v)
 {
     GameStateMgr.Ins.gameStatus.UIAlpha = v;
     CanvasGroup[] c = WndObject.GetComponentsInChildren <CanvasGroup>();
     for (int i = 0; i < c.Length; i++)
     {
         c[i].alpha = GameStateMgr.Ins.gameStatus.UIAlpha;
     }
 }
Пример #8
0
    int SelectIndex = -1;                     //选中按钮序号

    void Init()
    {
        Control("Close").GetComponent <Button>().onClick.AddListener(() => {
            if (Main.Ins.GameBattleEx != null)
            {
                Main.Ins.DialogStateManager.ChangeState(Main.Ins.DialogStateManager.EscDialogState);
            }
            else
            {
                Main.Ins.DialogStateManager.ChangeState(Main.Ins.DialogStateManager.SettingDialogState);
            }
        });

        Control("Reset").GetComponent <Button>().onClick.AddListener(() => {
            OnReset();
        });
        Control("AlphaSliderBar").GetComponent <Slider>().onValueChanged.AddListener(OnUIAlphaChange);
        Control("JoyScale").GetComponent <Slider>().onValueChanged.AddListener(OnJoyScaleChange);
        Control("ButtonScale").GetComponent <Slider>().onValueChanged.AddListener(OnButtonScaleChange);
        Control("ButtonScale").GetComponent <Slider>().enabled = false;
        //for (int i = 0; i < GameStateMgr.Ins.gameStatus.UIScale.Count; i++) {
        //    Debug.Log(GameStateMgr.Ins.gameStatus.UIScale[i]);
        //}
        UIAdjust adjust = Control("LeftJoystick").GetComponent <UIAdjust>();

        GameButton[] buttons = WndObject.GetComponentsInChildren <GameButton>();
        for (int i = 0; i < buttons.Length; i++)
        {
            int k = i;
            if (i > 0)
            {
                original[i - 1] = new MyVector2(buttons[i].GetComponent <RectTransform>().anchoredPosition.x, buttons[i].GetComponent <RectTransform>().anchoredPosition.y);
            }
            buttons[i].OnPress.AddListener(() => {
                adjust.OnChangeTarget(k, buttons[k]);
                if (k == 0)
                {
                    //设置方向键时,无需同步
                    SelectButton = null;
                    SelectIndex  = -1;
                    //禁用功能键缩放
                    Control("ButtonScale").GetComponent <Slider>().enabled = false;
                }
                else
                {
                    SelectButton = buttons[k];
                    SelectIndex  = k;
                    //设置功能键,缩放要同步到缩放滑块上
                    Control("ButtonScale").GetComponent <Slider>().enabled = true;
                    Control("ButtonScale").GetComponent <Slider>().value   = GameStateMgr.Ins.gameStatus.UIScale[k - 1];
                }
            });
            buttons[i].OnRelease.AddListener(() => { adjust.OnChangeTarget(-1, null); });
        }

        RefreshUI();
    }
Пример #9
0
    public virtual void Show()
    {
        if (Exist)
        {
            WndObject.SetActive(true);
            if (WindowStyle.WS_Ext <= mWindowStyle)
            {
                mExtBackground.SetActive(true);
            }
        }

        OnShow();
    }
Пример #10
0
    public override void Hide()
    {
        if (Exist)
        {
            WndObject.SetActive(false);
            if (WindowStyle.WS_Ext <= mWindowStyle)
            {
                mExtBackground.SetActive(false);
            }
        }

        OnHide();
    }
Пример #11
0
    public virtual void Hide()
    {
        if (Exist && WndObject != null)
        {
            WndObject.SetActive(false);
            if (WindowStyle.WS_Ext <= mWindowStyle)
            {
                mExtBackground.SetActive(false);
            }
        }

        OnHide();
    }
Пример #12
0
    void Init()
    {
        GameObject chapterTab = Control("ChapterTab", WndObject);
        GameObject modelTab   = Control("ModelTab", WndObject);

        Control("Return").GetComponent <Button>().onClick.AddListener(() => {
            Close();
        });
        Control("PluginPrev").GetComponent <Button>().onClick.AddListener(OnPrevPagePlugin);
        Control("PluginNext").GetComponent <Button>().onClick.AddListener(OnNextPagePlugin);
        Control("ResetModel").GetComponent <Button>().onClick.AddListener(() => {
            GameStateMgr.Ins.gameStatus.UseModel = -1;
            U3D.PopupTip("已设置使用默认角色");
        });
        ChapterRoot = Control("Content", chapterTab);
        ModelRoot   = Control("Content", modelTab);
        //模组分页内的功能设定
        Control("DeletePlugin").GetComponent <Button>().onClick.AddListener(() => {
            U3D.DeletePlugins(filter);
            int f = filter;
            Close();
            Main.Ins.DialogStateManager.ChangeState(Main.Ins.DialogStateManager.DlcManagerDialogState, f);
        });
        Toggle togShowInstallPlugin = Control("ShowInstallToggle").GetComponent <Toggle>();

        togShowInstallPlugin.onValueChanged.AddListener((bool value) => { this.showInstallPlugin = value; DlcMng.Ins.CollectAll(this.showInstallPlugin, filter); this.PluginPageRefreshEx(); });
        togShowInstallPlugin.isOn = true;

        Control("InstallAll").GetComponent <Button>().onClick.AddListener(OnInstallAll);
        UITab select = null;

        UITab[] tabs = WndObject.GetComponentsInChildren <UITab>();
        for (int i = 0; i < tabs.Length; i++)
        {
            tabs[i].onValueChanged.AddListener(OnTabShow);
            if (filter == i)
            {
                select = tabs[i];
            }
        }
        if (select != null)
        {
            if (!select.isOn)
            {
                select.Select();
                return;
            }
        }
        OnTabShow(true);
    }
Пример #13
0
    void Init()
    {
        WndObject.AddComponent <ControlHelper>().ControlHelpUpdate = UpdateTimeCounter;
        UIEventListener.Get(Control("QuitLevel")).onClick          = OnClickBacktoMainTown;
        UIEventListener.Get(Control("Continue")).onClick           = OnClickBtnContinueGame;
        UIEventListener.Get(Control("SoundBtn")).onClick           = OnSoundClick;
        mPauseRoot = Control("PauseRoot");
        mCounter   = Control("TimeCounter");
        mCounter.SetActive(false);

//		SoundBtn = Control("SoundBtn");
//		SoundBtn.SetActive(false);
        SeateToScene();
    }
Пример #14
0
    private void OnClickPause(GameObject go)
    {
        int size = UIMoveControl.mUIMoveControlList.Count;

        for (int i = 0; i < size; i++)
        {
            UIMoveControl.mUIMoveControlList[i].SetEndPos();
        }
        if (Exist)
        {
            WndObject.SetActive(false);
        }
        if (!PauseWnd.Exist)
        {
            PauseWnd.Instance.Open();
        }
    }
Пример #15
0
    void Init()
    {
        WndObject.AddComponent <ControlHelper>().ControlHelpUpdate = UpdateTimeCounter;
        UIEventListener.Get(Control("BtnReturn")).onClick          = OnClickBtnBacktoMain;
        UIEventListener.Get(Control("BtnRevive")).onClick          = OnClickBtnRelive;

        mRoleDeadRoot = Control("RoleDeadRoot");
        mCounter      = Control("TimeCounter");
        mCounter.SetActive(false);

        RequestReviveInfo();
        CreateDropItemGrid();

        if (Global.GMeteorInput != null)
        {
            Global.GMeteorInput.ResetInput();
        }
    }
Пример #16
0
 void Init()
 {
     Fill          = Control("Fill", WndObject).GetComponent <Image>();
     ProgressText  = Control("ProgressText", WndObject).GetComponent <Text>();
     clickPanel    = Control("ClickPanel");
     LevelTalkRoot = Control("LevelTalk", WndObject).transform;
     ctrl          = LevelTalkRoot.GetComponent <AutoMsgCtrl>();
     ctrl.SetConfig(2.0f, 1.5f);
     Control("FreeCamera", WndObject).GetComponent <Button>().onClick.AddListener(UseFreeCamera);
     Control("FollowCamera", WndObject).GetComponent <Button>().onClick.AddListener(UseFollowCamera);
     Control("PrevTarget", WndObject).GetComponent <Button>().onClick.AddListener(OnPrevTarget);
     Control("NextTarget", WndObject).GetComponent <Button>().onClick.AddListener(OnNextTarget);
     Control("BattleInfo").GetComponent <RectTransform>().anchoredPosition = new Vector2(145, -175);
     NodeHelper.Find("SceneName", WndObject).GetComponent <Button>().onClick.AddListener(() => { OpenMiniMap(); });
     NodeHelper.Find("SceneName", WndObject).GetComponentInChildren <Text>().text = CombatData.Ins.GLevelItem.Name;
     NodeHelper.Find("System", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { Main.Ins.DialogStateManager.ChangeState(Main.Ins.DialogStateManager.EscConfirmDialogState); });
     timeLabel = NodeHelper.Find("GameTime", WndObject).GetComponent <Text>();
     hpBar     = Control("HPBar", WndObject).gameObject.GetComponent <Image>();
     angryBar  = Control("AngryBar", WndObject).gameObject.GetComponent <Image>();
     hpLabel   = Control("HPLabel", WndObject).gameObject.GetComponent <Text>();
     NodeHelper.Find("Status", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnStatusPress);
     NodeHelper.Find("Status", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnStatusRelease);
     Control("HideBtn", WndObject).GetComponent <Button>().onClick.AddListener(SysMenu2Hide);
     Control("Menu2HotArea", WndObject).GetComponent <Button>().onClick.AddListener(ShowSysMenu2);
     Control("Menu2HotArea", WndObject).SetActive(false);
     NodeHelper.Find("SysMenu2", WndObject).SetActive(true);
     if (Main.Ins.LocalPlayer != null)
     {
         angryBar.fillAmount = 0.0f;
         UpdatePlayerInfo();
     }
     TargetBlood = Control("TargetBlood");
     TargetBlood.SetActive(false);
     TargetHp      = Control("HPBar", TargetBlood).GetComponent <Image>();
     TargetHPLabel = Control("TargetHPLabel", TargetBlood).GetComponent <Text>();
     TargetName    = Control("TargetName", TargetBlood).GetComponent <Text>();
     NodeHelper.Find("MiniMap", gameObject).SetActive(true);
     CanvasGroup[] c = WndObject.GetComponentsInChildren <CanvasGroup>();
     for (int i = 0; i < c.Length; i++)
     {
         c[i].alpha = GameStateMgr.Ins.gameStatus.UIAlpha;
     }
 }
Пример #17
0
    void Init()
    {
        RectTransform rectTran = WndObject.GetComponent <RectTransform>();

        if (rectTran != null)
        {
            rectTran.anchoredPosition = new Vector2((1920f - rectTran.sizeDelta.x) / 2.0f, -(1080f - rectTran.sizeDelta.y) / 2.0f);
        }
        GameObject      obj       = Global.ldaControlX("3DParent", WndObject);
        GameObject      objPlayer = GameObject.Instantiate(Resources.Load("3DUIPlayer")) as GameObject;
        MeteorUnitDebug d         = objPlayer.GetComponent <MeteorUnitDebug>();

        objPlayer.transform.position   = Vector3.zero;
        objPlayer.transform.rotation   = Quaternion.identity;
        objPlayer.transform.localScale = Vector3.one;
        d.gameObject.layer             = obj.gameObject.layer;
        d.Init(0);
        WeaponBase weaponProperty = WeaponMng.Instance.GetItem(MeteorManager.Instance.LocalPlayer.weaponLoader.GetCurrentWeapon().Info().UnitId);

        d.weaponLoader.StrWeaponR = weaponProperty.WeaponR;
        d.weaponLoader.StrWeaponL = weaponProperty.WeaponL;
        d.weaponLoader.EquipWeapon();
        d.transform.SetParent(obj.transform);
        d.transform.localScale    = 8 * Vector3.one;
        d.transform.localPosition = new Vector3(0, 0, -45);
        d.transform.localRotation = Quaternion.identity;
        Global.ldaControlX("Close Button", WndObject).GetComponent <Button>().onClick.AddListener(Close);

        SetStat("Stat Label 1", MeteorManager.Instance.LocalPlayer.Attr.hpCur + "/" + MeteorManager.Instance.LocalPlayer.Attr.HpMax);
        SetStat("Stat Label 2", MeteorManager.Instance.LocalPlayer.AngryValue.ToString());
        SetStat("Stat Label 3", MeteorManager.Instance.LocalPlayer.CalcDamage().ToString());
        SetStat("Stat Label 4", MeteorManager.Instance.LocalPlayer.CalcDef().ToString());
        SetStat("Stat Label 5", MeteorManager.Instance.LocalPlayer.Speed.ToString());
        SetStat("Stat Label 6", string.Format("{0:f2}", MeteorManager.Instance.LocalPlayer.Speed / 1000.0f));

        //处理背包的点击
        UIItemSlot [] slots = Global.ldaControlX("Slots Grid", WndObject).GetComponentsInChildren <UIItemSlot>();
        for (int i = 0; i < slots.Length; i++)
        {
            slots[i].onClick.AddListener(OnClickItem);
        }
    }
Пример #18
0
    public void Close()
    {
        float delay = 0;

        if (WndObject != null)
        {
            var peekaboo = WndObject.GetComponent <UiPeeKaBoo>() ?? WndObject.GetComponentInChildren <UiPeeKaBoo>();

            if (peekaboo != null)
            {
                if (peekaboo.Tweens.Length > 0)
                {
                    foreach (var t in peekaboo.Tweens)
                    {
                        foreach (var tw in t.GetComponents <UITweener>())
                        {
                            if (tw.delay + tw.duration > delay)
                            {
                                delay = tw.delay + tw.duration;
                            }

                            tw.PlayReverse();
                        }
                    }
                }
                else
                {
                    foreach (var tw in WndObject.GetComponents <UITweener>())
                    {
                        if (tw.delay + tw.duration > delay)
                        {
                            delay = tw.delay + tw.duration;
                        }

                        tw.PlayReverse();
                    }
                }
            }
        }

        MainScript.Instance.StartCoroutine(CloseInternal(delay));
    }
Пример #19
0
    public void Add(int playerId, string message)
    {
        GameObject obj = new GameObject();

        obj.name = (Root.transform.childCount + 1).ToString();
        Text   txt = obj.AddComponent <Text>();
        string msg = string.Format("{0}[{1}]:{2}", U3D.GetNetPlayerName(playerId), playerId, message);

        txt.text = msg;
        msgHistory.Add(msg);
        //00AAFFFF
        txt.font          = Main.Ins.TextFont;
        txt.fontSize      = 32;
        txt.alignment     = TextAnchor.MiddleLeft;
        txt.raycastTarget = false;
        txt.color         = new Color(1.0f, 1.0f, 1.0f, 1f);
        obj.transform.SetParent(Root.transform);
        obj.transform.localScale    = Vector3.one;
        obj.transform.localPosition = Vector3.zero;
        obj.transform.localRotation = Quaternion.identity;
        WndObject.GetComponent <CanvasGroup>().alpha = 1.0f;
        vscrollBar.value = 0;
        StartCheck();
    }
Пример #20
0
    public void Open()
    {
        //Debug.Log("Open Window:"+PrefabName);
        if (mWndObject)
        {
            Debug.LogError("Window:" + PrefabName + "The window already opened!!!!");
            WindowMng.RemoveWindow(mWndObject, this);
            GameObject.Destroy(mWndObject);//这句话会导致一个界面上的成员变量没清理
            if (WindowStyle.WS_Ext <= mWindowStyle)
            {
                GameObject.Destroy(mExtBackground);
            }
            //return;
        }
#if UNITY_2017 || UNITY_5_5
        mRootUI = GameObject.Find("Canvas");
        if (mRootUI != null)
        {
            if (!CanvasMode())
            {
                mWndObject = GameObject.Instantiate(Resources.Load <GameObject>(PrefabName), Vector3.zero, Quaternion.identity, mRootUI.transform) as GameObject;
            }
            else
            {
                mWndObject = GameObject.Instantiate(Resources.Load <GameObject>(PrefabName));
            }
        }
        else
        {
            mWndObject = GameObject.Instantiate(Resources.Load <GameObject>(PrefabName));
        }
        if (mRootUI != null)
        {
            if (!CanvasMode())
            {
                WndObject.transform.SetParent(mRootUI.transform);
                WndObject.transform.localScale    = Vector3.one;
                WndObject.transform.localRotation = Quaternion.identity;
            }
            RectTransform rectTran = WndObject.GetComponent <RectTransform>();
            if (rectTran != null && rectTran.anchorMin == Vector2.zero && rectTran.anchorMax == Vector2.one)
            {
                if (rectTran.rect.width == 0 && rectTran.rect.height == 0)
                {
                    rectTran.sizeDelta = new Vector2(0, 0);
                }
            }
            if (rectTran != null)
            {
                rectTran.anchoredPosition3D = new Vector3(0, 0, 0);
            }
        }
        else
        {
            //mRootUI = GameObject.Find("Anchor");
            //if (mRootUI != null)
            //    WndObject.transform.SetParent(mRootUI.transform);
        }
#else
        mRootUI = GameObject.Find("Anchor");
        WndObject.transform.parent = mRootUI.transform;
#endif
        WndObject.transform.localScale = Vector3.one;
        //WndObject.transform.localPosition = new Vector3(GetX(), GetY(), GetZ());
        WindowMng.AddWindow(mWndObject, this);

        OnOpen();

        //attention Order
        //mCamera = GameObject.Find("Camera-CloseUp");
        //if (mCamera != null)
        //    mCullingMask = mCamera.GetComponent<Camera>().cullingMask;

        //阻挡UI之后其他的UI响应
        if (mWindowStyle >= WindowStyle.WS_Ext)
        {
            mExtBackground = GameObject.Instantiate(Resources.Load("BackgroundExtWnd")) as GameObject;
            mExtBackground.transform.SetParent(WndObject.transform);
            mExtBackground.transform.localPosition = new Vector3(0.0f, 0.0f, 0.0f);
            mExtBackground.transform.localScale    = Vector3.one;
            mExtBackground.transform.localRotation = Quaternion.identity;
            mExtBackground.transform.SetAsFirstSibling();
        }

        //if (WindowStyle.WS_CullingMask <= mWindowStyle)
        //{
        //    Debug.Log("LayerMask NGUI : = " + LayerMask.NameToLayer("NGUI"));
        //    //attention Order
        //    if (mCamera != null)
        //        mCamera.GetComponent<Camera>().cullingMask = LayerMask.NameToLayer("NGUI");
        //}
        //AutoAdaptGUI();
    }
    void Init()
    {
        Control("Return").GetComponent <Button>().onClick.AddListener(() =>
        {
            Main.Ins.GameStateMgr.SaveState();
            Main.Ins.DialogStateManager.ChangeState(Main.Ins.DialogStateManager.MainMenuState);
        });

        Control("DeleteState").GetComponent <Button>().onClick.AddListener(() =>
        {
            Main.Ins.GameStateMgr.ResetState();
            Init();
        });

        Control("ChangeLog").GetComponent <Text>().text     = ResMng.LoadTextAsset("ChangeLog").text;
        Control("AppVerText").GetComponent <Text>().text    = Main.Ins.AppInfo.AppVersion();
        Control("MeteorVerText").GetComponent <Text>().text = Main.Ins.AppInfo.MeteorVersion;


        Control("Nick").GetComponentInChildren <Text>().text = Main.Ins.CombatData.Logined ?  Main.Ins.GameStateMgr.gameStatus.NickName:"未登录";
        Control("Nick").GetComponent <Button>().onClick.AddListener(
            () =>
        {
            if (Main.Ins.CombatData.Logined)
            {
                Main.Ins.EnterState(Main.Ins.NickNameDialogState);
            }
            else
            {
            }
        }
            );
        Toggle highPerfor = Control("HighPerformance").GetComponent <Toggle>();

        highPerfor.isOn = Main.Ins.GameStateMgr.gameStatus.TargetFrame == 60;
        highPerfor.onValueChanged.AddListener(OnChangePerformance);
        Toggle High   = Control("High").GetComponent <Toggle>();
        Toggle Medium = Control("Medium").GetComponent <Toggle>();
        Toggle Low    = Control("Low").GetComponent <Toggle>();

        High.isOn   = Main.Ins.GameStateMgr.gameStatus.Quality == 0;
        Medium.isOn = Main.Ins.GameStateMgr.gameStatus.Quality == 1;
        Low.isOn    = Main.Ins.GameStateMgr.gameStatus.Quality == 2;
        High.onValueChanged.AddListener((bool selected) => { if (selected)
                                                             {
                                                                 Main.Ins.GameStateMgr.gameStatus.Quality = 0;
                                                             }
                                        });
        Medium.onValueChanged.AddListener((bool selected) => { if (selected)
                                                               {
                                                                   Main.Ins.GameStateMgr.gameStatus.Quality = 1;
                                                               }
                                          });
        Low.onValueChanged.AddListener((bool selected) => { if (selected)
                                                            {
                                                                Main.Ins.GameStateMgr.gameStatus.Quality = 2;
                                                            }
                                       });
        Toggle ShowTargetBlood = Control("ShowTargetBlood").GetComponent <Toggle>();

        ShowTargetBlood.isOn = Main.Ins.GameStateMgr.gameStatus.ShowBlood;
        ShowTargetBlood.onValueChanged.AddListener((bool selected) => { Main.Ins.GameStateMgr.gameStatus.ShowBlood = selected; });
        Toggle ShowFPS = Control("ShowFPS").GetComponent <Toggle>();

        ShowFPS.isOn = Main.Ins.GameStateMgr.gameStatus.ShowFPS;
        ShowFPS.onValueChanged.AddListener((bool selected) => { Main.Ins.GameStateMgr.gameStatus.ShowFPS = selected; Main.Ins.ShowFps(selected); });

        Toggle ShowSysMenu2 = Control("ShowSysMenu2").GetComponent <Toggle>();

        ShowSysMenu2.isOn = Main.Ins.GameStateMgr.gameStatus.ShowSysMenu2;
        ShowSysMenu2.onValueChanged.AddListener((bool selected) => { Main.Ins.GameStateMgr.gameStatus.ShowSysMenu2 = selected; });

        if (Main.Ins != null)
        {
            Control("BGMSlider").GetComponent <Slider>().value    = Main.Ins.GameStateMgr.gameStatus.MusicVolume;
            Control("EffectSlider").GetComponent <Slider>().value = Main.Ins.GameStateMgr.gameStatus.SoundVolume;
            Control("HSliderBar").GetComponent <Slider>().value   = Main.Ins.GameStateMgr.gameStatus.AxisSensitivity.x;
            Control("VSliderBar").GetComponent <Slider>().value   = Main.Ins.GameStateMgr.gameStatus.AxisSensitivity.y;
        }
        Control("BGMSlider").GetComponent <Slider>().onValueChanged.AddListener(OnMusicVolumeChange);
        Control("EffectSlider").GetComponent <Slider>().onValueChanged.AddListener(OnEffectVolumeChange);
        Control("HSliderBar").GetComponent <Slider>().onValueChanged.AddListener(OnXSensitivityChange);
        Control("VSliderBar").GetComponent <Slider>().onValueChanged.AddListener(OnYSensitivityChange);
        Control("SetJoyPosition").GetComponent <Button>().onClick.AddListener(OnSetUIPosition);

        //显示战斗界面的调试按钮
        Toggle toggleDebug = Control("EnableSFX").GetComponent <Toggle>();

        toggleDebug.isOn = Main.Ins.GameStateMgr.gameStatus.EnableDebugSFX;
        toggleDebug.onValueChanged.AddListener(OnEnableDebugSFX);
        //显示战斗界面的调试按钮
        Toggle toggleRobot = Control("EnableRobot").GetComponent <Toggle>();

        toggleRobot.isOn = Main.Ins.GameStateMgr.gameStatus.EnableDebugRobot;
        toggleRobot.onValueChanged.AddListener(OnEnableDebugRobot);

        //显示武器挑选按钮
        Toggle toggleEnableFunc = Control("EnableWeaponChoose").GetComponent <Toggle>();

        toggleEnableFunc.isOn = Main.Ins.GameStateMgr.gameStatus.EnableWeaponChoose;
        toggleEnableFunc.onValueChanged.AddListener(OnEnableWeaponChoose);
        //无限气
        Toggle toggleEnableInfiniteAngry = Control("EnableInfiniteAngry").GetComponent <Toggle>();

        toggleEnableInfiniteAngry.isOn = Main.Ins.GameStateMgr.gameStatus.EnableInfiniteAngry;
        toggleEnableInfiniteAngry.onValueChanged.AddListener(OnEnableInfiniteAngry);

        //无锁定
        Toggle toggleDisableLock = Control("CameraLock").GetComponent <Toggle>();

        toggleDisableLock.isOn = Main.Ins.GameStateMgr.gameStatus.AutoLock;
        toggleDisableLock.onValueChanged.AddListener(OnDisableLock);

        Toggle toggleEnableGodMode = Control("EnableGodMode").GetComponent <Toggle>();

        toggleEnableGodMode.isOn = Main.Ins.GameStateMgr.gameStatus.EnableGodMode;
        toggleEnableGodMode.onValueChanged.AddListener(OnEnableGodMode);

        Toggle toggleEnableUndead = Control("EnableUnDead").GetComponent <Toggle>();

        toggleEnableUndead.isOn = Main.Ins.GameStateMgr.gameStatus.Undead;
        toggleEnableUndead.onValueChanged.AddListener(OnEnableUndead);

        Toggle toggleShowWayPoint = Control("ShowWayPoint").GetComponent <Toggle>();

        toggleShowWayPoint.isOn = Main.Ins.GameStateMgr.gameStatus.ShowWayPoint;
#if !STRIP_DBG_SETTING
        toggleShowWayPoint.onValueChanged.AddListener(OnShowWayPoint);
        if (Main.Ins.GameStateMgr.gameStatus.ShowWayPoint)
        {
            OnShowWayPoint(true);
        }
#else
        Destroy(toggleShowWayPoint.gameObject);
#endif
        Control("ChangeV107").GetComponent <Button>().onClick.AddListener(() => { OnChangeVer("1.07"); });
        Control("ChangeV907").GetComponent <Button>().onClick.AddListener(() => { OnChangeVer("9.07"); });
        Control("UnlockAll").GetComponent <Button>().onClick.AddListener(() => { U3D.UnlockLevel(); });

        //粒子特效
        Toggle toggleDisableParticle = Control("Particle").GetComponent <Toggle>();
        toggleDisableParticle.isOn = Main.Ins.GameStateMgr.gameStatus.DisableParticle;
        toggleDisableParticle.onValueChanged.AddListener(OnDisableParticle);
        OnDisableParticle(toggleDisableParticle.isOn);

        //关闭摇杆
        Toggle toggleDisableJoyStick = Control("Joystick").GetComponent <Toggle>();
        toggleDisableJoyStick.isOn = Main.Ins.GameStateMgr.gameStatus.DisableJoystick;
        toggleDisableJoyStick.onValueChanged.AddListener(OnDisableJoyStick);
        OnDisableJoyStick(toggleDisableJoyStick.isOn);

        Toggle toggleSkipVideo = Control("SkipVideo").GetComponent <Toggle>();
        toggleSkipVideo.isOn = Main.Ins.GameStateMgr.gameStatus.SkipVideo;
        toggleSkipVideo.onValueChanged.AddListener(OnSkipVideo);

        Toggle toggleOnlyWifi = Control("OnlyWifi").GetComponent <Toggle>();
        toggleOnlyWifi.isOn = Main.Ins.GameStateMgr.gameStatus.OnlyWifi;
        toggleOnlyWifi.onValueChanged.AddListener(OnOnlyWifi);

        GameObject pluginTab = Control("PluginTab", WndObject);
        GameObject debugTab  = Control("DebugTab", WndObject);
        Control("PluginPrev").GetComponent <Button>().onClick.AddListener(OnPrevPagePlugin);
        Control("PluginNext").GetComponent <Button>().onClick.AddListener(OnNextPagePlugin);
        Control("AnimationDebug").GetComponent <Button>().onClick.AddListener(() => { OnBackPress(); UnityEngine.SceneManagement.SceneManager.LoadScene("DebugScene0"); });
        Control("SfxDebug").GetComponent <Button>().onClick.AddListener(() => { OnBackPress(); UnityEngine.SceneManagement.SceneManager.LoadScene("DebugScene1"); });
        PluginRoot = Control("Content", pluginTab);
        DebugRoot  = Control("Content", debugTab);

        //模组分页内的功能设定
        Control("DeletePlugin").GetComponent <Button>().onClick.AddListener(() => { U3D.DeletePlugins(); SettingDialogState.Instance.ShowTab(4); });
        Toggle togShowInstallPlugin = Control("ShowInstallToggle").GetComponent <Toggle>();
        togShowInstallPlugin.onValueChanged.AddListener((bool value) => { this.showInstallPlugin = value; Main.Ins.DlcMng.CollectAll(this.showInstallPlugin); this.PluginPageRefreshEx(); });
        togShowInstallPlugin.isOn = true;

        //透明度设定
        Control("AlphaSliderBar").GetComponent <Slider>().value = Main.Ins.GameStateMgr.gameStatus.UIAlpha;
        Control("AlphaSliderBar").GetComponent <Slider>().onValueChanged.AddListener(OnUIAlphaChange);
        Control("InstallAll").GetComponent <Button>().onClick.AddListener(OnInstallAll);

        if (Main.Ins.AppInfo.AppVersionIsSmallThan(Main.Ins.GameNotice.newVersion))
        {
            //需要更新,设置好服务器版本号,设置好下载链接
            Control("NewVersionSep", WndObject).SetActive(true);
            Control("NewVersion", WndObject).GetComponent <Text>().text = string.Format("最新版本号:{0}", Main.Ins.GameNotice.newVersion);
            Control("NewVersion", WndObject).SetActive(true);
            Control("GetNewVersion", WndObject).GetComponent <LinkLabel>().URL = Main.Ins.GameNotice.apkUrl;
            Control("GetNewVersion", WndObject).SetActive(true);
            Control("Flag", WndObject).SetActive(true);
        }

        UITab[] tabs = WndObject.GetComponentsInChildren <UITab>();
        for (int i = 0; i < tabs.Length; i++)
        {
            tabs[i].onValueChanged.AddListener(OnTabShow);
        }
    }
 void Init()
 {
     Root = Control("LevelTalk");
     WndObject.GetComponent <RectTransform>().anchoredPosition = new Vector2(145, 400);
     vscrollBar = Control("Scrollbar Vertical").GetComponent <Scrollbar>();
 }
Пример #23
0
    void Init()
    {
        clickPanel    = Control("ClickPanel");
        LevelTalkRoot = Control("LevelTalk", WndObject).transform;
        ctrl          = LevelTalkRoot.GetComponent <AutoMsgCtrl>();
        ctrl.SetConfig(2.0f, 1.5f);
        //联机不需要剧情对白面板,而使用房间聊天面板单独代替.
        if (Main.Ins.CombatData.GLevelMode == LevelMode.MultiplyPlayer)
        {
            GameObject.Destroy(Control("BattleInfo").gameObject);
        }
        else
        {
            Control("BattleInfo").GetComponent <RectTransform>().anchoredPosition = new Vector2(Main.Ins.GameStateMgr.gameStatus.ShowSysMenu2 ? 145 : -20, -175);
        }
        NodeHelper.Find("Attack", WndObject).GetComponent <GameButton>().OnPress.AddListener(OnAttackPress);
        NodeHelper.Find("Attack", WndObject).GetComponent <GameButton>().OnRelease.AddListener(OnAttackRelease);
        NodeHelper.Find("Defence", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnDefencePress);
        NodeHelper.Find("Defence", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnDefenceRelease);
        NodeHelper.Find("Jump", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnJumpPress);
        NodeHelper.Find("Jump", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnJumpRelease);
        NodeHelper.Find("ChangeWeapon", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnChangeWeaponPress);
        NodeHelper.Find("ChangeWeapon", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnChangeWeaponRelease);
        NodeHelper.Find("BreakOut", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnBreakOut);
        NodeHelper.Find("WeaponSelect", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenWeaponWnd(); });
        NodeHelper.Find("SceneName", WndObject).GetComponent <Button>().onClick.AddListener(() => { OpenMiniMap(); });
        NodeHelper.Find("SceneName", WndObject).GetComponentInChildren <Text>().text = Main.Ins.CombatData.GLevelItem.Name;
        NodeHelper.Find("System", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenSystemWnd(); });
        NodeHelper.Find("Crouch", WndObject).GetComponent <GameButton>().OnPress.AddListener(OnCrouchPress);
        NodeHelper.Find("Crouch", WndObject).GetComponent <GameButton>().OnRelease.AddListener(OnCrouchRelease);
        NodeHelper.Find("Drop", WndObject).GetComponent <Button>().onClick.AddListener(OnClickDrop);
        Unlock = NodeHelper.Find("Unlock", WndObject);
        Unlock.GetComponentInChildren <Button>().onClick.AddListener(OnClickChangeLock);
        LockSprite = NodeHelper.Find("LockSprite", Unlock).GetComponent <Image>();
        NodeHelper.Find("SfxMenu", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenSfxWnd(); });
        NodeHelper.Find("Robot", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenRobotWnd(); });
        timeLabel = NodeHelper.Find("GameTime", WndObject).GetComponent <Text>();
        hpBar     = Control("HPBar", WndObject).gameObject.GetComponent <Image>();
        angryBar  = Control("AngryBar", WndObject).gameObject.GetComponent <Image>();
        hpLabel   = Control("HPLabel", WndObject).gameObject.GetComponent <Text>();
        NodeHelper.Find("Status", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnStatusPress);
        NodeHelper.Find("Status", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnStatusRelease);
        NodeHelper.Find("Chat", WndObject).GetComponentInChildren <Button>().onClick.AddListener(OnChatClick);
        NodeHelper.Find("SysMenu2", WndObject).SetActive(
            (Main.Ins.CombatData.GLevelMode == LevelMode.CreateWorld && Main.Ins.GameStateMgr.gameStatus.ShowSysMenu2) ||
            (Main.Ins.CombatData.GLevelMode == LevelMode.SinglePlayerTask && Main.Ins.GameStateMgr.gameStatus.ShowSysMenu2) ||
            (Main.Ins.CombatData.GLevelMode == LevelMode.MultiplyPlayer));
        NodeHelper.Find("Reborn", WndObject).GetComponentInChildren <Button>().onClick.AddListener(OnRebornClick);

        //单机-金华城
        if (Main.Ins.CombatData.GLevelMode == LevelMode.SinglePlayerTask && Main.Ins.CombatData.GLevelItem.ID == 4)
        {
            NodeHelper.Find("Reborn", WndObject).SetActive(true);
        }
        else
        {
            //创建关卡,非暗杀,都不允许复活
            if (Main.Ins.CombatData.GGameMode != GameMode.ANSHA)
            {
                NodeHelper.Find("Reborn", WndObject).SetActive(false);
            }
        }

        //联机屏蔽按键-多人游戏
        if (Main.Ins.CombatData.GLevelMode == LevelMode.MultiplyPlayer)
        {
            //联机还无法复活队友.
            NodeHelper.Find("Reborn", WndObject).SetActive(false);
        }
        else
        {
            //非联机屏蔽按键-单人游戏
            NodeHelper.Find("Chat", WndObject).SetActive(false);
        }
#if !STRIP_DBG_SETTING
        NodeHelper.Find("DBG", WndObject).GetComponent <Button>().onClick.AddListener(OnDebugCanvas);
#else
        NodeHelper.Find("DBG", WndObject).SetActive(false);
#endif
        if (Main.Ins.LocalPlayer != null)
        {
            angryBar.fillAmount = 0.0f;
            UpdatePlayerInfo();
        }
        TargetBlood = Control("TargetBlood");
        TargetBlood.SetActive(false);
        TargetHp      = Control("HPBar", TargetBlood).GetComponent <Image>();
        TargetHPLabel = Control("TargetHPLabel", TargetBlood).GetComponent <Text>();
        TargetName    = Control("TargetName", TargetBlood).GetComponent <Text>();
        UpdateUIButton();
        CanvasGroup[] c = WndObject.GetComponentsInChildren <CanvasGroup>();
        for (int i = 0; i < c.Length; i++)
        {
            c[i].alpha = Main.Ins.GameStateMgr.gameStatus.UIAlpha;
        }
#if (UNITY_EDITOR || UNITY_STANDALONE_WIN) && !STRIP_KEYBOARD
        Control("ClickPanel").SetActive(false);
        Control("JoyArrow").SetActive(false);
#endif
    }
Пример #24
0
 protected override bool OnOpen()
 {
     WinStyle = WindowStyle.WS_Ext;
     loadbar  = WndObject.GetComponent <UILoadingBar>();
     return(base.OnOpen());
 }
Пример #25
0
    private IEnumerator OpenAsyc(OnOpenCallBack callBack)
    {
        if (mWndObject)
        {
            GameObject.Destroy(mWndObject);
        }

        if (!WindowList.ActiveWindowList.ContainsKey(PrefabName))
        {
            WindowList.ActiveWindowList.Add(PrefabName, this);
            WindowList.ActiveWindowTypeList.Add(PrefabName, GetType());
        }


        var req = Resources.LoadAsync <GameObject>(PrefabName);

        yield return(req);

        var scale    = (req.asset as GameObject).transform.localScale;
        var position = (req.asset as GameObject).transform.localPosition;

        mWndObject = GameObject.Instantiate(req.asset) as GameObject;

        if (mWndObject == null)
        {
            Debug.LogWarning("OpenAsyc win object is null");
            yield break;
        }

        WindowHelper    = mWndObject.AddComponent <WindowHelper>();
        mWndObject.name = PrefabName;
        mWndObject.SetActive(true);
        IsLoaded = true;

        mRootUI = GameObject.Find("WindowsRoot/Camera");

        if (FullWindows.Contains(PrefabName))
        {
            mCullingMask            = Camera.main.cullingMask;
            Camera.main.cullingMask = 0;

            //var original = Resources.Load("BackgroundExtWnd") as GameObject;
            var original = Resources.Load("BackgroundExtWndTransparent") as GameObject;
            mExtBackground = NGUITools.AddChild(mRootUI, original);
        }

        WndObject.transform.parent        = mRootUI.transform;
        WndObject.transform.localPosition = position;
        WndObject.transform.localScale    = scale;

        BindUi();

        if (AUi != null)
        {
            foreach (var aUiClass in AUi)
            {
                if (aUiClass != null)
                {
                    aUiClass.Bind(WndObject, this);
                }
            }
        }

        OnOpen();

        var e = OnAsyncOpen().GetEnumerator();

        while (e.MoveNext())
        {
            yield return(e.Current);
        }

        OnStart();

        var peekaboo = WndObject.GetComponent <UiPeeKaBoo>() ?? WndObject.GetComponentInChildren <UiPeeKaBoo>();

        if (peekaboo != null)
        {
            yield return(new WaitForEndOfFrame());

            yield return(new WaitForEndOfFrame());

            if (peekaboo.Tweens.Length > 0)
            {
                foreach (var t in peekaboo.Tweens)
                {
                    foreach (var tw in t.GetComponents <UITweener>())
                    {
                        tw.PlayForward();
                    }
                }
            }
            else
            {
                foreach (var tw in WndObject.GetComponents <UITweener>())
                {
                    tw.PlayForward();
                }
            }
        }

        if (callBack != null)
        {
            callBack();
        }
    }
Пример #26
0
    void Init()
    {
        Control("Return").GetComponent <Button>().onClick.AddListener(() =>
        {
            GameStateMgr.Ins.SaveState();
            Main.Ins.DialogStateManager.ChangeState(Main.Ins.DialogStateManager.MainMenuState);
        });

        Control("DeleteState").GetComponent <Button>().onClick.AddListener(() =>
        {
            GameStateMgr.Ins.ResetState();
            Init();
        });

        Control("ChangeLog").GetComponent <Text>().text  = Resources.Load <TextAsset>("ChangeLog").text;
        Control("AuthorText").GetComponent <Text>().text = Resources.Load <TextAsset>("Author").text;
        Text cheat = Control("CheatCodeList").GetComponent <Text>();

        cheat.text     = Resources.Load <TextAsset>("CheatCodeList").text;
        cheat.fontSize = 33;
        Control("AppVerText").GetComponent <Text>().text    = Main.Ins.AppInfo.AppVersion();
        Control("MeteorVerText").GetComponent <Text>().text = Main.Ins.AppInfo.MeteorVersion;
        Control("DoScript").GetComponent <Button>().onClick.AddListener(() => { U3D.DoScript(); });
        Control("Nick").GetComponentInChildren <Text>().text = GameStateMgr.Ins.gameStatus.NickName;
        Control("Nick").GetComponent <Button>().onClick.AddListener(
            () =>
        {
            NickNameDialogState.State.Open();
        }
            );

        lowPerfor      = Control("LowPerformance").GetComponent <Toggle>();
        lowPerfor.isOn = GameStateMgr.Ins.gameStatus.TargetFrame == 30;
        lowPerfor.onValueChanged.AddListener(OnChangePerformance);

        LowMiddle      = Control("LowMiddle").GetComponent <Toggle>();
        LowMiddle.isOn = GameStateMgr.Ins.gameStatus.TargetFrame == 60;
        LowMiddle.onValueChanged.AddListener(OnChangePerformance);

        highPerfor      = Control("HighPerformance").GetComponent <Toggle>();
        highPerfor.isOn = GameStateMgr.Ins.gameStatus.TargetFrame == 90;
        highPerfor.onValueChanged.AddListener(OnChangePerformance);

        superHighPerfor      = Control("SuperHighPerformance").GetComponent <Toggle>();
        superHighPerfor.isOn = GameStateMgr.Ins.gameStatus.TargetFrame == 120;
        superHighPerfor.onValueChanged.AddListener(OnChangePerformance);

        Toggle High   = Control("High").GetComponent <Toggle>();
        Toggle Medium = Control("Medium").GetComponent <Toggle>();
        Toggle Low    = Control("Low").GetComponent <Toggle>();

        High.isOn   = GameStateMgr.Ins.gameStatus.Quality == 0;
        Medium.isOn = GameStateMgr.Ins.gameStatus.Quality == 1;
        Low.isOn    = GameStateMgr.Ins.gameStatus.Quality == 2;
        High.onValueChanged.AddListener((bool selected) => { if (selected)
                                                             {
                                                                 GameStateMgr.Ins.gameStatus.Quality = 0;
                                                             }
                                        });
        Medium.onValueChanged.AddListener((bool selected) => { if (selected)
                                                               {
                                                                   GameStateMgr.Ins.gameStatus.Quality = 1;
                                                               }
                                          });
        Low.onValueChanged.AddListener((bool selected) => { if (selected)
                                                            {
                                                                GameStateMgr.Ins.gameStatus.Quality = 2;
                                                            }
                                       });
        Toggle ShowTargetBlood = Control("ShowTargetBlood").GetComponent <Toggle>();

        ShowTargetBlood.isOn = GameStateMgr.Ins.gameStatus.ShowBlood;
        ShowTargetBlood.onValueChanged.AddListener((bool selected) => { GameStateMgr.Ins.gameStatus.ShowBlood = selected; });
        Toggle ShowFPS = Control("ShowFPS").GetComponent <Toggle>();

        ShowFPS.isOn = GameStateMgr.Ins.gameStatus.ShowFPS;
        ShowFPS.onValueChanged.AddListener((bool selected) => { GameStateMgr.Ins.gameStatus.ShowFPS = selected; Main.Ins.ShowFps(selected); });

        if (Main.Ins != null)
        {
            Control("BGMSlider").GetComponent <Slider>().value    = GameStateMgr.Ins.gameStatus.MusicVolume;
            Control("EffectSlider").GetComponent <Slider>().value = GameStateMgr.Ins.gameStatus.SoundVolume;
        }
        Control("BGMSlider").GetComponent <Slider>().onValueChanged.AddListener(OnMusicVolumeChange);
        Control("EffectSlider").GetComponent <Slider>().onValueChanged.AddListener(OnEffectVolumeChange);
        Control("SetJoyPosition").GetComponent <Button>().onClick.AddListener(OnSetUIPosition);

        Toggle EnableGamePad = Control("EnableGamePad").GetComponent <Toggle>();

        EnableGamePad.isOn = GameStateMgr.Ins.gameStatus.UseGamePad;
        EnableGamePad.onValueChanged.AddListener((bool selected) => { GameStateMgr.Ins.gameStatus.UseGamePad = selected; Main.Ins.JoyStick.enabled = selected; });

        Toggle EnableMouse = Control("EnableMouse").GetComponent <Toggle>();

        EnableMouse.isOn = GameStateMgr.Ins.gameStatus.UseMouse;
        EnableMouse.onValueChanged.AddListener((bool selected) => { GameStateMgr.Ins.gameStatus.UseMouse = selected; });

        //显示战斗界面的调试按钮
        Toggle toggleDebug = Control("EnableSFX").GetComponent <Toggle>();

        toggleDebug.isOn = GameStateMgr.Ins.gameStatus.EnableDebugSFX;
        toggleDebug.onValueChanged.AddListener(OnEnableDebugSFX);
        //显示战斗界面的调试按钮
        Toggle toggleRobot = Control("EnableRobot").GetComponent <Toggle>();

        toggleRobot.isOn = GameStateMgr.Ins.gameStatus.EnableDebugRobot;
        toggleRobot.onValueChanged.AddListener(OnEnableDebugRobot);

        //显示武器挑选按钮
        Toggle toggleEnableFunc = Control("EnableWeaponChoose").GetComponent <Toggle>();

        toggleEnableFunc.isOn = GameStateMgr.Ins.gameStatus.EnableWeaponChoose;
        toggleEnableFunc.onValueChanged.AddListener(OnEnableWeaponChoose);
        //无限气
        Toggle toggleEnableInfiniteAngry = Control("EnableInfiniteAngry").GetComponent <Toggle>();

        toggleEnableInfiniteAngry.isOn = GameStateMgr.Ins.gameStatus.EnableInfiniteAngry;
        toggleEnableInfiniteAngry.onValueChanged.AddListener(OnEnableInfiniteAngry);

        //无锁定
        Toggle toggleDisableLock = Control("CameraLock").GetComponent <Toggle>();

        toggleDisableLock.isOn = GameStateMgr.Ins.gameStatus.AutoLock;
        toggleDisableLock.onValueChanged.AddListener(OnDisableLock);

        Toggle toggleEnableGodMode = Control("EnableGodMode").GetComponent <Toggle>();

        toggleEnableGodMode.isOn = GameStateMgr.Ins.gameStatus.EnableGodMode;
        toggleEnableGodMode.onValueChanged.AddListener(OnEnableGodMode);

        Toggle toggleHidePlayer = Control("HidePlayer").GetComponent <Toggle>();

        toggleHidePlayer.isOn = GameStateMgr.Ins.gameStatus.HidePlayer;
        toggleHidePlayer.onValueChanged.AddListener(OnHidePlayer);

        Toggle toggleEnableUndead = Control("EnableUnDead").GetComponent <Toggle>();

        toggleEnableUndead.isOn = GameStateMgr.Ins.gameStatus.Undead;
        toggleEnableUndead.onValueChanged.AddListener(OnEnableUndead);

        Toggle toggleShowWayPoint = Control("ShowWayPoint").GetComponent <Toggle>();

        toggleShowWayPoint.isOn = GameStateMgr.Ins.gameStatus.ShowWayPoint;
        toggleShowWayPoint.onValueChanged.AddListener(OnShowWayPoint);
        Control("ChangeV107").GetComponent <Button>().onClick.AddListener(() => { OnChangeVer("1.07"); });
        Control("ChangeV907").GetComponent <Button>().onClick.AddListener(() => { OnChangeVer("9.07"); });
        Control("UnlockAll").GetComponent <Button>().onClick.AddListener(() => { U3D.UnlockLevel(); });

        //粒子特效
        Toggle toggleDisableParticle = Control("Particle").GetComponent <Toggle>();

        toggleDisableParticle.isOn = GameStateMgr.Ins.gameStatus.DisableParticle;
        toggleDisableParticle.onValueChanged.AddListener(OnDisableParticle);
        OnDisableParticle(toggleDisableParticle.isOn);

        Toggle toggleJoyEnable = Control("EnableJoy").GetComponent <Toggle>();

        toggleJoyEnable.isOn = GameStateMgr.Ins.gameStatus.JoyEnable;
        toggleJoyEnable.onValueChanged.AddListener(OnJoyEnable);

        Toggle toggleJoyOnlyRotate = Control("JoyOnlyRotate").GetComponent <Toggle>();

        toggleJoyOnlyRotate.isOn = GameStateMgr.Ins.gameStatus.JoyRotateOnly;
        toggleJoyOnlyRotate.onValueChanged.AddListener(OnJoyRotateOnly);


        GameObject debugTab    = Control("DebugTab", WndObject);
        Toggle     debugToggle = Control("Debug", WndObject).GetComponent <Toggle>();
        Toggle     cheatToggle = Control("Cheat", WndObject).GetComponent <Toggle>();

        DebugRoot = Control("Content", debugTab);

        if (Main.Ins.AppInfo.AppVersionIsSmallThan(Main.Ins.GameNotice.newVersion))
        {
            //需要更新,设置好服务器版本号,设置好下载链接
            Control("NewVersionSep", WndObject).SetActive(true);
            Control("NewVersion", WndObject).GetComponent <Text>().text = string.Format("最新版本号:{0}", Main.Ins.GameNotice.newVersion);
            Control("NewVersion", WndObject).SetActive(true);
            Control("GetNewVersion", WndObject).GetComponent <LinkLabel>().URL = Main.Ins.GameNotice.apkUrl;
            Control("GetNewVersion", WndObject).SetActive(true);
            Control("Flag", WndObject).SetActive(true);
        }

        UITab[] tabs = WndObject.GetComponentsInChildren <UITab>();
        for (int i = 0; i < tabs.Length; i++)
        {
            tabs[i].onValueChanged.AddListener(OnTabShow);
        }

        //把一些模式禁用,例如作弊之类的.
        if (GameStateMgr.Ins.gameStatus.CheatEnable)
        {
            debugToggle.gameObject.SetActive(true);
            cheatToggle.gameObject.SetActive(true);
        }
        else
        {
            Control("EnableRobot").SetActive(false);//屏蔽可添加电脑
            Control("EnableWeaponChoose").SetActive(false);
            Control("ShowWayPoint").SetActive(false);
            Control("EnableUnDead").SetActive(false);
            Control("EnableGodMode").SetActive(false);
            Control("EnableInfiniteAngry").SetActive(false);
            Control("EnableSFX").SetActive(false);
        }

        LoadDebugLevel();
        //起始页显示
        OnTabShow(true);

        Button JoyW = Control("JoyW").GetComponent <Button>();

        JoyW.onClick.AddListener(() => { FlashButton(JoyW, EKeyList.KL_KeyW, "上:[{0}]"); });

        Button JoyS = Control("JoyS").GetComponent <Button>();

        JoyS.onClick.AddListener(() => { FlashButton(JoyS, EKeyList.KL_KeyS, "下:[{0}]"); });

        Button JoyA = Control("JoyA").GetComponent <Button>();

        JoyA.onClick.AddListener(() => { FlashButton(JoyA, EKeyList.KL_KeyA, "左:[{0}]"); });

        Button JoyD = Control("JoyD").GetComponent <Button>();

        JoyD.onClick.AddListener(() => { FlashButton(JoyD, EKeyList.KL_KeyD, "右:[{0}]"); });

        Button JoyCW = Control("JoyCW").GetComponent <Button>();

        JoyCW.onClick.AddListener(() => { FlashButton(JoyCW, EKeyList.KL_CameraAxisYU, "视角上:[{0}]"); });

        Button JoyCS = Control("JoyCS").GetComponent <Button>();

        JoyCS.onClick.AddListener(() => { FlashButton(JoyCS, EKeyList.KL_CameraAxisYD, "视角下:[{0}]"); });

        Button JoyCA = Control("JoyCA").GetComponent <Button>();

        JoyCA.onClick.AddListener(() => { FlashButton(JoyCA, EKeyList.KL_CameraAxisXL, "视角左:[{0}]"); });

        Button JoyCD = Control("JoyCD").GetComponent <Button>();

        JoyCD.onClick.AddListener(() => { FlashButton(JoyCD, EKeyList.KL_CameraAxisXR, "视角右:[{0}]"); });

        Button JoyAttack = Control("JoyAttack").GetComponent <Button>();

        JoyAttack.onClick.AddListener(() => { FlashButton(JoyAttack, EKeyList.KL_Attack, "攻击:[{0}]"); });

        Button JoyDefence = Control("JoyDefence").GetComponent <Button>();

        JoyDefence.onClick.AddListener(() => { FlashButton(JoyDefence, EKeyList.KL_Defence, "防守:[{0}]"); });

        Button JoyJump = Control("JoyJump").GetComponent <Button>();

        JoyJump.onClick.AddListener(() => { FlashButton(JoyJump, EKeyList.KL_Jump, "跳跃:[{0}]"); });

        Button JoyBurst = Control("JoyBurst").GetComponent <Button>();

        JoyBurst.onClick.AddListener(() => { FlashButton(JoyBurst, EKeyList.KL_BreakOut, "爆气:[{0}]"); });

        Button JoyChangeWeapon = Control("JoyChangeWeapon").GetComponent <Button>();

        JoyChangeWeapon.onClick.AddListener(() => { FlashButton(JoyChangeWeapon, EKeyList.KL_ChangeWeapon, "切换武器:[{0}]"); });

        Button JoyDrop = Control("JoyDrop").GetComponent <Button>();

        JoyDrop.onClick.AddListener(() => { FlashButton(JoyDrop, EKeyList.KL_DropWeapon, "丢弃武器:[{0}]"); });

        Button JoyCrouch = Control("JoyCrouch").GetComponent <Button>();

        JoyCrouch.onClick.AddListener(() => { FlashButton(JoyCrouch, EKeyList.KL_Crouch, "蹲下:[{0}]"); });

        Button JoyUnlock = Control("JoyUnlock").GetComponent <Button>();

        JoyUnlock.onClick.AddListener(() => { FlashButton(JoyUnlock, EKeyList.KL_KeyQ, "锁定:[{0}]"); });

        Button JoyHelp = Control("JoyHelp").GetComponent <Button>();

        JoyHelp.onClick.AddListener(() => { FlashButton(JoyHelp, EKeyList.KL_Help, "救助:[{0}]"); });
    }
Пример #27
0
    void Init()
    {
        Prev = Control("Prev");
        Next = Control("Next");
        Button PrevBtn = Control("PrevPanel").GetComponent <Button>();
        Button NextBtn = Control("NextPanel").GetComponent <Button>();

        PrevBtn.onClick.AddListener(U3D.WatchPrevRobot);
        NextBtn.onClick.AddListener(U3D.WatchNextRobot);
        Position      = Control("Position").GetComponent <Text>();
        clickPanel    = Control("ClickPanel");
        LevelTalkRoot = Control("LevelTalk", WndObject).transform;
        ctrl          = LevelTalkRoot.GetComponent <AutoMsgCtrl>();
        ctrl.SetConfig(2.0f, 1.5f);
        //联机不需要剧情对白面板,而使用房间聊天面板单独代替.
        if (U3D.IsMultiplyPlayer())
        {
            GameObject.Destroy(Control("BattleInfo").gameObject);
        }
        else
        {
            Control("BattleInfo").GetComponent <RectTransform>().anchoredPosition = new Vector2(145, -175);
        }
        NodeHelper.Find("Attack", WndObject).GetComponent <GameButton>().OnPress.AddListener(OnAttackPress);
        NodeHelper.Find("Attack", WndObject).GetComponent <GameButton>().OnRelease.AddListener(OnAttackRelease);
        NodeHelper.Find("Defence", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnDefencePress);
        NodeHelper.Find("Defence", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnDefenceRelease);
        NodeHelper.Find("Jump", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnJumpPress);
        NodeHelper.Find("Jump", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnJumpRelease);
        NodeHelper.Find("ChangeWeapon", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnChangeWeaponPress);
        NodeHelper.Find("ChangeWeapon", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnChangeWeaponRelease);
        NodeHelper.Find("BreakOut", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnBreakOut);
        NodeHelper.Find("WeaponSelect", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenWeaponWnd(); });
        NodeHelper.Find("SceneName", WndObject).GetComponent <Button>().onClick.AddListener(() => { OpenMiniMap(); });
        NodeHelper.Find("SceneName", WndObject).GetComponentInChildren <Text>().text = CombatData.Ins.GLevelItem.Name;
        NodeHelper.Find("System", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenSystemWnd(); });
        NodeHelper.Find("Crouch", WndObject).GetComponent <GameButton>().OnPress.AddListener(OnCrouchPress);
        NodeHelper.Find("Crouch", WndObject).GetComponent <GameButton>().OnRelease.AddListener(OnCrouchRelease);
        NodeHelper.Find("Drop", WndObject).GetComponent <Button>().onClick.AddListener(OnClickDrop);
        Unlock = NodeHelper.Find("Unlock", WndObject);
        Unlock.GetComponentInChildren <Button>().onClick.AddListener(OnClickChangeLock);
        LockSprite = NodeHelper.Find("LockSprite", Unlock).GetComponent <Image>();
        NodeHelper.Find("SfxMenu", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenSfxWnd(); });
        NodeHelper.Find("Robot", WndObject).GetComponentInChildren <Button>().onClick.AddListener(() => { U3D.OpenRobotWnd(); });
        timeLabel = NodeHelper.Find("GameTime", WndObject).GetComponent <Text>();
        hpBar     = Control("HPBar", WndObject).gameObject.GetComponent <Image>();
        angryBar  = Control("AngryBar", WndObject).gameObject.GetComponent <Image>();
        hpLabel   = Control("HPLabel", WndObject).gameObject.GetComponent <Text>();
        NodeHelper.Find("Status", WndObject).GetComponentInChildren <GameButton>().OnPress.AddListener(OnStatusPress);
        NodeHelper.Find("Status", WndObject).GetComponentInChildren <GameButton>().OnRelease.AddListener(OnStatusRelease);
        NodeHelper.Find("Chat", WndObject).GetComponentInChildren <Button>().onClick.AddListener(OnChatClick);
        Control("SkillHotArea").GetComponent <Button>().onClick.AddListener(ShowSkillBar);
        NodeHelper.Find("Reborn", WndObject).GetComponentInChildren <Button>().onClick.AddListener(OnRebornClick);
        NodeHelper.Find("SysMenu2", WndObject).SetActive(true);
        //单机-金华城-只有这一关能复活冷燕
        if (CombatData.Ins.GLevelMode == LevelMode.SinglePlayerTask && CombatData.Ins.GLevelItem.Id == 4)
        {
            NodeHelper.Find("Reborn", WndObject).SetActive(true);
        }
        else
        {
            //创建关卡,非暗杀,都不允许复活
            if (CombatData.Ins.GGameMode != GameMode.ANSHA)
            {
                NodeHelper.Find("Reborn", WndObject).SetActive(false);
            }
        }

        //联机屏蔽按键-多人游戏
        if (U3D.IsMultiplyPlayer())
        {
            //联机还无法复活队友.
            NodeHelper.Find("Reborn", WndObject).SetActive(false);
        }
        else
        {
            //非联机屏蔽按键-单人游戏
            NodeHelper.Find("Chat", WndObject).SetActive(false);
        }

        if (Main.Ins.LocalPlayer != null)
        {
            angryBar.fillAmount = 0.0f;
            UpdatePlayerInfo();
        }
        TargetBlood = Control("TargetBlood");
        TargetBlood.SetActive(false);
        TargetHp      = Control("HPBar", TargetBlood).GetComponent <Image>();
        TargetHPLabel = Control("TargetHPLabel", TargetBlood).GetComponent <Text>();
        TargetName    = Control("TargetName", TargetBlood).GetComponent <Text>();
        UpdateUIButton();
        CanvasGroup[] c = WndObject.GetComponentsInChildren <CanvasGroup>();
        for (int i = 0; i < c.Length; i++)
        {
            c[i].alpha = GameStateMgr.Ins.gameStatus.UIAlpha;
        }
        //使用手柄时,不再显示右下侧按键和方向盘.
        if (GameStateMgr.Ins.gameStatus.UseGamePad)
        {
            Control("ClickPanel").SetActive(false);
            Control("JoyArrow").SetActive(false);
        }

        OnBattleStart();
        Menu2HotArea = Control("Menu2HotArea", WndObject);
        Menu2HotArea.GetComponent <Button>().onClick.AddListener(ShowSysMenu2);
        Menu2HotArea.SetActive(false);
        Control("HideBtn", WndObject).GetComponent <Button>().onClick.AddListener(SysMenu2Hide);
    }