コード例 #1
0
ファイル: LearnBuilding.cs プロジェクト: ArcoMul/TrainWorkFly
    void Update()
    {
        List <int> removedindexes = new List <int>();
        int        index          = 0;

        foreach (WorkerItem workerItem in WorkerItems)
        {
            Worker w           = workerItem.Worker;
            float  timetolearn = TimeToLearnSkill * w.GetLevel(Type);
            float  time        = (float)DateTime.Now.Subtract(workerItem.WorkerTimeOfArrival).TotalSeconds;
            CircleBar.SetPercentage(time / timetolearn);

            if (time >= timetolearn)
            {
                w.SwitchState(Worker.States.WalkingToPlayer);
                w.AddLevel(Type);
                CircleBar.SetPercentage(0);
                removedindexes.Add(index);
            }

            index++;
        }

        foreach (int i in removedindexes)
        {
            WorkerItems.RemoveAt(i);
        }
    }
コード例 #2
0
    private void FinishTask()
    {
        foreach (WorkerItem w in WorkerItems)
        {
            w.Worker.SwitchState(Worker.States.WalkingToPlayer);
        }
        WorkerItems.Clear();
        IsCompleted = true;

        Destroy(gameObject);
    }
コード例 #3
0
        public void CreateAppDomains()
        {
            if (WorkerItems.Any())
            {
                return;
            }

            WorkerItems.Add(CreateWorkerItem(1));
            WorkerItems.Add(CreateWorkerItem(2));
            WorkerItems.Add(CreateWorkerItem(3));

            Console.WriteLine("MessageHandler CreateAppDomain Method. Invoking Test Method....");
            foreach (var workerItem in WorkerItems)
            {
                workerItem.WorkerAppDomain.Test();
            }
        }