Beispiel #1
0
    public void closeAllCP()
    {
        workerBeeCP.SetActive(false);
        maleBeeCP.SetActive(false);
        flowerCP.SetActive(false);
        hiveCP.SetActive(false);

        this.controlPanelGameobject = null;
        this.controlPanelBee        = null;
        this.controlPanelFlower     = null;
        this.hive = null;
    }
Beispiel #2
0
    public void showFlowerCP(FlowerTileController flower)
    {
        GameObject controlPanelGameobject = null;

        controlPanelGameobject = flowerCP;

        controlPanelGameobject.SetActive(true);

        GameObject honeyGameObject = controlPanelGameobject.transform.Find("Honey Container").Find("Honey").gameObject;

        honeyGameObject.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, Mathf.Lerp(0.0f, 208.432f, ((float)flower.honey) / flower.maxHoney));

        controlPanelGameobject.transform.Find("Honey Text").GetComponent <Text>().text = string.Format("{0:0.0%}", flower.honey / flower.maxHoney);

        this.controlPanelGameobject = controlPanelGameobject;
        this.controlPanelFlower     = flower;
    }
Beispiel #3
0
    protected override void doWorkPart()
    {
        if (firstFlower == null)
        {
            for (int i = -HexController.getInstance().numberOfVerticalTiles + 1; i < HexController.getInstance().numberOfVerticalTiles; i++)
            {
                if (firstFlower != null)
                {
                    break;
                }

                for (int j = -HexController.getInstance().numberOfHorizontalTiles + 1; j < HexController.getInstance().numberOfHorizontalTiles; j++)
                {
                    if (firstFlower != null)
                    {
                        break;
                    }

                    int indexI = i + HexController.getInstance().numberOfVerticalTiles - 1;
                    int indexJ = j + HexController.getInstance().numberOfHorizontalTiles - 1;

                    TileController tile = HexController.getInstance().tiles[indexI][indexJ];

                    if (tile is FlowerTileController && tile.getState() == TileController.TileState.Visible && ((FlowerTileController)tile).honey > 0)
                    {
                        firstFlower = (FlowerTileController)tile;
                    }

                    if (firstFlower != null)
                    {
                        break;
                    }
                }

                if (firstFlower != null)
                {
                    break;
                }
            }
        }

        if (firstFlower == null)
        {
            this.doneProgress = 1.0f;

            if (this.doneProgress >= 1.0f)
            {
                this.doneProgress = 1.0f;
                this.finished     = true;
            }

            return;
        }

        endPosition = new Vector3(firstFlower.transform.position.x, endHeight, firstFlower.transform.position.z);

        if (!addedCollectWorkUnit)
        {
            this.bee.workQueue.Add(new CollectHoneyWorkUnit(this.bee, firstFlower.indexI, firstFlower.indexJ, false));
            this.bee.workQueueChanged = true;


            addedCollectWorkUnit = true;
        }

        if (endPosition == startPosition)
        {
            this.doneProgress = 1.0f;

            if (this.doneProgress >= 1.0f)
            {
                this.doneProgress = 1.0f;
                this.finished     = true;
            }

            return;
        }


        long elapsedMilliseconds = stopwatch.ElapsedMilliseconds;

        if (lastTimeStamp == -1)
        {
            lastTimeStamp = elapsedMilliseconds;
        }

        float speedMultiplier = (endPosition - startPosition).magnitude;

        this.doneProgress += 0.0035f * (elapsedMilliseconds - lastTimeStamp) / speedMultiplier;

        lastTimeStamp = elapsedMilliseconds;

        if (this.doneProgress >= 1.0f)
        {
            this.doneProgress = 1.0f;
            this.finished     = true;
        }

        Vector3 newPosition = Vector3.Lerp(startPosition, endPosition, (float)doneProgress);

        try
        {
            bee.transform.position = newPosition;
            bee.transform.LookAt(new Vector3(endPosition.x, bee.transform.position.y, endPosition.z));

            if (GameController.getInstance().state == GameController.GameState.BEE_SELECTED)
            {
                GameController.getInstance().visibilitiesChanged = true;
            }
        }
        catch (Exception e)
        {
        }
    }