//领取邮件 public void ReceiveMail() { var data = DataModel.SelectData; if (data.Id == 0) { return; } if (data.IsReceive == 1) { //邮件已经领取 var e = new ShowUIHintBoard(3200001); EventDispatcher.Instance.DispatchEvent(e); return; } if (data.IsAttach == false) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(419)); return; } var mials = new Uint64Array(); mials.Items.Add(data.Id); NetManager.Instance.StartCoroutine(ReceiveMailsCoroutine(mials)); }
private void CheckOneMail() { var _data = DataModel.SelectData; if (null == _data.Name) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(422)); return; } var _isAttach = false; var _onemial = new Uint64Array(); _onemial.Items.Add(_data.Id); if (_onemial.Items.Count == 0) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(422)); return; } if (_isAttach) { UIManager.Instance.ShowMessage(MessageBoxType.OkCancel, 417, "", DeleteOneMail); return; } DeleteOneMail(); }
public void DeleteObj(Uint64Array objs, uint reason) { { var __list2 = objs.Items; var __listCount2 = __list2.Count; for (var __i2 = 0; __i2 < __listCount2; ++__i2) { var id = __list2[__i2]; { if (reason == (uint)ReasonType.Dead) { var obj = ObjManager.Instance.FindCharacterById(id); if (obj == null) { continue; } if (obj.Dead && obj.DeleteObjTime > Time.time) { obj.DelayPlayFadeOutAnimationAndRemove(obj.DeleteObjTime - Time.time); } else { obj.PlayFadeOutAnimationAndRemove(); } continue; } ObjManager.Instance.RemoveObj(id); } } } }
public void CreateCharacter(int serverId, ulong characterId, PlayerController _this) { Uint64Array tempList; if (!_this.DbData.ServersPlayers.TryGetValue(serverId, out tempList)) { tempList = new Uint64Array(); _this.DbData.ServersPlayers[serverId] = tempList; } tempList.Items.Add(characterId); }
private void DeleteOneMail() { var _data = DataModel.SelectData; if (null == _data.Name) { return; } var _onemial = new Uint64Array(); _onemial.Items.Add(_data.Id); if (_onemial.Items.Count == 0) { return; } NetManager.Instance.StartCoroutine(CheckMailsCoroutine(_onemial)); }
public override IEnumerator CloseDungeon(Coroutine co) { Log(Logger, "CloseDungeon"); var playerIds = new Uint64Array(); playerIds.Items.AddRange(mPlayers.Keys); if (this.dicGetRewardPlayers.ContainsKey(playerIds.Items[0]) == false) { var msg = SceneServer.Instance.LogicAgent.NotifyDungeonClose(playerIds.Items[0], TypeId, playerIds); yield return(msg.SendAndWaitUntilDone(co)); } var co1 = CoroutineFactory.NewSubroutine(base.CloseDungeon, co); if (co1.MoveNext()) { yield return(co1); } }
public virtual IEnumerator CloseDungeon(Coroutine coroutine, DungeonScene _this) { _this.State = eDungeonState.Closing; //通知broke,我已经要关闭了 var msg = SceneServer.Instance.SceneAgent.NotifySceneFinished(0, _this.Guid); yield return(msg.SendAndWaitUntilDone(coroutine)); var playerIds = new Uint64Array(); playerIds.Items.AddRange(_this.mPlayerDict.Keys); if (playerIds.Items.Count > 0 && _this.dicGetRewardPlayers.ContainsKey(playerIds.Items[0]) == false) { var msg2 = SceneServer.Instance.LogicAgent.NotifyDungeonClose(playerIds.Items[0], _this.TypeId, playerIds); yield return(msg2.SendAndWaitUntilDone(coroutine)); } //把玩家都踢出去 var array = _this.mPlayerDict.Values.ToArray(); foreach (var player in array) { var co = CoroutineFactory.NewSubroutine(player.ExitDungeon, coroutine); if (co.MoveNext()) { yield return(co); } } //关闭副本 { var co = CoroutineFactory.NewSubroutine(_this.TryDeleteScene, coroutine, RemoveScene.SceneClose); if (co.MoveNext()) { yield return(co); } } }
//角色删除广播 public virtual void BroadcastDestroyMe(ObjBase _this, ReasonType reason = ReasonType.VisibilityChanged) { if (null == _this.Zone) { return; } if (ObjBase.BroadcastDeleteObjType == 1) { _this.Zone.PushDeleteObj(new DeleteObjMsg { ObjId = _this.ObjId, reason = (int)reason }); return; } var array = new Uint64Array(); array.Items.Add(_this.ObjId); var list = _this.EnumAllVisiblePlayerIdExclude(_this.ObjId).ToArray(); _this.NotifyCharactersToStopSyncMe(list); SceneServer.Instance.ServerControl.DeleteObj(list, array, (uint)reason); }
//批量领取邮件 public void ReceiveMails() { var mials = new Uint64Array(); var isCheck = false; { // foreach(var cell in DataModel.MailCells) var __enumerator6 = (DataModel.MailCells).GetEnumerator(); while (__enumerator6.MoveNext()) { var cell = __enumerator6.Current; { if (cell.IsSelect) { isCheck = true; if (cell.IsAttach) { mials.Items.Add(cell.Id); } } } } } if (isCheck == false) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(421)); return; } if (mials.Items.Count == 0) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(419)); return; } NetManager.Instance.StartCoroutine(ReceiveMailsCoroutine(mials)); }
//删除邮件 public void DelectMailsConfirm() { var mials = new Uint64Array(); { // foreach(var cell in DataModel.MailCells) var __enumerator8 = (DataModel.MailCells).GetEnumerator(); while (__enumerator8.MoveNext()) { var cell = __enumerator8.Current; { if (cell.IsSelect) { mials.Items.Add(cell.Id); } } } } if (mials.Items.Count == 0) { return; } NetManager.Instance.StartCoroutine(DelectMailsCoroutine(mials)); }
//查看邮件 public void DelectMails() { var isAttach = false; var mials = new Uint64Array(); { // foreach(var cell in DataModel.MailCells) var __enumerator7 = (DataModel.MailCells).GetEnumerator(); while (__enumerator7.MoveNext()) { var cell = __enumerator7.Current; { if (cell.IsSelect) { mials.Items.Add(cell.Id); if (cell.IsAttach) { isAttach = true; } } } } } if (mials.Items.Count == 0) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(422)); return; } if (isAttach) { UIManager.Instance.ShowMessage(MessageBoxType.OkCancel, 417, "", DelectMailsConfirm); return; } DelectMailsConfirm(); }
//删除邮件 private void DeleteMails() { var _mials = new Uint64Array(); { // foreach(var cell in DataModel.MailCells) var __enumerator8 = (DataModel.MailCells).GetEnumerator(); while (__enumerator8.MoveNext()) { var _cell = __enumerator8.Current; { if (_cell.IsSelect) { _mials.Items.Add(_cell.Id); } } } } if (_mials.Items.Count == 0) { return; } NetManager.Instance.StartCoroutine(CheckMailsCoroutine(_mials)); }
//领取邮件 public IEnumerator ReceiveMailsCoroutine(Uint64Array mails) { using (new BlockingLayerHelper(0)) { var msg = NetManager.Instance.ReceiveMail(mails); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { //DataModel.IsSelectAll = false; var receieve = msg.Response; if (receieve == 0) { //您包裹已满! var e = new ShowUIHintBoard(302); EventDispatcher.Instance.DispatchEvent(e); yield break; } if (mails.Items.Count == receieve) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(420)); } else { //背包已满,不能领取全部邮件 GameUtils.ShowHintTip(3200006); } for (var i = 0; i < receieve; i++) { var id = mails.Items[i]; var data = GetMailCellData(id); data.State = 2; if (data.IsApply) { { // foreach(var item in data.InfoData.Items) var __enumerator10 = (data.InfoData.Items).GetEnumerator(); while (__enumerator10.MoveNext()) { var item = __enumerator10.Current; { item.ItemId = -1; item.Count = 0; } } } } PlatformHelper.UMEvent("Mail", "GetItem", data.Name); } AnalyseNotice(); } else if (msg.ErrorCode == (int)ErrorCodes.Error_MailNotFind || msg.ErrorCode == (int)ErrorCodes.Error_MailReceiveOver) { //邮件没有找到 var e = new ShowUIHintBoard(msg.ErrorCode + 200000000); EventDispatcher.Instance.DispatchEvent(e); } else { var e = new ShowUIHintBoard(msg.ErrorCode + 200000000); EventDispatcher.Instance.DispatchEvent(e); Logger.Error("ReceiveMail Error!............ErrorCode..." + msg.ErrorCode); } } else { Logger.Error("ReceiveMail Error!............State..." + msg.State); } } }
//查看邮件 public IEnumerator DelectMailsCoroutine(Uint64Array mails) { using (new BlockingLayerHelper(0)) { var msg = NetManager.Instance.DeleteMail(mails); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(418)); { var mailList = new List <MailCellData>(DataModel.MailCells.ToArray()); var list11 = mails.Items; var listCount11 = list11.Count; var isReset = false; for (var i11 = 0; i11 < listCount11; ++i11) { var mail = list11[i11]; { var data = GetMailCellData(mail); PlatformHelper.UMEvent("Mail", "Delete", data.Name); if (data == DataModel.SelectData) { isReset = true; } data.Id = 0; mailList.Remove(data); DataModel.IsSelectAll = false; } } DataModel.MailCells = new ObservableCollection <MailCellData>(mailList); DataModel.CellCount = DataModel.MailCells.Count; if (isReset && DataModel.CellCount > 0) { OnApplyMail(0); } else { ResetSelectMailInfo(); } } AnalyseNotice(); } else { UIManager.Instance.ShowNetError(msg.ErrorCode); Logger.Error("ReceiveMail Error!............ErrorCode..." + msg.ErrorCode); } } else { Logger.Error("ReceiveMail Error!............State..." + msg.State); } } }
//查看邮件 private IEnumerator CheckMailsCoroutine(Uint64Array mails) { using (new BlockingLayerHelper(0)) { var _msg = NetManager.Instance.DeleteMail(mails); yield return(_msg.SendAndWaitUntilDone()); if (_msg.State == MessageState.Reply) { if (_msg.ErrorCode == (int)ErrorCodes.OK) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(418)); { var _mailList = new List <MailCellData>(MailCells.ToArray()); var _list11 = mails.Items; var _listCount11 = _list11.Count; var _isReset = false; for (var _i11 = 0; _i11 < _listCount11; ++_i11) { var _mail = _list11[_i11]; { var _data = GetMailCellData(_mail); PlatformHelper.UMEvent("Mail", "Delete", _data.Name); if (_data == DataModel.SelectData) { _isReset = true; } _data.Id = 0; _mailList.Remove(_data); DataModel.IsSelectAll = false; } } isShowOldMailNothing = false; MailCells = new ObservableCollection <MailCellData>(_mailList); CellCount = MailCells.Count; if (_isReset && CellCount > 0) { RequestMailData(0); } else { ResetChooseMailData(); } } RenewalNotice(); } else { UIManager.Instance.ShowNetError(_msg.ErrorCode); Logger.Error("ReceiveMail Error!............ErrorCode..." + _msg.ErrorCode); } } else { Logger.Error("ReceiveMail Error!............State..." + _msg.State); } } }