예제 #1
0
    IEnumerator Game()
    {
        yield return(new WaitForSeconds(1.0f));

        while (true)
        {
            // 動物発生
            phase = PHASE.PREPARE;
            CreateAnimal();

            yield return(new WaitForSeconds(5.0f));

            // 落下開始
            phase = PHASE.FALL;
            FallAnimal();

            // 動物が止まるまで待つ
            yield return(new WaitUntil(DidStopFalling));

            animalManager.AddAnimal(fallingAnimal);
            fallingAnimal = null;

            // カメラスクロール開始
            phase = PHASE.CAMERA_MOVE;
            float maxYPos = animalManager.GetMaxYPos();
            cameraController.StartMove(new Vector3(0, maxYPos, 0));
            // カメラスクロールが終わるまで待つ
            yield return(new WaitWhile(cameraController.IsMoving));
        }
    }
예제 #2
0
        //[Ignore]
        public void AddingAnimalObjects()
        {
            // Setup
            Animal p   = new Penguin("Tux", Gender.Male, 0, 0, 0);
            var    p2  = new Penguin("Tux", Gender.Male, 0, 0, 0);
            var    mgr = new AnimalManager();

            // Exercise
            mgr.AddAnimal(p);  // an Animal
            mgr.AddAnimal(p2); // a Penguin

            // Verify
            var x = mgr.AnimalssAsRows;

            Assert.AreEqual(2, x.Count());
        }
예제 #3
0
        public void SortByName()
        {
            // Setup
            var mgr = new AnimalManager();

            Animal bear1 = new Bear("Adam", Gender.Male, 5, 32, 147);
            var    bear2 = new Bear("David", Gender.Male, 4, 32, 147);
            var    p1    = new Penguin("Caesar", Gender.Male, 3, 32, 147);
            Animal e1    = new Eagle("Bertil", Gender.Female, 2, 11, 100);

            mgr.AddAnimal(bear1);
            mgr.AddAnimal(bear2);
            mgr.AddAnimal(p1);
            mgr.AddAnimal(e1);

            // pre-check
            Assert.AreNotEqual(bear1.Name, bear2.Name);

            // Execute
            mgr.SortBy("Name");
            // We should be able to sort on Id, gender, name, age, eatertype, species or in general all properties that every Animal has.

            // Verify
            Assert.AreEqual("Adam", mgr.GetAnimal(0).Name);
            Assert.AreEqual("Bertil", mgr.GetAnimal(1).Name);


            // Execute again
            mgr.SortBy("ID");
            // Verify
            Assert.AreEqual("Adam", mgr.GetAnimal(0).Name);
            Assert.AreEqual("David", mgr.GetAnimal(1).Name);

            // Execute again
            mgr.SortBy("Age");
            // Verify
            Assert.AreEqual("Bertil", mgr.GetAnimal(0).Name);
            Assert.AreEqual("Caesar", mgr.GetAnimal(1).Name);
        }
예제 #4
0
파일: HomeScene.cs 프로젝트: zuojiashun/src
    //添加实体
    public IEntity AddEntity(string strName, EntityType type, uint nBaseID, int nState)
    {
        EntityCreateData data = BuildCreateEntityData(type, nBaseID, nState);

        if (data == null)
        {
            return(null);
        }

        data.strName = strName;

        IEntitySystem es = ClientGlobal.Instance().GetEntitySystem();

        if (es == null)
        {
            Engine.Utility.Log.Error("严重错误:EntitySystem is null!");
            return(null);
        }

        IEntity entity = es.CreateEntity(type, data);

        if (entity == null)
        {
            Engine.Utility.Log.Error("AddEntity:创建家园对象失败!");
            return(null);
        }

        if (entity.GetEntityType() == EntityType.EntityType_Animal)
        {
            m_AnimalManager.AddAnimal(entity as IAnimal);
        }

        m_dicEntity.Add((int)entity.GetID(), entity);

        return(entity);
    }