コード例 #1
0
        public void StartTransfer(TransferDartMember dart)
        {
            switch (AlliancesManager.Instance.DartData.State)
            {
            case eAllianceDartCurrentState.Transfering:
                StartPathFind(dart.DartName, dart.TargetNpc);
                controller.Close();
                break;

            default:
                AlliancesManager.Instance.Start(dart.Id, delegate(bool successful) {
                    if (successful)
                    {
                        //暂时放在这里,防止时序问题
                        if (hasRegister)
                        {
                            GameDataSparxManager.Instance.UnRegisterListener(AlliancesManager.dartDataId, OnInfoListener);
                            GameDataSparxManager.Instance.UnRegisterListener(AlliancesManager.transferDartDataId, OnTransferInfoListener);
                            hasRegister = false;
                        }
                        controller.Close();
                        StartPathFind(dart.DartName, dart.TargetNpc);
                    }
                    else
                    {
                        EB.Debug.LogError("start transfer dart fail");
                    }
                });
                break;
            }
        }
コード例 #2
0
        public void Fill(TransferDartMember itemData)
        {
            mItemData = itemData;

            RewardItem1.LTItemData = new LTShowItemData(itemData.Award[0].id, itemData.Award[0].count, itemData.Award[0].type, true);
            RewardItem2.LTItemData = new LTShowItemData(itemData.Award[1].id, itemData.Award[1].count, itemData.Award[1].type, true);
            if (HcRewardLabel != null)
            {
                int hcCount = 0;
                for (var i = 0; i < mItemData.Award.Length; i++)
                {
                    var r = mItemData.Award[i];

                    if (r.id.CompareTo("hc") == 0)
                    {
                        hcCount = r.count;
                    }
                }
                if (hcCount <= 0)
                {
                    EB.Debug.LogError(" Hc Count <= 0");
                }
                LTUIUtil.SetText(HcRewardLabel, hcCount.ToString());
            }
        }
コード例 #3
0
        private void OnViewIdAllocated(ReplicationView view)
        {
            if (playerController.ViewRPC != view)
            {
                return;
            }

            if (!playerController._isLocalPlayer)
            {
                return;
            }
            mDMono.gameObject.name = (playerController.ViewRPC != null ? "Player" + playerController.ViewRPC.viewId.p : "Player");

            playerController.ReplicationPlayer = playerController.ViewRPC != null ? playerController.ViewRPC.instantiatorPlayer : null;

            _initialPlayerIndex = (Replication.IsLocalGame) ? 0 : playerController.ReplicationPlayer.Index;

            TransferDartMember dartData = AlliancesManager.Instance.TransferDartInfo.GetCurrentDart();

            if (AllianceUtil.IsInTransferDart && dartData != null)
            {
                StartTransfer(dartData.DartName, dartData.TargetNpc, false, true);
            }
            else
            {
                string userid    = LoginManager.Instance.LocalUserId.Value.ToString();
                string classname = UI.BuddyAttributesManager.GetModelClass(userid);
                if (string.IsNullOrEmpty(classname))
                {
                    EB.Debug.LogError("OnViewIdAllocated: classname not found for uid = {0}", userid);
                    return;
                }
                ChangeModel(classname, true);
            }

            if (_initialPlayerIndex == Replication.LocalPlayerIndex)
            {
                EB.Assets.LoadAsync("Bundles/VFX/ReticleFX/Reticle_TargetLocation", typeof(GameObject), o =>
                {
                    if (o)
                    {
                        GameObject go  = GameObject.Instantiate(o as GameObject);
                        _moveReticle   = go.GetComponent <MoveReticleComponent>();
                        _moveReticleFX = _moveReticle.GetComponent <FXPoolable>();
                        _moveReticle.gameObject.CustomSetActive(false);
                        SetInstantiatedParents();
                    }
                });
            }
        }
コード例 #4
0
        static public void SendDeliveryDartRequest(string dartId)
        {
            AlliancesManager.Instance.Finish(dartId, delegate(bool successful) {
                if (successful)
                {
                    AlliancesManager.Instance.Complete(dartId, delegate(Hashtable result)
                    {
                        if (result != null)
                        {
                            TransferDartMember dart = AlliancesManager.Instance.TransferDartInfo.Find(dartId);
                            dart.State = eAllianceTransferState.Finished;
                            AlliancesManager.Instance.DartData.State = eAllianceDartCurrentState.None;

                            bool escortIslost  = EB.Dot.Bool("escortIslost", result, false);
                            object robUserInfo = EB.Dot.Object("robUserInfo", result, null);
                            DartResultController.sResultType = escortIslost ? eDartResultType.TransferFail : eDartResultType.TransferSuccess;

                            var datas = GameUtils.ParseAwardArr(Hotfix_LT.EBCore.Dot.Array("completeAward", result, null));
                            var list  = new List <LTShowItemData>();

                            for (var i = 0; i < datas.Count; i++)
                            {
                                var item = datas[i];
                                list.Add(new LTShowItemData(item.id, item.count, item.type, false));
                            }

                            DartResultController.sRewardDataList = list;

                            //上传友盟获得钻石,军团护送
                            FusionTelemetry.ItemsUmengCurrency(datas, "军团护送");
                            FusionTelemetry.GamePlayData.PostEsortEvent("reward", "esort");
                            GlobalMenuManager.Instance.Open("LTShowDartResultHud", robUserInfo);
                        }
                        else
                        {
                            EB.Debug.LogError("DeliveryDart Fail");
                        }
                    });
                }
                else
                {
                    AlliancesManager.Instance.DartData.State = eAllianceDartCurrentState.None;
                }
            });
        }