コード例 #1
0
ファイル: npctasktalk.cs プロジェクト: atom-chen/rongyaojt
        private void OnShowTaskUi()
        {
            bool isComplete = this.curTask.isComplete;

            if (isComplete)
            {
                this.ShowTask();
            }
            else
            {
                this.conIcon.gameObject.SetActive(true);
                this.OnShowAwardInfo();
                bool flag = this.curTask.targetType == TaskTargetType.VISIT;
                if (flag)
                {
                    BaseProxy <A3_TaskProxy> .getInstance().addEventListener(3u, new Action <GameEvent>(this.OnRefreshTask));

                    BaseProxy <A3_TaskProxy> .getInstance().SendTalkWithNpc(dialog.m_npc.id);
                }
                bool flag2 = this.curTask.targetType == TaskTargetType.GETEXP;
                if (flag2)
                {
                    SXML sXML  = XMLMgr.instance.GetSXML("task.Task", "id==" + this.curTask.taskId);
                    int  num   = int.Parse(sXML.getString("trigger"));
                    bool flag3 = num == 2;
                    if (flag3)
                    {
                        this.btnNext.interactable = true;
                        this.btnNext.transform.FindChild("Text").GetComponent <Text>().text = "转生";
                        this.btnNext.onClick = new Action <GameObject>(this.OnOpenZhuan);
                    }
                }
                bool flag4 = this.curTask.targetType == TaskTargetType.GET_ITEM_GIVEN;
                if (flag4)
                {
                    A3_TaskOpt.Instance.taskItemId = (uint)this.curTask.completionAim;
                    this.btnNext.transform.FindChild("Text").GetComponent <Text>().text = "上交物品";
                    BaseButton expr_17B = this.btnNext;
                    expr_17B.onClick = (Action <GameObject>) Delegate.Combine(expr_17B.onClick, new Action <GameObject>(delegate(GameObject go)
                    {
                        int num2          = this.curTask.completion - this.curTask.taskRate;
                        int itemNumByTpid = ModelBase <a3_BagModel> .getInstance().getItemNumByTpid(A3_TaskOpt.Instance.taskItemId);
                        bool flag5        = itemNumByTpid < num2;
                        if (flag5)
                        {
                            InterfaceMgr.getInstance().close(InterfaceMgr.DIALOG);
                            ArrayList arrayList = new ArrayList();
                            arrayList.Add(ModelBase <a3_BagModel> .getInstance().getItemDataById(A3_TaskOpt.Instance.taskItemId));
                            InterfaceMgr.getInstance().open(InterfaceMgr.A3_ITEMLACK, arrayList, false);
                            A3_TaskOpt.Instance.HideSubmitItem();
                        }
                        else
                        {
                            A3_TaskOpt expr_92 = A3_TaskOpt.Instance;
                            if (expr_92 != null)
                            {
                                expr_92.ShowSubmitItem();
                            }
                        }
                    }));
                }
            }
        }
コード例 #2
0
        public override void init()
        {
            Instance     = this;
            tfParentWait = transform.FindChild("wait");
            tfParentWait.gameObject.SetActive(false);
            imgProcess = tfParentWait.FindChild("waitBG").GetComponent <Image>();
            (BtnWait = new BaseButton(tfParentWait.FindChild("waitBG/btnDoWait"))).onClick = OnWaitBtnClick;
            actionImage = tfParentWait.FindChild("waitBG/btnDoWait").GetComponent <Image>();
            winKillMon  = transform.FindChild("killmon").gameObject;
            winKillMon.SetActive(false);
            winKillDragon = transform.FindChild("killDragon").gameObject;
            winKillDragon.SetActive(false);
            tfSubmitItem        = transform.FindChild("submitItem");
            tfSubmitItemMainCon = tfSubmitItem.FindChild("mask/scrollview/rect");
            tfSubmitItemCon     = tfSubmitItem.FindChild("mask/scrollview/rect/con");
            tfFocus             = tfSubmitItem.FindChild("focus");
            tfFocus.gameObject.SetActive(false);
            tfSubmitItem.gameObject.SetActive(false);
            tfBtnStart = winKillMon.transform.FindChild("btnStart");
            Transform tfBtnCancel = winKillMon.transform.FindChild("btnDontStart");

            new BaseButton(tfBtnStart).onClick  = OnStartBtnClick;
            new BaseButton(tfBtnCancel).onClick = OnCancelBtnClick;
            new BaseButton(transform.FindChild("submitItem/closeBtn")).onClick = (btnClose) => tfSubmitItem.gameObject.SetActive(false);
            new BaseButton(transform.FindChild("killmon/closeArea")).onClick   = (go) => go.transform.parent.gameObject.SetActive(false);
            new BaseButton(tfSubmitItem.FindChild("btnOK")).onClick            = (go) =>
            {
                if (submitItemIId != 0 && curTaskId != 0)
                {
                    A3_TaskProxy.getInstance().SendSubmit(curTaskId, submitItemIId);
                }
                tfSubmitItem.gameObject.SetActive(false);
            };
            //transform.SetParent(skillbar.instance.transform);
            A3_TaskProxy.getInstance().addEventListener(A3_TaskProxy.ON_TASK_REFRESH, OnCheck);
            A3_TaskProxy.getInstance().addEventListener(A3_TaskProxy.ON_GET_NEW_TASK, OnCheck);

            taskOptElement = new Dictionary <int, TaskOptElement>();
            Dictionary <int, TaskData> listTask = A3_TaskModel.getInstance().GetDicTaskData();
            List <int> idx = new List <int>(listTask.Keys);

            for (int i = 0; i < idx.Count; i++)
            {
                int taskId = idx[i];
                if (listTask[taskId].release_tm > 0)
                {
                    if (listTask[taskId].lose_tm > muNetCleint.instance.CurServerTimeStamp)
                    {
                        taskOptElement[taskId] =
                            new TaskOptElement(taskId,
                                               isKeepingKillMon: true,
                                               isTaskMonsterAlive: true //,
                                                                        //timeKillTerminal: A3_TaskModel.getInstance().GetTaskDataById(taskId).lose_tm
                                               );
                        taskOptElement[taskId].InitUi(
                            liteMinimapTaskTimer: a3_liteMinimap.instance.GetTaskPage(taskId)?.transform.FindChild("name/timer").GetComponent <Text>()
                            );
                    }
                }
            }
            Instance.name         = "A3_TaskOpt";
            waitThresholdDistance = XMLMgr.instance.GetSXML("task.range").getFloat("action_range") / GameConstant.PIXEL_TRANS_UNITYPOS;
            scaleIcon             = transform.FindChild("submitItem/iconConfig")?.localScale ?? Vector3.zero;
            new BaseButton(winKillDragon.transform.FindChild("btnStart")).onClick = (go) =>
            {
                uint dragonId = A3_SlayDragonModel.getInstance().GetUnlockedDragonId();
                int  diffLv   = A3_SlayDragonModel.getInstance().GetUnlockedDiffLv();
                A3_SlayDragonProxy.getInstance().SendGo();
            };
            new BaseButton(winKillDragon.transform.FindChild("btnNope")).onClick = (go) => winKillDragon.SetActive(false);
            if (!IsInvoking("RunTimer"))
            {
                InvokeRepeating("RunTimer", 0f, 1.0f);
            }



            getComponentByPath <Text>("killmon/bg/desc").text           = ContMgr.getCont("A3_TaskOpt_0");
            getComponentByPath <Text>("killmon/btncreatteam/Text").text = ContMgr.getCont("A3_TaskOpt_1");
            getComponentByPath <Text>("killmon/btnDontStart/Text").text = ContMgr.getCont("A3_TaskOpt_2");
            getComponentByPath <Text>("killmon/btnStart/Text").text     = ContMgr.getCont("A3_TaskOpt_3");
            getComponentByPath <Text>("wait/action_text").text          = ContMgr.getCont("A3_TaskOpt_4");
            getComponentByPath <Text>("submitItem/title/Text").text     = ContMgr.getCont("A3_TaskOpt_5");
            getComponentByPath <Text>("submitItem/btnOK/text").text     = ContMgr.getCont("A3_TaskOpt_6");
            getComponentByPath <Text>("killDragon/bg/desc").text        = ContMgr.getCont("A3_TaskOpt_7");
            getComponentByPath <Text>("killDragon/btnStart/Text").text  = ContMgr.getCont("A3_TaskOpt_8");
            getComponentByPath <Text>("killDragon/btnNope/Text").text   = ContMgr.getCont("A3_TaskOpt_2");
        }