Esempio n. 1
0
        private void OnPlayerInfoOperation(IEvent ievent)
        {
            var e = ievent as PlayerInfoOperation;

            switch (e.Type)
            {
            case 0:
            {
//chat
                if (GameUtils.CharacterIdIsRobot(DataModel.CharacterId))
                {
                    GameUtils.ShowHintTip(200000003);
                    return;
                }
                var d = new OperationListData();
                d.CharacterId   = DataModel.CharacterId;
                d.CharacterName = DataModel.Name;
                d.RoleId        = DataModel.Type;
                d.Level         = DataModel.Level;
                d.Ladder        = DataModel.Ladder;
                var ee = new ChatMainPrivateChar(d);
                EventDispatcher.Instance.DispatchEvent(ee);
            }
            break;

            case 1:
            {
//team
                if (GameUtils.CharacterIdIsRobot(DataModel.CharacterId))
                {
                    GameUtils.ShowHintTip(200000003);
                    return;
                }
                var e1 = new Event_TeamInvitePlayer(DataModel.CharacterId);
                EventDispatcher.Instance.DispatchEvent(e1);
            }
            break;

            case 2:
            {
//friend
                if (GameUtils.CharacterIdIsRobot(DataModel.CharacterId))
                {
                    GameUtils.ShowHintTip(200000003);
                    return;
                }
                var ee = new FriendOperationEvent(1, 1, DataModel.Name, DataModel.CharacterId);
                EventDispatcher.Instance.DispatchEvent(ee);
            }
            break;

            case 3:
            {
//trend
                //该功能暂未开放
                var e1 = new ShowUIHintBoard(270216);
                EventDispatcher.Instance.DispatchEvent(e1);
            }
            break;

            case 4:
            {
//elf
                OnClickElfIco();
            }
            break;

            case 10:
            {
//elf
                OnClickEquipIndex(e.Index);
            }
            break;

            case 11:
            {
//Tab
                OnClickTab();
            }
            break;
            }
        }
    public void RefreshData(UIInitArguments data)
    {
        var args = data as OperationlistArguments;

        if (args == null)
        {
            return;
        }

        Data = args.Data;
        if (Data == null)
        {
            return;
        }
        var noticeData = PlayerDataManager.Instance.NoticeData;
        var listRecord = Table.GetOperationList(Data.TableId);

        DataModel.Speek = listRecord.Speek;

        DataModel.Attribute = listRecord.Attribute;

        if (noticeData.FriendOpenFlag)
        {
            var fiend = UIManager.Instance.GetController(UIConfig.FriendUI);

            if (listRecord.AddFriend == 1)
            {
                var ret = (bool)fiend.CallFromOtherClass("IsInFriendListId", new object[] { Data.CharacterId });
                DataModel.AddFriend = ret == false ? 1 : 0;
            }
            else
            {
                DataModel.AddFriend = 0;
            }

            if (listRecord.AddEnemy == 1)
            {
                var ret = (bool)fiend.CallFromOtherClass("IsInEnemyListId", new object[] { Data.CharacterId });
                DataModel.AddEnemy = ret == false ? 1 : 0;
            }
            else
            {
                DataModel.AddEnemy = 0;
            }

            if (listRecord.AddShield == 1)
            {
                var ret = (bool)fiend.CallFromOtherClass("IsInBalckListId", new object[] { Data.CharacterId });
                DataModel.AddShield = ret == false ? 1 : 0;
            }
            else
            {
                DataModel.AddShield = 0;
            }

            if (listRecord.DelFriend == 1)
            {
                var ret = (bool)fiend.CallFromOtherClass("IsInFriendListId", new object[] { Data.CharacterId });
                DataModel.DelFriend = ret ? 1 : 0;
            }
            else
            {
                DataModel.DelFriend = 0;
            }

            if (listRecord.DelEnemy == 1)
            {
                var ret = (bool)fiend.CallFromOtherClass("IsInEnemyListId", new object[] { Data.CharacterId });
                DataModel.DelEnemy = ret ? 1 : 0;
            }
            else
            {
                DataModel.DelEnemy = 0;
            }

            if (listRecord.DelShield == 1)
            {
                var ret = (bool)fiend.CallFromOtherClass("IsInBalckListId", new object[] { Data.CharacterId });
                DataModel.DelShield = ret ? 1 : 0;
            }
            else
            {
                DataModel.DelShield = 0;
            }
        }
        else
        {
            DataModel.AddFriend = 0;
            DataModel.AddEnemy  = 0;
            DataModel.AddShield = 0;
            DataModel.DelFriend = 0;
            DataModel.DelEnemy  = 0;
            DataModel.DelShield = 0;
        }


        if (noticeData.TeamOpenFlag)
        {
            var team = UIManager.Instance.GetController(UIConfig.TeamFrame);

            if (listRecord.InviteTeam == 1)
            {
                var ret = (bool)team.CallFromOtherClass("IsInTeam", new object[] { Data.CharacterId });
                DataModel.InviteTeam = ret == false ? 1 : 0;
            }
            else
            {
                DataModel.InviteTeam = 0;
            }

            var hasTeam = (bool)team.CallFromOtherClass("HasTeam", null);
            if (listRecord.ApplyTeam == 1 && hasTeam == false)
            {
                DataModel.ApplyTeam = 1;
            }
            else
            {
                DataModel.ApplyTeam = 0;
            }

            if (listRecord.UpLeader == 1 && hasTeam)
            {
                DataModel.UpLeader = 1;
            }
            else
            {
                DataModel.UpLeader = 0;
            }

            if (listRecord.KickTeam == 1 && hasTeam)
            {
                DataModel.KickTeam = 1;
            }
            else
            {
                DataModel.KickTeam = 0;
            }

            if (listRecord.LeaveTeam == 1 && hasTeam)
            {
                DataModel.LeaveTeam = 1;
            }
            else
            {
                DataModel.LeaveTeam = 0;
            }
        }
        else
        {
            DataModel.InviteTeam = 0;
            DataModel.ApplyTeam  = 0;
            DataModel.UpLeader   = 0;
            DataModel.KickTeam   = 0;
            DataModel.LeaveTeam  = 0;
        }

        if (noticeData.UnionOpenFlag)
        {
            var union    = UIManager.Instance.GetController(UIConfig.BattleUnionUI);
            var hasUnion = (bool)union.CallFromOtherClass("HasUnion", null);

            if (listRecord.JoinUnion == 1 && hasUnion)
            {
                DataModel.JoinUnion = 1;
            }
            else
            {
                DataModel.JoinUnion = 0;
            }

            DataModel.UpToChief  = listRecord.UpChief;
            DataModel.UpAccess   = listRecord.UpAccess;
            DataModel.DownAccess = listRecord.DownAccess;
            DataModel.KickUnion  = listRecord.QuitUnion;
        }
        else
        {
            DataModel.JoinUnion  = 0;
            DataModel.UpToChief  = 0;
            DataModel.UpAccess   = 0;
            DataModel.DownAccess = 0;
            DataModel.KickUnion  = 0;
        }
    }
        public void RefreshData(UIInitArguments data)
        {
            var _args = data as OperationlistArguments;
            if (_args == null)
            {
                return;
            }

            Data = _args.Data;
            if (Data == null)
            {
                return;
            }
            var _noticeData = PlayerDataManager.Instance.NoticeData;
            var _listRecord = Table.GetOperationList(Data.TableId);
            if (_listRecord == null)
                return;
            DataModel.Speek = _listRecord.Speek;
            DataModel.Challenge = _listRecord.Challenge;
            DataModel.Attribute = _listRecord.Attribute;

            //这个之前是有好友开启条件的,但是现在开始游戏就有好友界面,所以把判断取消
            //if (_noticeData.FriendOpenFlag)
            {
                var _fiend = UIManager.Instance.GetController(UIConfig.FriendUI);

                if (_listRecord.AddFriend == 1)
                {
                    var _ret = (bool)_fiend.CallFromOtherClass("IsInFriendListId", new object[] { Data.CharacterId });
                    DataModel.AddFriend = _ret == false ? 1 : 0;
                }
                else
                {
                    DataModel.AddFriend = 0;
                }

                if (_listRecord.AddEnemy == 1 && Data.ChannelType != 10)
                {
                    var _ret = (bool)_fiend.CallFromOtherClass("IsInEnemyListId", new object[] { Data.CharacterId });
                    DataModel.AddEnemy = _ret == false ? 1 : 0;
                }
                else
                {
                    DataModel.AddEnemy = 0;
                }

                if (_listRecord.AddShield == 1)
                {
                    var _ret = (bool)_fiend.CallFromOtherClass("IsInBalckListId", new object[] { Data.CharacterId });
                    DataModel.AddShield = _ret == false ? 1 : 0;
                }
                else
                {
                    DataModel.AddShield = 0;
                }

                if (_listRecord.DelFriend == 1)
                {
                    var _ret = (bool)_fiend.CallFromOtherClass("IsInFriendListId", new object[] { Data.CharacterId });
                    DataModel.DelFriend = _ret ? 1 : 0;
                }
                else
                {
                    DataModel.DelFriend = 0;
                }

                if (_listRecord.DelEnemy == 1)
                {
                    var _ret = (bool)_fiend.CallFromOtherClass("IsInEnemyListId", new object[] { Data.CharacterId });
                    DataModel.DelEnemy = _ret ? 1 : 0;
                }
                else
                {
                    DataModel.DelEnemy = 0;
                }

                if (_listRecord.DelShield == 1)
                {
                    var _ret = (bool)_fiend.CallFromOtherClass("IsInBalckListId", new object[] { Data.CharacterId });
                    DataModel.DelShield = _ret ? 1 : 0;
                }
                else
                {
                    DataModel.DelShield = 0;
                }
            }
            //else
            //{
            //    DataModel.AddFriend = 0;
            //    DataModel.AddEnemy = 0;
            //    DataModel.AddShield = 0;
            //    DataModel.DelFriend = 0;
            //    DataModel.DelEnemy = 0;
            //    DataModel.DelShield = 0;
            //}


            if (_noticeData.TeamOpenFlag)
            {
                var _team = UIManager.Instance.GetController(UIConfig.TeamFrame);

                if (_listRecord.InviteTeam == 1)
                {
                    var _ret = (bool)_team.CallFromOtherClass("IsInTeam", new object[] { Data.CharacterId });
                    DataModel.InviteTeam = _ret == false ? 1 : 0;
                }
                else
                {
                    DataModel.InviteTeam = 0;
                }

                var _hasTeam = (bool)_team.CallFromOtherClass("HasTeam", null);
                if (_listRecord.ApplyTeam == 1 && _hasTeam == false)
                {
                    DataModel.ApplyTeam = 1;
                }
                else
                {
                    DataModel.ApplyTeam = 0;
                }

                if (_listRecord.UpLeader == 1 && _hasTeam)
                {
                    DataModel.UpLeader = 1;
                }
                else
                {
                    DataModel.UpLeader = 0;
                }

                if (_listRecord.KickTeam == 1 && _hasTeam)
                {
                    DataModel.KickTeam = 1;
                }
                else
                {
                    DataModel.KickTeam = 0;
                }

                if (_listRecord.LeaveTeam == 1 && _hasTeam)
                {
                    DataModel.LeaveTeam = 1;
                }
                else
                {
                    DataModel.LeaveTeam = 0;
                }
            }
            else
            {
                DataModel.InviteTeam = 0;
                DataModel.ApplyTeam = 0;
                DataModel.UpLeader = 0;
                DataModel.KickTeam = 0;
                DataModel.LeaveTeam = 0;
            }

            if (_noticeData.UnionOpenFlag)
            {
                var _union = UIManager.Instance.GetController(UIConfig.BattleUnionUI);
                var _hasUnion = (bool)_union.CallFromOtherClass("HasUnion", null);

                if (_listRecord.JoinUnion == 1 && _hasUnion && Data.ChannelType != 10)
                {
                    DataModel.JoinUnion = 1;
                }
                else
                {
                    DataModel.JoinUnion = 0;
                }

                DataModel.UpToChief = _listRecord.UpChief;
                DataModel.UpAccess = _listRecord.UpAccess;
                DataModel.DownAccess = _listRecord.DownAccess;
                DataModel.KickUnion = _listRecord.QuitUnion;
            }
            else
            {
                DataModel.JoinUnion = 0;
                DataModel.UpToChief = 0;
                DataModel.UpAccess = 0;
                DataModel.DownAccess = 0;
                DataModel.KickUnion = 0;
            }
        }