Inheritance: MonoBehaviour
Beispiel #1
0
 public PowerGrid(int width, int height, int serialNumber)
 {
     _width  = width;
     _height = height;
     _cells  = new PowerCell[width, height];
     for (var y = 1; y <= height; y++)
     {
         for (var x = 1; x <= width; x++)
         {
             _cells[x - 1, y - 1] = new PowerCell(x, y, serialNumber);
         }
     }
 }
    void UpdateShip()
    {
        NumParts    = 0;
        EnginePower = 0;
        Energy      = 0;
        int Trophies = 0;

        gameObject.SendMessage("DestroyGhosts");
        if (EditMode)
        {
            gameObject.SendMessage("CreateAnchors");
        }
        gameObject.SendMessage("ChangeArt");
        foreach (Transform Child in transform)
        {
            if (Child.tag != "Ghosts")
            {
                NumParts++;
            }
            Engine engine = Child.GetComponent <Engine>();
            if (engine != null)
            {
                EnginePower += engine.EnginePower;
            }
            PowerCell powerCell = Child.GetComponent <PowerCell>();
            if (powerCell != null)
            {
                Energy++;
            }
            Trophy trophy = Child.GetComponent <Trophy>();
            if (trophy != null)
            {
                Trophies++;
            }
            Child.SendMessage("DestroyGhosts", null, SendMessageOptions.DontRequireReceiver);
            if (EditMode)
            {
                Child.SendMessage("CreateAnchors", null, SendMessageOptions.DontRequireReceiver);
            }
            Child.SendMessage("ChangeArt", null, SendMessageOptions.DontRequireReceiver);
        }
        FireRate = (float)(3.0f / (Energy + 1));
        GameObject Cam = GameObject.Find("Main Camera");

        if (NumParts > 3)
        {
            Cam.SendMessage("ChangeMusic", new int[] { 1, 100 });
        }
        else
        {
            Cam.SendMessage("ChangeMusic", new int[] { 1, 0 });
        }
        if (NumParts > 6)
        {
            Cam.SendMessage("ChangeMusic", new int[] { 2, 100 });
        }
        else
        {
            Cam.SendMessage("ChangeMusic", new int[] { 2, 0 });
        }

        if (Trophies > 0)
        {
            Cam.SendMessage("ChangeMusic", new int[] { 4, 100 });
        }
        if (Trophies > 1)
        {
            Cam.SendMessage("ChangeMusic", new int[] { 5, 100 });
        }
        if (Trophies == 3)
        {
            SceneManager.LoadSceneAsync("YouWin");
        }
    }
Beispiel #3
0
        public void PowerCellShouldCalculateLevel(int x, int y, int serialNumber, int expectedResult)
        {
            var cell = new PowerCell(x, y, serialNumber);

            Assert.Equal(expectedResult, cell.PowerLevel);
        }