예제 #1
0
        public void OnClickBtn()
        {    //点击领取
            FieldMissionBaseDataModel data = ItemLogic.Item as FieldMissionBaseDataModel;

            if (data != null)
            {
                EventDispatcher.Instance.DispatchEvent(new FieldActivityEvent(10, data.Id));
            }
        }
예제 #2
0
        private void OnRecvTask(DBActiveTask msg)
        {
            DataModel.AllianceData.Clear();
            DataModel.PlayerData.Clear();
            DataModel.AllianceRankData.Clear();
            DataModel.PlayerRankData.Clear();
            DataModel.Idx         = -1;
            DataModel.AllianceIdx = -1;
            {
                DataModel.myRank.Name  = PlayerDataManager.Instance.GetName();
                DataModel.myRank.Level = PlayerDataManager.Instance.GetLevel();
                DataModel.myRank.Fight = PlayerDataManager.Instance.PlayerDataModel.Attributes.FightValue;
                DataModel.myRank.Score = PlayerDataManager.Instance.GetExData(949);
                DataModel.myRank.Role  = PlayerDataManager.Instance.GetRoleId();
                DataModel.myRank.Idx   = GameUtils.GetDictionaryText(100000640);
            }
            {
                DataModel.myAllianceRank.Idx = GameUtils.GetDictionaryText(100000640);

                //DataModel.myAllianceRank.AllianceId = m.AllianceId;
                //DataModel.myAllianceRank.Fight = m.Fight;
                //DataModel.myAllianceRank.Level = m.Level;

                //DataModel.myAllianceRank.Flags = m.Flags;
                //DataModel.myAllianceRank.Name = m.Name;
                //DataModel.myAllianceRank.Score = m.Score;
            }



            foreach (var id in msg.pTaskIDs)
            {//玩家任务
                var tb = Table.GetObjectTable(id);
                if (tb == null)
                {
                    continue;
                }
                FieldMissionBaseDataModel tmp = new FieldMissionBaseDataModel();
                tmp.Id       = id;
                tmp.ExIdx    = tb.ExData;
                tmp.Count    = PlayerDataManager.Instance.GetExData(tb.ExData);
                tmp.MaxCount = tb.NeedCount;
                tmp.Flag     = tb.IsGet;
                if (PlayerDataManager.Instance.GetFlag(tb.IsGet) == true)
                {//已领取
                    tmp.Stat = 2;
                }
                else
                {
                    tmp.Stat = tmp.Count >= tmp.MaxCount ? 1 : 0;
                }
                for (int i = 0; i < tb.Reward.Length && i < tb.RewardNum.Length && i < tmp.Rewards.Count; i++)
                {
                    tmp.Rewards[i].ItemId = tb.Reward[i];
                    tmp.Rewards[i].Count  = tb.RewardNum[i];
                }



                DataModel.PlayerData.Add(tmp);
            }
            foreach (var id in msg.aTaskIDs)
            {//战盟任务
                var tb = Table.GetObjectTable(id);
                if (tb == null)
                {
                    continue;
                }
                FieldMissionBaseDataModel tmp = new FieldMissionBaseDataModel();
                tmp.Id       = id;
                tmp.ExIdx    = tb.ExData;
                tmp.Flag     = tb.IsGet;
                tmp.MaxCount = tb.NeedCount;

                for (int i = 0; i < tb.Reward.Length && i < tb.RewardNum.Length && i < tmp.Rewards.Count; i++)
                {
                    tmp.Rewards[i].ItemId = tb.Reward[i];
                    tmp.Rewards[i].Count  = tb.RewardNum[i];
                }

                DataModel.AllianceData.Add(tmp);
            }
            List <FieldMissionAllianceRankDataModel> l = new List <FieldMissionAllianceRankDataModel>();

            foreach (var v in msg.AllianceTaskList)
            {//战盟任务信息
                FieldMissionAllianceRankDataModel tmp = new FieldMissionAllianceRankDataModel();
                tmp.AllianceId = v.Key;
                tmp.Name       = v.Value.Name;
                tmp.Score      = v.Value.Score;
                tmp.Fight      = v.Value.Fight;
                tmp.Flags      = v.Value.Flags;
                tmp.Level      = v.Value.Level;
                if (tmp.AllianceId == PlayerDataManager.Instance.GetExData(eExdataDefine.e282))
                {
                    var info = v.Value;
                    for (int i = 0; i < DataModel.AllianceData.Count; i++)
                    {
                        var m = DataModel.AllianceData[i];
                        if (info.TaskList.ContainsKey(m.Id))
                        {
                            m.Count = info.TaskList[m.Id].Count;
                            if (PlayerDataManager.Instance.GetFlag(m.Flag) == true)
                            {//已领取
                                m.Stat = 2;
                            }
                            else
                            {
                                m.Stat = info.TaskList[m.Id].Count >= info.TaskList[m.Id].Need ? 1 : 0;
                            }
                        }
                    }
                }
                l.Add(tmp);
            }
            l.Sort((a, b) =>
            {
                if (b.Flags > a.Flags)
                {
                    return(1);
                }
                if (b.Flags < a.Flags)
                {
                    return(-1);
                }
                return(b.Score - a.Score);
            });
            for (int i = 0; i < l.Count; i++)
            {
                var m = l[i];
                m.Idx = (i + 1).ToString();
                if (m.AllianceId == PlayerDataManager.Instance.GetExData(eExdataDefine.e282))
                {
                    DataModel.AllianceIdx = i;
                    DataModel.myAllianceRank.AllianceId = m.AllianceId;
                    DataModel.myAllianceRank.Fight      = m.Fight;
                    DataModel.myAllianceRank.Level      = m.Level;
                    DataModel.myAllianceRank.Idx        = m.Idx;
                    DataModel.myAllianceRank.Flags      = m.Flags;
                    DataModel.myAllianceRank.Name       = m.Name;
                    DataModel.myAllianceRank.Score      = m.Score;
                }
                DataModel.AllianceRankData.Add(m);
            }

            for (int i = 0; i < msg.PlayerTaskList.Count; i++)
            {//玩家积分排行
                var v = msg.PlayerTaskList[i];
                FieldMissionPlayerRankDataModel data = new FieldMissionPlayerRankDataModel();
                data.Id    = v.guid;
                data.Role  = v.role;
                data.Name  = v.name;
                data.Score = v.score;
                data.Idx   = (i + 1).ToString();
                data.Level = v.level;
                data.Fight = v.fight;
                if (data.Id == PlayerDataManager.Instance.CharacterGuid)
                {
                    DataModel.Idx        = i + 1;
                    DataModel.myRank.Idx = (i + 1).ToString();
                }
                DataModel.PlayerRankData.Add(data);
            }
            CheckNotic();
        }