コード例 #1
0
 public void OnTip(bool bshow, IXUIObject uiObject)
 {
     if (this.m_tipShowEventHandler != null)
     {
         this.m_tipShowEventHandler(bshow, uiObject);
     }
 }
コード例 #2
0
ファイル: WidgetFactory.cs プロジェクト: ly774508966/GameDemo
        /// <summary>
        /// 查找节点下所有的UI组件,缓存到字典里面
        /// </summary>
        /// <param name="trans"></param>
        /// <param name="parent"></param>
        /// <param name="dicAllUIObjects"></param>
        public static void FindAllUIObjects(Transform trans, IXUIObject parent, ref Dictionary <string, XUIObjectBase> dicAllUIObjects)
        {
            int i = 0;

            while (i < trans.childCount)
            {
                Transform     child     = trans.GetChild(i);
                XUIObjectBase component = child.GetComponent <XUIObjectBase>();
                if (!(null != component))
                {
                    goto IL_85;
                }
                if (component.GetType().GetInterface("IXUIListItem") == null)
                {
                    if (dicAllUIObjects.ContainsKey(component.name))
                    {
                        Debug.Log(component.name);
                        Debug.LogError("m_dicId2UIObject.ContainsKey:" + WidgetFactory.GetUIObjectId(component));
                    }
                    dicAllUIObjects[component.name] = component;
                    component.Parent = parent;
                    goto IL_85;
                }
                else
                {
                    Debug.Log("fdsfd");
                }
IL_8F:
                i++;
                continue;
IL_85:
                WidgetFactory.FindAllUIObjects(child, parent, ref dicAllUIObjects);
                goto IL_8F;
            }
        }
コード例 #3
0
ファイル: WidgetFactory.cs プロジェクト: ly774508966/GameDemo
        /// <summary>
        /// 取得该组件所在的id(包含父亲节点的id)
        /// </summary>
        /// <param name="uiObject"></param>
        /// <returns></returns>
        public static string GetUIObjectId(IXUIObject uiObject)
        {
            string result;

            if (null == uiObject)
            {
                result = string.Empty;
            }
            else
            {
                string       text         = uiObject.CacheGameObject.name;
                IXUIListItem iXUIListItem = uiObject as IXUIListItem;
                if (iXUIListItem != null)
                {
                    text = iXUIListItem.Id.ToString();
                }
                while (null != uiObject.Parent)
                {
                    uiObject = uiObject.Parent;
                    string arg = uiObject.CacheGameObject.name;
                    iXUIListItem = (uiObject as IXUIListItem);
                    if (null != iXUIListItem)
                    {
                        arg = iXUIListItem.Id.ToString();
                    }
                    text = string.Format("{0}#{1}", arg, text);
                }
                result = text;
            }
            return(result);
        }
コード例 #4
0
        /// <summary>
        /// 找到所以在这个UI界面下的UI组件
        /// </summary>
        /// <param name="trans">界面的transform</param>
        /// <param name="parent">界面父类节点</param>
        /// <param name="dicAllUIObject">所有界面里的ui组件</param>
        public static void FindAllUIObjects(Transform trans, IXUIObject parent, ref Dictionary <string, XUIObjectBase> dicAllUIObject)
        {
            int i = 0;

            while (i < trans.childCount)
            {
                Transform     child     = trans.GetChild(i);
                XUIObjectBase component = child.GetComponent <XUIObjectBase>();
                if (component == null)
                {
                    goto IL_67;
                }
                //如果不是ListItem就加到dicAllUIObject里面
                if (component.GetType().GetInterface("IXUIListItem") == null)
                {
                    if (dicAllUIObject.ContainsKey(component.name))
                    {
                        Debug.LogError("m_dicId2UIObject.ContainsKey:" + LocalWidgetTool.GetUIObjectId(component));
                    }
                    dicAllUIObject[component.name] = component;
                    component.parent = parent;
                    goto IL_67;
                }
IL_6F:
                i++;
                continue;
IL_67:
                LocalWidgetTool.FindAllUIObjects(child, parent, ref dicAllUIObject);
                goto IL_6F;
            }
        }
コード例 #5
0
        /// <summary>
        /// 获取UI组件的id
        /// </summary>
        /// <param name="iXUIObject"></param>
        /// <returns></returns>
        public static string GetUIObjectId(IXUIObject iXUIObject)
        {
            if (iXUIObject == null)
            {
                return(string.Empty);
            }
            string       text         = iXUIObject.CachedGameObject.name;
            IXUIListItem iXUIListItem = iXUIObject as IXUIListItem;

            if (iXUIListItem != null)
            {
                text = iXUIListItem.Id.ToString();
            }
            while (iXUIObject.parent != null)
            {
                iXUIObject = iXUIObject.parent;
                string arg = iXUIObject.CachedGameObject.name;
                iXUIListItem = (iXUIObject as IXUIListItem);
                if (iXUIListItem != null)
                {
                    arg = iXUIListItem.Id.ToString();
                }
                text = string.Format("{0}#{1}", arg, text);
            }
            return(text);
        }
コード例 #6
0
        public static T CreateWidget <T>() where T : class, IXUIObject
        {
            IXUIObject iXUIObject = null;

            WidgetFactory.s_dicAllErrorWidget.TryGetValue(typeof(T), out iXUIObject);
            return(iXUIObject as T);
        }
コード例 #7
0
 public static void S_OnTip(bool bshow, IXUIObject uiObject)
 {
     if (null != XUITool.Instance)
     {
         XUITool.Instance.OnTip(bshow, uiObject);
     }
 }
コード例 #8
0
        /// <summary>
        /// 播放特效
        /// </summary>
        /// <param name="id"></param>
        /// <param name="unCastId"></param>
        /// <param name="vec3SrcPos"></param>
        /// <param name="uiObjCast"></param>
        /// <param name="unTargetId"></param>
        /// <param name="vec3DestPos"></param>
        /// <param name="uiObjTarget"></param>
        /// <param name="vec3FixDir"></param>
        /// <returns></returns>
        public int PlayEffect(int id, long unCastId, Vector3 vec3SrcPos, IXUIObject uiObjCast, long unTargetId, Vector3 vec3DestPos, IXUIObject uiObjTarget, Vector3 vec3FixDir)
        {
            Beast caster = Singleton <BeastManager> .singleton.GetBeastById(unCastId);

            Beast target = Singleton <BeastManager> .singleton.GetBeastById(unTargetId);

            return(base.PlayEffect(id, caster, vec3SrcPos, uiObjCast, target, vec3DestPos, uiObjTarget, vec3FixDir));
        }
コード例 #9
0
 public void SetFocus(IXUIObject uiObject)
 {
     if (uiObject == null)
     {
         return;
     }
     UICamera.selectedObject = uiObject.CachedGameObject;
 }
コード例 #10
0
 protected override void OnAwake()
 {
     base.OnAwake();
     if (null == base.transform.parent)
     {
         this.parent = null;
         return;
     }
 }
コード例 #11
0
ファイル: DlgMain.cs プロジェクト: bianchengxiaobei/BeastGame
 private bool OnClickUpNormalAttack(IXUIObject button)
 {
     Debug.Log("Press Up");
     if (Singleton <OpStateManager> .singleton.OnClickSkill(EnumSkillType.eSkillType_Skill, 1))
     {
         return(true);
     }
     return(false);
 }
コード例 #12
0
ファイル: XUIListItem.cs プロジェクト: githuanl/NewBeastGame
    /// <summary>
    /// 设置是否可见
    /// </summary>
    /// <param name="strId"></param>
    /// <param name="vVisible"></param>
    public void SetVisible(string strId, bool bVisible)
    {
        IXUIObject uIObject = this.GetUIObject(strId);

        if (uIObject != null)
        {
            uIObject.SetVisible(bVisible);
        }
    }
コード例 #13
0
    /// <summary>
    /// 播放UI特效
    /// </summary>
    protected void PlayEffect()
    {
        IXUIObject iXUIObject = string.IsNullOrEmpty(this.m_strUIName) ? null : UIManager.singleton.GetUIObject(this.m_strUIName);

        if (iXUIObject != null && this.m_nEffectId == 0)
        {
            this.m_uiTarget = SafeXUIObject.GetSafeXUIObject(iXUIObject);
        }
    }
コード例 #14
0
        public static void OnDestoryXUIObject(IXUIObject uiObject)
        {
            SafeXUIObject safeXUIObject = null;

            if (SafeXUIObject.s_dicAllSafeXUIObject.TryGetValue(uiObject, out safeXUIObject))
            {
                safeXUIObject.UIObject = null;
                SafeXUIObject.s_dicAllSafeXUIObject.Remove(uiObject);
            }
        }
コード例 #15
0
ファイル: DlgMain.cs プロジェクト: bianchengxiaobei/BeastGame
 private bool OnClickDownNormalAttack(IXUIObject button)
 {
     Debug.Log("Press Down");
     if (Singleton <BeastRole> .singleton.Beast.Id == Singleton <RoomManager> .singleton.BeastIdInRound)
     {
         Debug.Log("发送进入到使用技能的阶段");
         NetworkManager.singleton.SendBeastEnterStage((int)EClientRoleStage.ROLE_STAGE_ACTION);
     }
     if (Singleton <OpStateManager> .singleton.OnSelectSkill(EnumSkillType.eSkillType_Skill, 1))
     {
         return(true);
     }
     Debug.Log("False");
     return(false);
 }
コード例 #16
0
ファイル: DlgRoom.cs プロジェクト: githuanl/NewBeastGame
    private void RefreshPlayerInfo(IXUIListItem item, BeastData beast)
    {
        //DataBeastlist dataBeast = GameData<DataBeastlist>.dataMap[beast.BeastTypeId];
        DataBeastlist dataBeast = null;

        GameData <DataBeastlist> .dataMap.TryGetValue(beast.BeastTypeId, out dataBeast);

        IXUISprite icon = item.GetUIObject("Sprite_Icon") as IXUISprite;

        if (dataBeast != null)
        {
            //如果是自己的阵营,就显示头像。地方就显示随机头像
            if (beast.CampType == Singleton <PlayerRole> .singleton.CampType)
            {
                icon.SetSprite(dataBeast.IconFile, UIManager.singleton.GetAtlasName(EnumAtlasType.Beast, dataBeast.IconFile));
            }
            else
            {
                //icon.SetSprite("Window");
                icon.SetSprite(dataBeast.IconFile, UIManager.singleton.GetAtlasName(EnumAtlasType.Beast, dataBeast.IconFile));
            }
        }
        else
        {
            if (beast.BeastTypeId == this.m_unRandomBeastID)
            {
                icon.SetSprite("9");
            }
        }
        bool     visible   = Singleton <RoomManager> .singleton.IsObserver || Singleton <PlayerRole> .singleton.CampType == beast.CampType;
        IXUIList equipList = item.GetUIObject("List_Equip") as IXUIList;

        if (equipList != null)
        {
        }
        else
        {
            XLog.Log.Error("null == uiListEquip");
        }
        this.RefreshItemEnable(item, beast.Id);
        IXUIObject uiObject = item.GetUIObject("Texture_Shadow");

        if (uiObject != null)
        {
            uiObject.SetVisible(false);
        }
        item.Id = beast.Id;
    }
コード例 #17
0
        public static SafeXUIObject GetSafeXUIObject(IXUIObject uiObject)
        {
            if (uiObject == null)
            {
                return(null);
            }
            SafeXUIObject safeXUIObject = null;

            if (SafeXUIObject.s_dicAllSafeXUIObject.TryGetValue(uiObject, out safeXUIObject))
            {
                return(safeXUIObject);
            }
            safeXUIObject = new SafeXUIObject(uiObject);
            SafeXUIObject.s_dicAllSafeXUIObject.Add(uiObject, safeXUIObject);
            return(safeXUIObject);
        }
コード例 #18
0
        /// <summary>
        /// 取得ui组件,根据ui的名字id
        /// </summary>
        /// <param name="strUIObjectId"></param>
        /// <returns></returns>
        public IXUIObject GetUIObject(string strUIObjectId)
        {
            if (string.IsNullOrEmpty(strUIObjectId))
            {
                return(null);
            }
            string[] array = strUIObjectId.Split(new char[]
            {
                '#'
            });
            IXUIDlg iXUIDlg = this.GetDlg(array[0]);

            if (iXUIDlg == null || iXUIDlg.uiBehaviourInterface == null)
            {
                return(null);
            }
            IXUIObject iXUIObject = iXUIDlg.uiBehaviourInterface;

            try
            {
                for (int i = 1; i < array.Length; i++)
                {
                    string strPath = array[i];
                    iXUIObject = iXUIObject.GetUIObject(strPath);//取得这个界面的组件
                    IXUIList iXUIList = iXUIObject as IXUIList;
                    if (iXUIList != null)
                    {
                        i++;
                        if (i < array.Length)
                        {
                            uint num = Convert.ToUInt32(array[i]);
                            iXUIObject = iXUIList.GetItemById(num, true);
                            if (iXUIObject == null)
                            {
                                this.m_log.Error(string.Format("null == uiObject:{0}:{1}", strPath, num));
                                return(null);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                this.m_log.Fatal(e.ToString());
            }
            return(iXUIObject);
        }
コード例 #19
0
ファイル: DlgRoom.cs プロジェクト: githuanl/NewBeastGame
 /// <summary>
 /// 我方和敌方的选择神兽列表刷新
 /// </summary>
 /// <param name="uiList"></param>
 /// <param name="listPlayerData"></param>
 /// <param name="eCampType"></param>
 private void SetPlayerInfoToList(IXUIList uiList, List <PlayerData> listPlayerData, ECampType eCampType)
 {
     if (uiList != null)
     {
         for (int i = 0; i < uiList.Count; i++)
         {
             IXUIListItem item = uiList.GetItemByIndex(i);
             if (item != null)
             {
                 item.Clear();
                 IXUIList equip = item.GetUIObject("List_Equip") as IXUIList;
                 if (equip != null)
                 {
                     for (int j = 0; j < equip.Count; j++)
                     {
                         IXUIListItem equipItem = equip.GetItemByIndex(j);
                         if (equipItem != null)
                         {
                             equipItem.Clear();//清空装备icon
                         }
                     }
                 }
                 IXUIObject uiObject = item.GetUIObject("Texture_Shadow") as IXUIObject;
                 if (uiObject != null)
                 {
                     uiObject.SetVisible(true);
                 }
                 item.SetText("Label_Sequence", "");
             }
         }
         int num = 0;
         foreach (var playerData in listPlayerData)
         {
             foreach (var beastData in playerData.Beasts)
             {
                 IXUIListItem item = (num >= uiList.Count) ? null : uiList.GetItemByIndex(num);
                 if (item != null)
                 {
                     this.RefreshPlayerInfo(item, playerData, beastData, eCampType);
                 }
                 num++;
             }
         }
         Debug.Log("Beast num=" + num);
     }
 }
コード例 #20
0
        public int PlayEffect(int id, Beast iCast, Vector3 vec3SrcPos, IXUIObject uiObjectCast,
                              Beast iTarget, Vector3 vec3DestPos, IXUIObject uiObjectTarget, Vector3 vec3FixDir)
        {
            int num = -1;

            try
            {
                if (this.m_EffectDatas.ContainsKey(id))
                {
                    EffectData effectData = this.m_EffectDatas[id];
                    if (null != effectData)
                    {
                        if (effectData.Reverse > 0)
                        {
                            if (iCast == null || null == iTarget)
                            {
                                effectData.Reverse = 0;
                            }
                        }
                        Effect effect = new Effect();
                        effect.m_nEffectTypeId = id;
                        effect.Caster          = ((effectData.Reverse == 0) ? iCast : iTarget);
                        effect.Target          = ((effectData.Reverse == 0) ? iTarget : iCast);

                        /*if (null != uiObjectCast)
                         * {
                         *  effect.CasterUIObject = SafeXUIObject.GetSafeXUIObject(uiObjectCast);
                         * }
                         * if (null != uiObjectTarget)
                         * {
                         *  effect.TargetUIObject = SafeXUIObject.GetSafeXUIObject(uiObjectTarget);
                         * }*/
                        num = this.GetID();
                        if (num != -1)
                        {
                            if (this.HighLight)
                            {
                                effect.HighLight = true;
                                this.m_HightLightEffect.Add(num, effect);
                            }
                            effect.Load(effectData);
                            effect.Id = num;
                            this.m_Effects.Add(num, effect);
                            if (vec3SrcPos != Vector3.zero)
                            {
                                if (vec3DestPos != Vector3.zero)
                                {
                                    this.m_Effects[num].SetSrcPos(vec3SrcPos);
                                }
                                else
                                {
                                    this.m_Effects[num].SourcePos = vec3SrcPos;
                                }
                            }
                            if (vec3DestPos != Vector3.zero)
                            {
                                this.m_Effects[num].TargetPos = vec3DestPos;
                            }
                            if (vec3FixDir != Vector3.zero)
                            {
                                this.m_Effects[num].FixDir = vec3FixDir;
                            }
                            EffectLogger.Debug("PlayEffect:" + id);
                        }
                    }
                }
                else
                {
                    EffectLogger.Error("!m_EffectDatas.ContainsKey(id):" + id);
                }
            }
            catch (Exception ex)
            {
                EffectLogger.Fatal(ex.ToString());
            }
            return(num);
        }
コード例 #21
0
 public static string GetUIObjectId(IXUIObject uiObject)
 {
     return(LocalWidgetTool.GetUIObjectId(uiObject));
 }
コード例 #22
0
ファイル: DlgRoom.cs プロジェクト: githuanl/NewBeastGame
 private bool OnListItemOnClickEnemyBeast(IXUIObject obj)
 {
     Debug.Log("Onlistenemy");
     this.OnListEnemyBeastSelect(obj as IXUIListItem);
     return(true);
 }
コード例 #23
0
ファイル: DlgRoom.cs プロジェクト: githuanl/NewBeastGame
    private bool BeastListMouseOn(IXUIObject obj)
    {
        IXUIListItem item = obj as IXUIListItem;

        return(item != null);
    }
コード例 #24
0
 private SafeXUIObject(IXUIObject uiObject)
 {
     this.m_uiObject = uiObject;
 }
コード例 #25
0
 public int PlayEffect(int id, Beast iCast, Vector3 vec3SrcPos, IXUIObject uiObjectCast,
                       Beast iTarget, Vector3 vec3DestPos, IXUIObject uiObjectTarget, Vector3 vec3FixDir)
 {
     return(EffectManagerImplement.singleton.PlayEffect(id, iCast, vec3SrcPos, uiObjectCast, iTarget, vec3DestPos, uiObjectTarget, vec3FixDir));
 }
コード例 #26
0
 public void SetFocus(IXUIObject uiObject)
 {
     this.m_uiTool.SetFocus(uiObject);
 }
コード例 #27
0
        private bool OnForgetClick(IXUIObject uiObject)
        {
            Singleton <PluginToolWrapper> .singleton.ForgetAccount();

            return(true);
        }
コード例 #28
0
ファイル: DlgRoom.cs プロジェクト: githuanl/NewBeastGame
 /// <summary>
 /// 点击神兽列表里面的某个神兽
 /// </summary>
 /// <param name="obj"></param>
 /// <returns></returns>
 private bool OnListItemOnClickOurBeast(IXUIObject obj)
 {
     Debug.Log("Onlistour");
     this.OnListOurBeastSelect(obj as IXUIListItem);
     return(true);
 }
コード例 #29
0
        private bool OnRegisterClick(IXUIObject uiObject)
        {
            Singleton <PluginToolWrapper> .singleton.RegisterAccount();

            return(true);
        }
コード例 #30
0
 public void TipShow(bool bShow, IXUIObject uiObject)
 {
 }