Beispiel #1
0
    private void Start()
    {
        canvasManager = GameObject.FindWithTag("GameManager").GetComponent <CanvasManager>();

        buildBuilding    = GetComponent <BuildBuilding>();
        upgradeFarmHouse = farmHouse.GetComponent <UpgradeBuilding>();
        upgradeFarm      = farm.GetComponent <UpgradeBuilding>();
        upgradeHouse     = house.GetComponent <UpgradeBuilding>();
        upgradeTower     = tower.GetComponent <UpgradeBuilding>();

        StartCoroutine(Print());
        StartCoroutine(Logging());
        StartCoroutine(Quarring());
        StartCoroutine(Forging());

        extraMoney++;
        extraWood++;
        extraStone++;
        extraHay++;

        LevelMoney++;
        LevelWood++;
        LevelStone++;
        LevelHay++;
    }
Beispiel #2
0
    void Start()
    {
        build = GetComponent <BuildBuilding>();
        ui    = GetComponent <UI>();

        //nacte veze ve slozkach
        Towers = Resources.LoadAll <GameObject>("Towers");
    }
    // Update is called once per frame
    void Update()
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit, 50000.0f, (1 << 8)))
        {
            transform.position = new Vector3(hit.point.x, hit.point.y + offset
                                             , hit.point.z);
        }
        if (CanPlace && Input.GetMouseButtonDown(0))
        {
            animationPrefabInstance = Instantiate(animationPrefab, transform.position, transform.rotation);
            this.gameObject.SetActive(false);
            Invoke("CompleteConstruction", 3);

            CurrentlySelected = null;
        }
        if (Input.GetMouseButton(1))
        {
            CurrentlySelected = null;
            Destroy(gameObject);
        }
        bool isShiftDown = false;

        if (Input.GetKey(KeyCode.LeftShift))
        {
            isShiftDown = true;
        }
        if (isShiftDown)
        {
            if (Input.GetKey(KeyCode.E))
            {
                transform.eulerAngles = new Vector3(transform.eulerAngles.x,
                                                    Mathf.Round(transform.eulerAngles.y / increment) * increment, transform.eulerAngles.z);
            }
            else if (Input.GetKey(KeyCode.Q))
            {
                transform.eulerAngles = new Vector3(transform.eulerAngles.x,
                                                    Mathf.Round(transform.eulerAngles.y / increment) * increment, transform.eulerAngles.z);
            }
        }
        else
        {
            if (Input.GetKey(KeyCode.E))
            {
                transform.Rotate(Vector3.up);
            }
            else if (Input.GetKey(KeyCode.Q))
            {
                transform.Rotate(-Vector3.up);
            }
        }
    }
Beispiel #4
0
    private void onBuild(string[] data)
    {
        Vector3       tt = new Vector3(float.Parse(data[3]), float.Parse(data[4]), float.Parse(data[5]));
        BuildBuilding b  = this.GetComponent <BuildBuilding>();
        Unit          u  = new Unit();

        u.pos = tt;
        u.id  = EnemeyBuildId;
        EnemeyBuildId++;
        u.go = b.createBuilding(data[2], tt, 0f);
        myPlayerHandler.EnemyBuildings.Add(u);
    }
Beispiel #5
0
 // Start is called before the first frame update
 void Start()
 {
     camera        = GetComponentInParent <Camera>();
     selectedUnits = transform.GetComponent <GameControls>().selectedUnits;
     buildbuilding = transform.GetComponent <BuildBuilding>();
 }
Beispiel #6
0
    private void Start()
    {
        WoodBackground  = Resources.Load <Sprite>("Sprites/podlaha") as Sprite;
        SteelBackground = Resources.Load <Sprite>("Sprites/Steel") as Sprite;
        Coin            = Resources.Load <Sprite>("Sprites/Coin") as Sprite;
        WoodPanel       = Resources.Load <Sprite>("Sprites/Wood") as Sprite;
        Dirt            = Resources.Load <Sprite>("Sprites/Dirt") as Sprite;
        Heart           = Resources.Load <Sprite>("Sprites/heart") as Sprite;
        TowerWR         = Resources.Load <Sprite>("Sprites/OrangeLv1_erb") as Sprite;
        TowerBW         = Resources.Load <Sprite>("Sprites/BlueLv1_erb") as Sprite;
        TowerYR         = Resources.Load <Sprite>("Sprites/RedLv1_erb") as Sprite;
        SellSprite      = Resources.Load <Sprite>("Sprites/SellButton2") as Sprite;
        UpgradeSprite   = Resources.Load <Sprite>("Sprites/UpgradeButton2") as Sprite;



        GameObject YRMageTowerLv1Model = Resources.Load("Towers/TowersYR/YRVezLv1Mage") as GameObject;
        GameObject BWMageTowerLv1Model = Resources.Load("Towers/TowersBW/BWMageTowerLv1") as GameObject;
        GameObject WRMageTowerLv1Model = Resources.Load("Towers/TowersWR/WRMageTowerLv1") as GameObject;

        //nacte font pro text
        ArialFont = (Font)Resources.GetBuiltinResource(typeof(Font), "Arial.ttf");

        build          = gameObject.GetComponent <BuildBuilding>();
        sellAndupgrade = gameObject.GetComponent <SellandUpgrade>();


        BWMageTowerLv1     = new GameObject();
        BWMageTowerLv1Text = new GameObject();

        YRMageTowerLv1     = new GameObject();
        YRMageTowerLv1Text = new GameObject();

        WRMageTowerLv1     = new GameObject();
        WRMageTowerLv1Text = new GameObject();

        BuildCan  = new GameObject();
        BuildNode = new GameObject();

        UpgradeCan  = new GameObject();
        UpgradeNode = new GameObject();

        UpgradeButt = new GameObject();
        UpgradeText = new GameObject();

        SellButt = new GameObject();
        SellText = new GameObject();

        WorldCan  = new GameObject();
        WorldNode = new GameObject();

        TopPanel = new GameObject();

        TopPanelCoinPlace = new GameObject();

        TopPanelCoin = new GameObject();

        TopPanelCoinCount = new GameObject();

        TopPanelCoinCountCash = new GameObject();

        TopPanelLifePlace = new GameObject();

        TopPanelLife = new GameObject();

        TopPanelLifePlaceNummber = new GameObject();

        TopPanelLifeNummber = new GameObject();



        // vytvori novy kanvas na vlozeni dvou tlacitek lze s nim pohybovat

        CreateCanvas(BuildNode, BuildCan, BuildCanName);
        CanvasSetSize(BuildCan);


        // vlozi do kanvasu dve tlacitka predem nastavena v metode
        CreateButton(BuildCan, BWMageTowerLv1, BWMageTowerLv1Text, BWMageTowerLv1Name);
        CreateButton(BuildCan, YRMageTowerLv1, YRMageTowerLv1Text, YRMageTowerLv1Name);
        CreateButton(BuildCan, WRMageTowerLv1, WRMageTowerLv1Text, WRMageTowerLv1Name);



        //opet vytvori novy kanvas stejneho typu
        CreateCanvas(UpgradeNode, UpgradeCan, UpgradeCanName);
        CanvasSetSize(UpgradeCan);


        // prida znovu dve tlacitka
        CreateButton(UpgradeCan, UpgradeButt, UpgradeText, UpgradeButtName);
        CreateButton(UpgradeCan, SellButt, SellText, SellButtName);


        CreateCanvas(WorldNode, WorldCan, WorldCanName);

        WorldCan.GetComponent <Canvas>().renderMode = RenderMode.ScreenSpaceOverlay;
        Destroy(WorldCan.GetComponent <HorizontalLayoutGroup>());
        WorldNode.SetActive(true);
        CanvasScaler WorldCanScaler = WorldCan.GetComponent <CanvasScaler>();

        WorldCanScaler.uiScaleMode         = CanvasScaler.ScaleMode.ScaleWithScreenSize;
        WorldCanScaler.referenceResolution = new Vector2(1920, 1080);


        CreatePanel(TopPanel, WorldCan, TopPanelName, WoodBackground);



        //3 tlacitka pokazde postavi 1. level dane veze

        Button ButtWRMageTowerLv1 = WRMageTowerLv1.GetComponent <Button>();

        ButtWRMageTowerLv1.GetComponent <Image>().sprite = TowerWR;
        ButtWRMageTowerLv1.onClick.AddListener(() => { buildTower(WRMageTowerLv1Model, build.PlanePosition, BuildNode, build.plane, build.PlaneCanvasclicked); });

        Button ButtYRMageTowerLv1 = YRMageTowerLv1.GetComponent <Button>();

        ButtYRMageTowerLv1.GetComponent <Image>().sprite = TowerYR;
        ButtYRMageTowerLv1.onClick.AddListener(() => { buildTower(YRMageTowerLv1Model, build.PlanePosition, BuildNode, build.plane, build.PlaneCanvasclicked); });


        Button BWMageTowerLv1_Model = BWMageTowerLv1.GetComponent <Button>();

        BWMageTowerLv1_Model.GetComponent <Image>().sprite = TowerBW;
        BWMageTowerLv1_Model.onClick.AddListener(() => { buildTower(BWMageTowerLv1Model, build.PlanePosition, BuildNode, build.plane, build.PlaneCanvasclicked); });

        //tlacitko po kterem se spusti akci upgrade veze
        Button Upgrade = UpgradeButt.GetComponent <Button>();

        Upgrade.GetComponent <Image>().sprite = UpgradeSprite;
        Upgrade.onClick.AddListener(() => { sellAndupgrade.Upgrade(); });


        //tlacitko po kterem se spusti akci prodani veze
        Button Sell = SellButt.GetComponent <Button>();

        Sell.GetComponent <Image>().sprite = SellSprite;
        Sell.onClick.AddListener(() => { sellAndupgrade.Sell(); });



        //vytvori Eventsystem k fungovani tlacitka
        GameObject listener = new GameObject("EventSystem", typeof(EventSystem));

        listener.AddComponent <StandaloneInputModule>();
        listener.AddComponent <BaseInput>();



        // horni panel
        RectTransform TopPanelPos = TopPanel.GetComponent <RectTransform>();

        TopPanelPos.sizeDelta = new Vector2(TopPanelWidth, TopPanelHeight);

        Vector3[] TopPanelCorners = new Vector3[4];
        TopPanelPos.GetLocalCorners(TopPanelCorners);

        RectTransform world = WorldCan.GetComponent <RectTransform>();

        Vector3[] worldcorners = new Vector3[4];
        world.GetWorldCorners(worldcorners);


        TopPanelPos.anchorMax = new Vector2(0, 1);
        TopPanelPos.anchorMin = new Vector2(0, 1);



        TopPanelPos.position = worldcorners[1] - TopPanelCorners[1];

        //Panel v kterem se nachazi panel s obrazkem penizku a ukazujici pocet
        CreatePanel(TopPanelCoinPlace, TopPanel, TopPanelCoinPlaceName, SteelBackground);

        RectTransform TopPanelCoinPlacePos = TopPanelCoinPlace.GetComponent <RectTransform>();

        TopPanelCoinPlacePos.anchorMax = new Vector2(0, 1);
        TopPanelCoinPlacePos.anchorMin = new Vector2(0, 1);

        TopPanelCoinPlacePos.sizeDelta = new Vector2(TopPanelWidth / 2, TopPanelHeight);

        TopPanelCoinPlacePos.anchoredPosition = new Vector2(TopPanelCoinPlacePos.sizeDelta.x / 2, -TopPanelCoinPlacePos.sizeDelta.y / 2);


        // panel v kterem je obrazek penizku
        CreatePanel(TopPanelCoin, TopPanelCoinPlace, TopPanelCoinName, Coin);

        RectTransform TopPanelCoinPos = TopPanelCoin.GetComponent <RectTransform>();

        TopPanelCoinPos.anchorMax = new Vector2(0, 1);
        TopPanelCoinPos.anchorMin = new Vector2(0, 1);

        TopPanelCoinPos.sizeDelta = new Vector2(TopPanelWidth / 6, TopPanelHeight);

        TopPanelCoinPos.anchoredPosition = new Vector2(TopPanelCoinPos.sizeDelta.x / 2, -TopPanelCoinPos.sizeDelta.y / 2);

        //panel ukazujici pocet penez

        CreatePanel(TopPanelCoinCount, TopPanelCoinPlace, TopPanelCoinCountName, WoodPanel);

        RectTransform TopPanelCoinCountPos = TopPanelCoinCount.GetComponent <RectTransform>();

        TopPanelCoinCountPos.anchorMax = new Vector2(1, 1);
        TopPanelCoinCountPos.anchorMin = new Vector2(1, 1);

        TopPanelCoinCountPos.anchoredPosition = new Vector2(-TopPanelCoinPos.sizeDelta.x, -TopPanelCoinPos.sizeDelta.y / 2);

        TopPanelCoinCountPos.sizeDelta = new Vector2(TopPanelWidth / 2 - TopPanelWidth / 6, TopPanelHeight);



        // text ktery se meni podle poctu penez

        CreateText(TopPanelCoinCountCash, TopPanelCoinCount, TopPanelCoinCountCashText);

        TopPanelCoinCountCash.GetComponent <Text>().color = new Color32(255, 255, 255, 255);



        //Panel v kterem se nachazi panel s obrazkem zivotu a poctem zivotu
        CreatePanel(TopPanelLifePlace, TopPanel, TopPanelLifePlaceName, Dirt);

        RectTransform TopPanelLifePlacePos = TopPanelLifePlace.GetComponent <RectTransform>();

        TopPanelLifePlacePos.anchorMax = new Vector2(1, 1);
        TopPanelLifePlacePos.anchorMin = new Vector2(1, 1);

        TopPanelLifePlacePos.sizeDelta = new Vector2(TopPanelWidth / 2, TopPanelHeight);

        TopPanelLifePlacePos.anchoredPosition = new Vector2(-TopPanelLifePlacePos.sizeDelta.x / 2, -TopPanelLifePlacePos.sizeDelta.y / 2);



        // panel v kterem je obrazek srdicka
        CreatePanel(TopPanelLife, TopPanelLifePlace, TopPanelLifeName, Heart);

        RectTransform TopPanelLifePos = TopPanelLife.GetComponent <RectTransform>();

        TopPanelLifePos.anchorMax = new Vector2(0, 1);
        TopPanelLifePos.anchorMin = new Vector2(0, 1);

        TopPanelLifePos.sizeDelta = new Vector2(TopPanelWidth / 6, TopPanelHeight);

        TopPanelLifePos.anchoredPosition = new Vector2(TopPanelLifePos.sizeDelta.x / 2, -TopPanelLifePos.sizeDelta.y / 2);


        //panel ukazujici pocet zivotu

        CreatePanel(TopPanelLifePlaceNummber, TopPanelLifePlace, TopPanelLifePlaceNummberName, WoodPanel);

        RectTransform TopPanelLifePlaceNummberPos = TopPanelLifePlaceNummber.GetComponent <RectTransform>();

        TopPanelLifePlaceNummberPos.anchorMax = new Vector2(1, 1);
        TopPanelLifePlaceNummberPos.anchorMin = new Vector2(1, 1);

        TopPanelLifePlaceNummberPos.anchoredPosition = new Vector2(-TopPanelLifePlaceNummberPos.sizeDelta.x / 2, -TopPanelLifePlaceNummberPos.sizeDelta.y / 5);

        TopPanelLifePlaceNummberPos.sizeDelta = new Vector2(TopPanelWidth / 2 - TopPanelWidth / 6, TopPanelHeight);

        // text ktery se meni podle poctu zivotu

        CreateText(TopPanelLifeNummber, TopPanelLifePlaceNummber, TopPanelLifeNummberText);

        TopPanelLifeNummber.GetComponent <Text>().color = new Color32(255, 255, 255, 255);
    }
    void TaskOnClick()
    {
        print(yourButton.name);

        BuildBuilding b = GameObject.Find("Client").GetComponent <BuildBuilding>();

        switch (yourButton.name)
        {
        case "barracks":
            b.barracksFunc = true;
            b.inBuilding   = true;
            b.wait         = false;
            b.canvasButton = true;

            break;

        case "townhall":
            b.townhallFunc = true;
            b.inBuilding   = true;
            b.wait         = false;
            b.canvasButton = true;
            break;

        case "stable":
            b.stableFunc   = true;
            b.inBuilding   = true;
            b.wait         = false;
            b.canvasButton = true;
            break;

        case "farm":
            b.farmFunc     = true;
            b.inBuilding   = true;
            b.wait         = false;
            b.canvasButton = true;
            break;

        case "forge":
            b.forgeFunc    = true;
            b.inBuilding   = true;
            b.wait         = false;
            b.canvasButton = true;
            break;
        }

        /* Vector3 yy = new Vector3(UnityEngine.Random.Range(40.0f, 120.0f), 88.16667f, UnityEngine.Random.Range(15f, 50.0f));
         *
         * var angles = transform.rotation.eulerAngles;
         * angles.z = 0;
         * angles.x = 0;
         * angles.y = 0;
         *
         *
         * g = Instantiate(swordsMan, new Vector3(yy.x, yy.y, yy.z), Quaternion.Euler(angles));
         *
         *
         * Unit unit = new Unit();
         * unit.go = g;
         * unit.unitName = swordsMan.name;
         * unit.Enemy = false;
         * unit.pos.x = yy.x;
         * unit.pos.y = yy.y;
         * unit.pos.z = yy.z;
         * unit.rot = Quaternion.Euler(angles).y;
         * unit.state = 0;
         *
         * unit.id = IdCount;
         * IdCount += 1;
         * GameObject c = GameObject.Find("Client").gameObject;
         * Client cc = c.GetComponent<Client>();
         * unit.go.GetComponent<ClickToMove>().enabled = true;
         * unit.go.GetComponent<SoldierScript>().enabled = true;
         * if (Input.GetMouseButtonUp(0))
         *   cc.CreateUnit(unit);  */
    }