Esempio n. 1
0
        public void PushUp()
        {
            ArchitectAntNum = Architect.Rate;
            WorkAntNum      = Work.Rate;
            DeffenceAntNum  = Deffence.Rate;
            TotalAntNum     = 100.0f;

            FreeAntNum = TotalAntNum - (ArchitectAntNum + WorkAntNum + DeffenceAntNum);

            jobScript.ideal_Architect = ArchitectAntNum;
            jobScript.ideal_Soilder   = DeffenceAntNum;
            jobScript.ideal_Mule      = WorkAntNum;
            jobScript.ideal_Free      = FreeAntNum;

            //無職リストを持ってきてジョブチェンジ
            var unemployedAnts = NestSystem.Instance.SpawnedAnt.Where(n => n.GetType() == typeof(UnemployedAnt) && n.Data.IsAlive);

            Debug.Log(unemployedAnts.Count());
            for (int i = unemployedAnts.Count() - 1; i >= 0; i--)
            {
                jobScript.AssignJob(unemployedAnts.ElementAt(i));
            }

            Debug.Log(ArchitectAntNum + ":" + WorkAntNum + ":" + DeffenceAntNum);
        }
Esempio n. 2
0
        // 実際のアリ生成関数
        public IEnumerator Spawn()
        {
            while (true)
            {
                yield return(new WaitForSeconds(SpawnInterval));

                if (!NestSystem.Instance.GetAnts <QueenAnt>().Any())
                {
                    continue;
                }
                // アリ生成
                for (int i = 0; i < NestSystem.Instance.Data.CommonDataRegistry.GetCommonData <QueenAntCommonData>().BasicEfficiency; i++)
                {
                    UnemployedAntData data = new UnemployedAntData()
                    {
                        Position = transform.position,
                    };
                    var ant = NestSystem.Instance.InstantiateAnt(data);
                    JobAssignmentSystem.AssignJob(ant);
                    lastSpawnedTime = CurrentTime;
                }
            }
        }