示例#1
0
    //获得每日任务(符合玩家等级条件)
    public Task[] getEveryDayTask(int level)
    {
        if (array == null)
        {
            return(null);
        }
        List <Task> list = new List <Task>();

        for (int i = 0; i < array.Count; i++)
        {
            TaskSample sample = TaskSampleManager.Instance.getTaskSampleBySid(array[i].sid);
            if (sample.taskType == 1 && sample.showLv <= level)
            {
                list.Add(array[i]);
            }
        }
        List <Task> completeList = new List <Task>();
        int         count        = list.Count;
        List <Task> temp         = new List <Task>();

        for (int i = 0; i < count; i++)
        {
            if (isComplete(list[i]))
            {
                completeList.Add(list[i]);
            }
            else
            {
                temp.Add(list[i]);
            }
        }
        ListKit.AddRange(completeList, temp);
        return(completeList.ToArray());
    }
    void Start()
    {
        Button button = GetComponent <Button>();

        if (button != null)
        {
            button.onClick.AddListener(async() =>
            {
                Util.LogCurrentThread();

                /// Task.Run은 별도의 쓰레드에서 돌아가기 때문에 SubThreadWork 함수가 끝날 때 까지 대기하지 않는다.
                //await Task.Run((System.Action)SubThreadWork);

                /// await하기 때문에 MakeRequest함수가 끝날 때 까지 대기한다.
                /// MainThread에서 돌아간다.
                string result = await TaskSample.MakeRequest();
                Text text     = GetComponentInChildren <Text>();
                if (text != null)
                {
                    text.text = result;
                }
                Debug.Log("Button Event Finished.");
            });
        }
    }
示例#3
0
    private PrizeSample getPrize()
    {
        TaskSample  ts = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);
        PrizeSample ps = ts.prizes [task.index - 1];

        currentNum = ps.getPrizeNumByInt();
        return(ps);
    }
示例#4
0
    //解析模板数据
    public override void parseSample(int sid)
    {
        TaskSample sample  = new TaskSample();
        string     dataStr = getSampleDataBySid(sid);

        sample.parse(sid, dataStr);
        samples.Add(sid, sample);
    }
示例#5
0
        public static void Main()
        {
            //for (int i = 0; i < 10; i++)
            //{
            //    Console.WriteLine("Main thread");
            //    Thread.Sleep(0);
            //}

            //Thread thread1 = new Thread(ThreadMethod);

            //thread1.Start();

            //thread1.Name = "Thread #1";
            //Console.WriteLine(thread1.Name);
            //thread1.Priority = ThreadPriority.Normal;
            //Console.WriteLine(thread1.Priority);
            //Console.WriteLine(thread1.ManagedThreadId);

            //thread1.Join();

            //Thread thread2 = new Thread(() =>
            //{
            //    for (int i = 0; i < 10; i++)
            //    {
            //        Console.WriteLine("Thread Method #2");
            //        Thread.Sleep(0);
            //    }
            //});

            //thread2.IsBackground = false;

            //thread2.Start();

            //Thread thread3 = new Thread(ThreadMethodWithParameter);

            //thread3.Start("Home");

            //Thread thread4 = new Thread(ThreadtWithAccessToField);
            //Thread thread5 = new Thread(ThreadtWithAccessToField);

            //thread4.Start("Thread #4");
            //thread5.Start("Thread #5");

            //thread4.Join();
            //thread5.Join();

            //Console.WriteLine("_field : " + _field);

            //ThreadPool.QueueUserWorkItem(ThreadtWithAccessToField);
            //ThreadPool.QueueUserWorkItem(ThreadtWithAccessToField);

            TaskSample taskSample = new TaskSample();

            taskSample.Execute();

            //Console.Read();
        }
示例#6
0
        private static void Main(string[] args)
        {
            //new Thread(go).Start();
            //new Thread(go).Start();
            //Console.ReadKey();
            //CollectionTest.test();

            TaskSample.Test();
            //TaskSample.AsyncTaskExceptions_CanBeCaughtByCatch();
            //TaskSample.AsyncTaskExceptions2_CanBeCaughtByCatch();
            Console.ReadKey();
        }
示例#7
0
    private bool isDrawPrizes()
    {
        bool        isDraw = true;
        TaskSample  ts     = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);
        PrizeSample ps     = ts.prizes [task.index - 1];

        if (ps.type == PrizeType.PRIZE_CARD)
        {
            Card card = CardManagerment.Instance.createCard(ps.pSid);
            prizeName = card.getName();
            if (StorageManagerment.Instance.isRoleStorageFull(ps.getPrizeNumByInt()))
            {
                isDraw = false;
            }
        }
        else if (ps.type == PrizeType.PRIZE_EQUIPMENT)
        {
            Equip equip = EquipManagerment.Instance.createEquip(ps.pSid);
            prizeName = equip.getName();
            if (StorageManagerment.Instance.isEquipStorageFull(ps.getPrizeNumByInt()))
            {
                isDraw = false;
            }
        }
        else if (ps.type == PrizeType.PRIZE_MONEY)
        {
            prizeName = LanguageConfigManager.Instance.getLanguage("s0049");
            if (UserManager.Instance.self.getMoney() + ps.getPrizeNumByLong() > int.MaxValue)
            {
                isDraw = false;
            }
        }
        else if (ps.type == PrizeType.PRIZE_PROP)
        {
            Prop prop = PropManagerment.Instance.createProp(ps.pSid);
            prizeName = prop.getName();
            if (StorageManagerment.Instance.isPropStorageFull(ps.pSid))
            {
                isDraw = false;
            }
        }
        else if (ps.type == PrizeType.PRIZE_RMB)
        {
            prizeName = LanguageConfigManager.Instance.getLanguage("s0048");
            if (UserManager.Instance.self.getRMB() + ps.getPrizeNumByLong() > int.MaxValue)
            {
                isDraw = false;
            }
        }
        return(isDraw);
    }
示例#8
0
    //获得主线任务(符合玩家等级条件)
    public Task[] getMainLineTask(int level)
    {
        if (array == null)
        {
            return(null);
        }
        List <Task> list = new List <Task>();

        for (int i = 0; i < array.Count; i++)
        {
            TaskSample sample = TaskSampleManager.Instance.getTaskSampleBySid(array[i].sid);

            if (sample.taskType == 0)
            {
                if (sample.showLv <= level)
                {
                    list.Add(array[i]);
                }
            }
        }
        List <Task> completeList = new List <Task>();
        int         count        = list.Count;
        List <Task> temp         = new List <Task>();
        List <Task> maintakss    = new List <Task>();

        for (int i = 0; i < count; i++)
        {
            if (list[i].sid == 104003)
            {
                maintakss.Add(list[i]);
            }
        }
        for (int i = 0; i < count; i++)
        {
            if (list[i].sid != 104003)
            {
                if (isComplete(list[i]))
                {
                    completeList.Add(list[i]);
                }
                else
                {
                    temp.Add(list[i]);
                }
            }
        }
        ListKit.AddRange(maintakss, completeList);
        ListKit.AddRange(maintakss, temp);
        return(maintakss.ToArray());
    }
示例#9
0
    private PrizeSample getdrPrize()
    {
        TaskSample  ts = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);
        PrizeSample ps;

        if (!TaskManagerment.Instance.getTaskArr().Contains(task))
        {
            ps = ts.prizes[ts.prizes.Count - 1];
        }
        else
        {
            ps = ts.prizes[task.index - 2 <= 0?0:task.index - 2];
        }
        currentNum = ps.getPrizeNumByInt();
        return(ps);
    }
示例#10
0
    /// <summary>
    /// 获得每日返利任务
    /// </summary>
    public ArrayList getDailyRebateTask()
    {
        if (array == null)
        {
            return(null);
        }
        ArrayList list = new ArrayList();

        for (int i = 0; i < array.Count; i++)
        {
            TaskSample sample = TaskSampleManager.Instance.getTaskSampleBySid(array[i].sid);
            if (sample.taskType == 3 && UserManager.Instance.self.getUserLevel() >= sample.showLv)
            {
                list.Add(array[i]);
            }
        }
        return(list);
    }
示例#11
0
 public void updateTask(Task _task)
 {
     if (_task == null)
     {
         return;
     }
     else
     {
         task          = _task;
         mSample       = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);
         taskName.text = mSample.name + TaskManagerment.Instance.setCompleteProShow(task);
         if (task.index > mSample.condition.conditions.Length / 2)
         {
             receiveButton.gameObject.SetActive(true);
             receiveButton.disableButton(true);
             receiveButton.textLabel.text = LanguageConfigManager.Instance.getLanguage("notice_dailyRebate_06");
         }
         else if (!TaskManagerment.Instance.isComplete(task))
         {
             gotoButton.gameObject.SetActive(true);
             receiveButton.gameObject.SetActive(false);
         }
         else
         {
             gotoButton.gameObject.SetActive(false);
             receiveButton.gameObject.SetActive(true);
             receiveButton.disableButton(false);
             receiveButton.textLabel.text = LanguageConfigManager.Instance.getLanguage("s0309");
         }
         TaskSample ts = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);
         if (task.index <= ts.condition.conditions.Length / 2 && UserManager.Instance.self.getVipLevel() < ts.condition.conditions[(task.index - 1) * 2 + 1])
         {
             receiveButton.disableButton(true);
             taskDesc.gameObject.SetActive(true);
             taskDesc.text = LanguageConfigManager.Instance.getLanguage("notice_dailyRebate_07", ts.condition.conditions[(task.index - 1) * 2 + 1].ToString());
             receiveButton.gameObject.SetActive(false);
             gotoButton.gameObject.SetActive(true);
             gotoButton.textLabel.text = LanguageConfigManager.Instance.getLanguage("notice_dailyRebate_09");
             gotoButton.disableButton(true);
         }
         int index = task.index <= ts.condition.conditions.Length / 2 ? task.index  : ts.condition.conditions.Length / 2;
         initAward(index - 1);
     }
 }
示例#12
0
    public void updateTask(Task _task)
    {
        if (_task == null)
        {
            return;
        }
        else
        {
            task = _task;
            prizeIcon.initPrize(getPrize(), windowBack, win);
            mSample       = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);
            taskName.text = mSample.name;
            taskDesc.text = mSample.conditionDesc[task.index - 1];
            progress.text = TaskManagerment.Instance.setCompleteProShow(task);

            if (TaskManagerment.Instance.isComplete(task))
            {
                receiveButton.gameObject.SetActive(true);
                //icon.spriteName = COMPLETE;
                UI_GoBtn.gameObject.SetActive(false);
            }
            else
            {
                //icon.spriteName = NOCOMPLETE;
                receiveButton.gameObject.SetActive(false);
                UI_GoBtn.gameObject.SetActive(true);
                if (mSample.windowLinkSid == 0)
                {
                    UI_GoBtn.disableButton(true);
                    UI_GoBtn.textLabel.text = LanguageConfigManager.Instance.getLanguage("notice_dailyRebate_09");
                }
                else
                {
                    UI_GoBtn.disableButton(false);
                    UI_GoBtn.textLabel.text = LanguageConfigManager.Instance.getLanguage("combatTips_Go01");
                }
                //UI_GoBtn.gameObject.SetActive (mSample.windowLinkSid != 0);
            }
            //icon.gameObject.SetActive (!UI_GoBtn.gameObject.activeSelf);
        }
    }
示例#13
0
    public override void copy(object destObj)
    {
        base.copy(destObj);
        TaskSample dest = destObj as TaskSample;

        if (this.conditionDesc != null)
        {
            dest.conditionDesc = new string[this.conditionDesc.Length];
            for (int i = 0; i < this.conditionDesc.Length; i++)
            {
                dest.conditionDesc [i] = this.conditionDesc [i];
            }
        }
        if (this.prizes != null)
        {
            dest.prizes = new List <PrizeSample> ();
            for (int i = 0; i < this.prizes.Count; i++)
            {
                dest.prizes.Add(this.prizes [i].Clone() as PrizeSample);
            }
        }
    }
示例#14
0
    public bool isComplete(Task task)
    {
        TaskSample ts = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);

        if (ts.condition.key == TaskConditionType.LEVEL)
        {
            if (ts.condition.conditions [task.index - 1] <= UserManager.Instance.self.getUserLevel())
            {
                return(true);
            }
        }
        else if (ts.condition.key == TaskConditionType.NUMOFFRIENDS)
        {
            if (FriendsManagerment.Instance.getFriendAmount() >= ts.condition.conditions [task.index - 1])
            {
                return(true);
            }
        }
//		else if(ts.condition.key == TaskConditionType.TOWER){
//			if(ClmbTowerManagerment.Instance)
//		}
        else if (ts.condition.key == TaskConditionType.CUMLOADING)
        {
            if (TotalLoginManagerment.Instance.getTotalDay() >= ts.condition.conditions [task.index - 1])
            {
                return(true);
            }
        }
        else if (ts.condition.key == TaskConditionType.MAINCARDLV)
        {
            if (ts.condition.conditions [task.index - 1] <= StorageManagerment.Instance.getRole(UserManager.Instance.self.mainCardUid).getLevel())
            {
                return(true);
            }
        }
        else if (ts.condition.key == TaskConditionType.ORANGEBEAST)
        {
            if (task.condition >= ts.condition.conditions [task.index - 1])
            {
                return(true);
            }
        }
        else if (ts.condition.key == TaskConditionType.PURPLEBEAST)
        {
            if (task.condition >= ts.condition.conditions [task.index - 1])
            {
                return(true);
            }
        }
        else if (ts.condition.key == TaskConditionType.BEASTLV)
        {
            ArrayList list = StorageManagerment.Instance.getAllBeast();
            for (int k = 0; k < list.Count; k++)
            {
                if ((list [k] as Card).getLevel() >= ts.condition.conditions [task.index - 1])
                {
                    return(true);
                }
            }
        }
        else if (ts.condition.key == TaskConditionType.CARDSKILLNUM)
        {
            ArrayList list = StorageManagerment.Instance.getAllRole();
            for (int k = 0; k < list.Count; k++)
            {
                if ((list [k] as Card).getSkills() != null)
                {
                    int skillNum     = 0;
                    int attrSkillNum = 0;
                    int buffSkillNum = 0;
                    if ((list [k] as Card).getSkills() != null)
                    {
                        skillNum = (StorageManagerment.Instance.getAllRole() [k] as Card).getSkills().Length;
                    }
                    if ((list [k] as Card).getAttrSkills() != null)
                    {
                        attrSkillNum = (StorageManagerment.Instance.getAllRole() [k] as Card).getAttrSkills().Length;
                    }
                    if ((list [k] as Card).getBuffSkills() != null)
                    {
                        buffSkillNum = (StorageManagerment.Instance.getAllRole() [k] as Card).getBuffSkills().Length;
                    }
                    if ((skillNum + attrSkillNum + buffSkillNum) >= ts.condition.conditions [task.index - 1])
                    {
                        return(true);
                    }
                }
            }
        }
        else if (ts.condition.key == TaskConditionType.GRADEVIP)
        {
            if (UserManager.Instance.self.vipLevel >= ts.condition.conditions [task.index - 1])
            {
                return(true);
            }
        }
        else if (ts.condition.key == TaskConditionType.DRAMAFBPRO)
        {
            int[][] storeInfo = FuBenManagerment.Instance.getStoryInfos();
            if (storeInfo != null && storeInfo.Length > 0)
            {
                for (int i = 0; i < storeInfo.Length; i++)
                {
                    if (storeInfo [i] [0] >= ts.condition.conditions [task.index - 1])
                    {
                        return(true);
                    }
                }
                return(false);
                //return storeInfo [storeInfo.Length - 1] [0] >= ts.condition.conditions [task.index - 1];
            }
        }
        else if (ts.condition.key == TaskConditionType.CRUSADEFBPRO)
        {
            int[] warInfo = FuBenManagerment.Instance.getWarInfos();
            if (warInfo != null && warInfo.Length > 0)
            {
                for (int i = 0; i < warInfo.Length; i++)
                {
                    if (warInfo [i] >= ts.condition.conditions [task.index - 1])
                    {
                        return(true);
                    }
                }
                return(false);
                //return warInfo [warInfo.Length - 1] >= ts.condition.conditions [task.index - 1];
            }
        }
        else if (ts.condition.key == TaskConditionType.DAILYREBATE)
        {
            if (task.index <= ts.condition.conditions.Length / 2)
            {
                if (task.condition >= ts.condition.conditions [(task.index - 1) * 2] && UserManager.Instance.self.getVipLevel() >= ts.condition.conditions [(task.index - 1) * 2 + 1])
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            //else
            //	return true;
        }
        else if (ts.condition.key == TaskConditionType.STARSHINE)
        {
            if (task.index == 0)
            {
                return(false);
            }
            if (GoddessAstrolabeManagerment.Instance.getAllStartNum() >= ts.condition.conditions[task.index - 1])
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        else
        {
            if (task.index == 0)
            {
                return(false);
            }

            if ((ts.condition.conditions[task.index - 1] <= task.condition))
            {
                return(true);
            }
        }

        return(false);
    }
示例#15
0
    public string setCompleteProShow(Task task)
    {
        TaskSample ts = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);

        if (ts.condition.key == TaskConditionType.LEVEL)
        {
            return(UserManager.Instance.self.getUserLevel() + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.MAINCARDLV)
        {
            return(StorageManagerment.Instance.getRole(UserManager.Instance.self.mainCardUid).getLevel() + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.BEASTLV)
        {
            int       temp = 0;
            ArrayList list = StorageManagerment.Instance.getAllBeast();
            for (int k = 0; k < list.Count; k++)
            {
                if ((list [k] as Card).getLevel() > temp)
                {
                    temp = (list [k] as Card).getLevel();
                }
            }
            return(temp + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.CARDSKILLNUM)
        {
            int       temp = -1;
            ArrayList list = StorageManagerment.Instance.getAllRole();
            Card      card;
            for (int k = 0; k < list.Count; k++)
            {
                card = list [k] as Card;
                if (card.getSkillNum() > temp)
                {
                    temp = card.getSkillNum();
                }
            }
            return(temp + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.PURPLEBEAST)
        {
            return(task.condition + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.NUMOFFRIENDS)
        {
            return(FriendsManagerment.Instance.getFriendAmount() + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.ORANGEBEAST)
        {
            return(task.condition + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.CUMLOADING)
        {
            return(TotalLoginManagerment.Instance.getTotalDay() + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.GRADEVIP)
        {
            return(UserManager.Instance.self.vipLevel + "/" + ts.condition.conditions [task.index - 1]);
        }
        else if (ts.condition.key == TaskConditionType.DRAMAFBPRO)
        {
            ChapterSample chapter = ChapterSampleManager.Instance.getChapterSampleBySid(MissionSampleManager.Instance.getMissionSampleBySid(ts.condition.conditions [task.index - 1]).chapterSid);
            if (chapter != null)
            {
                int     num         = 0;
                int[][] storyInfos  = FuBenManagerment.Instance.getStoryInfos();
                int[]   missionList = chapter.missions;
                for (int i = 0; i < storyInfos.Length; i++)
                {
                    for (int j = 0; j < missionList.Length; j++)
                    {
                        if (storyInfos[i][0] == missionList[j])
                        {
                            num++;
                        }
                    }
                }
                return(num + "/" + chapter.missions.Length);
                //return FuBenManagerment.Instance.getMyMissionStarNum(chapter.sid) + "/" + FuBenManagerment.Instance.getAllMissionStarNum(chapter.sid);
            }
            return("");
        }
        else if (ts.condition.key == TaskConditionType.CRUSADEFBPRO)          //主线任务

        {
            return("");
        }
        else if (ts.condition.key == TaskConditionType.DAILYREBATE)
        {
            if (task.index <= ts.condition.conditions.Length / 2)
            {
                return("(" + task.condition + "/" + ts.condition.conditions [(task.index - 1) * 2] + ")");
            }
            return("(" + task.condition + "/" + ts.condition.conditions [ts.condition.conditions.Length - 2] + ")");
        }
        else if (ts.condition.key == TaskConditionType.STARSHINE)
        {
            return(GoddessAstrolabeManagerment.Instance.getAllStartNum() + "/" + ts.condition.conditions[task.index - 1]);
        }
        else
        {
            return(task.condition + "/" + ts.condition.conditions[task.index - 1]);
        }
    }
        static void Main(string[] args)
        {
            Console.WriteLine("Escolha uma opção");
            Console.WriteLine("1-Delegagte");
            Console.WriteLine("2-Lock");
            Console.WriteLine("3-SocketTCP");
            Console.WriteLine("4-Task");
            Console.WriteLine("5-Threads");
            Console.WriteLine("5-Collections");

            var key = Console.ReadLine();

            var opt = int.TryParse(key, out int result) ? result : 0;

            Console.WriteLine("\n");

            switch (opt)
            {
            case 1:
                // Creates one delegate for each method. For the instance method, an
                // instance (mySC) must be supplied. For the static method, use the
                // class name.
                mySampleClass    mySC = new mySampleClass();
                myMethodDelegate myD1 = new myMethodDelegate(mySC.myStringMethod);
                myMethodDelegate myD2 = new myMethodDelegate(mySampleClass.mySignMethod);

                // Invokes the delegates.
                Console.WriteLine("{0} is {1}; use the sign \"{2}\".", 5, myD1(5), myD2(5));
                Console.WriteLine("{0} is {1}; use the sign \"{2}\".", -3, myD1(-3), myD2(-3));
                Console.WriteLine("{0} is {1}; use the sign \"{2}\".", 0, myD1(0), myD2(0));
                break;

            case 2:
                Task.Run(async() => await AccountTest.MainSample()).Wait();
                break;

            case 3:
                SynchronousSocketClient.StartClient();
                break;

            case 4:
                TaskSample.MainSample();
                break;

            case 5:
                ThreadSample.Run();
                break;

            case 6:
                Console.WriteLine("Collections");
                Console.WriteLine("1-ConcurrentDictionary");

                Task.Run(async() => await TestDictionary.RunSample()).Wait();

                break;

            default:
                Console.WriteLine("Opção inválida");
                break;
            }
        }