示例#1
0
 void CheckHunter()
 {
     if (myHunter != null)
     {
         myHunter.work     = null;
         myHunter.hasTower = myHunter.onTower = false;
         mainFire.workManager.camp.Hunters.Add(myHunter);
         myHunter.positionY = -0.83f;
         myHunter           = null;
     }
 }
示例#2
0
 private void Start()
 {
     earthpony = GetComponent <Earthpony>();
     if (!fire)
     {
         fire = GameObject.FindGameObjectWithTag("MainFire").GetComponent <MainFire>();
     }
     if (!Player)
     {
         Player = GameObject.FindGameObjectWithTag("Player").GetComponent <MovingController>();
     }
 }
示例#3
0
    public GameObject SpawnNewHunter(int health)
    {
        GameObject newpony = PoolManager.getGameObjectFromPool(earthponyPrefab);
        Earthpony  newPony = newpony.GetComponent <Earthpony>();

        newPony.gameManager = gameManager; //для настройки звуков
        for (int i = 0; i < newPony.randomColors.Length; i++)
        {
            newPony.randomColors[i].enabled = false;
        }
        newPony.hunter = true;
        newPony.unit   = true;
        newPony.Bow.SetActive(true);
        newPony.Bow.GetComponent <SpriteRenderer>().flipX = newPony.GetComponent <SpriteRenderer>().flipX;
        newPony.hasBow             = true;
        newPony.transform.parent   = null;
        newPony.myOrder            = gameManager.earthponiesCount + 6;
        newPony.transform.position = new Vector3(transform.position.x + Random.Range(-10, 42), -0.83f, -1);
        newPony.myHome             = this;
        newPony.health             = health;
        newPony.maxX        = -28.61f;
        newPony.minX        = -99.34f;
        newPony.Camera      = MainCamera;
        newPony.Timberwolf1 = timberWolf1;
        newPony.Timberwolf2 = timberWolf2;
        newPony.ursa        = Ursa;
        newPony.UniSpawn    = UniSpawn;
        newPony.PegaSpawn   = PegaSpawn;
        newPony.fire        = fire;
        HireUnit hireUnit = newpony.GetComponent <HireUnit>();

        if (controller == null)
        {
            controller = Player.GetComponent <MovingController>();
        }
        hireUnit.Cloth.originSR = controller.clothAnimator.GetComponent <SpriteRenderer>();
        hireUnit.Hood.enabled   = hireUnit.Cloth.enabled = true;
        newPony.GetComponent <EarthponyMovingController>().ForgetColors();

        hireUnit.Player      = controller;
        hireUnit.gameManager = gameManager; //для обработки паузы - чтоб кнопки не нажимались
        hireUnit.res         = res;
        hireUnit.mainCamp    = mainCamp;
        hireUnit.HintText    = hintText;
        hireUnit.enabled     = false;
        gameManager.earthponiesCount++;
        Hunters.Add(newPony);
        res.Ponies++;

        return(newpony);
    }
示例#4
0
    void SpawnPony()
    {
        GameObject newpony = PoolManager.getGameObjectFromPool(earthponyPrefab);
        Earthpony  newPony = newpony.GetComponent <Earthpony>();

        newPony.gameManager        = gameManager; //для настройки звуков
        newPony.myOrder            = gameManager.earthponiesCount + 6;
        newPony.transform.parent   = null;
        newPony.transform.position = new Vector3(transform.position.x + Random.Range(-10, 10), -0.83f, -1);
        newPony.myHome             = this;
        newPony.health             = 50;
        newPony.maxX        = maxX;
        newPony.minX        = minX;
        newPony.Camera      = MainCamera;
        newPony.Timberwolf1 = timberWolf1;
        newPony.Timberwolf2 = timberWolf2;
        newPony.ursa        = Ursa;
        newPony.UniSpawn    = UniSpawn;
        newPony.PegaSpawn   = PegaSpawn;
        newPony.fire        = fire;
        newPony.GetComponent <RandomSex>().newPony   = true;
        newPony.GetComponent <RandomColor>().newPony = true;
        newPony.deadTimer   = 2f;
        newPony.onetimeDead = false;
        RandomColor[] otherColors = newPony.GetComponentsInChildren <RandomColor>();
        for (int i = 0; i < otherColors.Length; i++)
        {
            otherColors[i].newPony = true;
        }
        newPony.GetComponent <EarthponyMovingController>().ForgetColors();
        HireUnit hireUnit = newpony.GetComponent <HireUnit>();

        hireUnit.gameManager = gameManager; //для обработки паузы - чтоб кнопки не нажимались
        hireUnit.res         = res;
        hireUnit.mainCamp    = mainCamp;
        hireUnit.HintText    = hintText;
        gameManager.earthponiesCount++;

        Ponies.Add(newPony);
        PoniesWalk.Add(true);
    }
示例#5
0
    private void Update()
    {
        if (buildingLevel == -1)
        {
            if (flag.enabled == false)
            {
                if (Up())
                {
                    buildingLevel = 0;
                }
            }
        }
        if (buildingLevel == 0)
        {
            if (mainFire.buildingLevel > 0)
            {
                CheckBuild();
            }

            if (startBuilding)
            {
                if (Down())
                {
                    SR.sprite     = levelSprites[buildingLevel + 1];
                    onetime       = true;
                    startBuilding = false;
                }
            }
            else
            {
                if (Up())
                {
                    if (onetime)
                    {
                        if (newFood == null)
                        {
                            newFood = NewFood();
                            StartCoroutine(newFood);
                        }
                        resourses.AddResourses(-needWood, 0);
                        buildingLevel++;
                        hintOff = false;
                        onetime = false;
                    }
                }
            }
        }
        if (buildingLevel == 1)
        {
            CheckWorker();

            if (mainFire.buildingLevel > 1)
            {
                CheckUpdateTwo();
            }

            if (startBuilding)
            {
                if (worker != null)
                {
                    worker.work = null;
                    mainFire.workManager.camp.Ponies.Add(worker);
                    mainFire.workManager.camp.PoniesWalk.Add(true);
                    worker = null;
                }
                if (Down())
                {
                    SR.sprite     = levelSprites[buildingLevel + 1];
                    onetime       = true;
                    startBuilding = false;
                }
            }
            else
            {
                if (Up())
                {
                    if (onetime)
                    {
                        foodPerTime += 1;
                        timePerFood  = 8;
                        resourses.AddResourses(-needWoodUpdateTwo, 0);
                        buildingLevel++;
                        hintOff = false;
                        onetime = false;
                    }
                }
            }
        }
        if (buildingLevel == 2)
        {
            CheckWorker();

            if (mainFire.buildingLevel > 2)
            {
                CheckUpdateThree();
            }

            if (startBuilding)
            {
                if (worker != null)
                {
                    worker.work = null;
                    mainFire.workManager.camp.Ponies.Add(worker);
                    mainFire.workManager.camp.PoniesWalk.Add(true);
                    worker = null;
                }
                if (Down())
                {
                    SR.sprite     = levelSprites[buildingLevel + 1];
                    onetime       = true;
                    startBuilding = false;
                }
            }
            else
            {
                if (Up())
                {
                    if (onetime)
                    {
                        foodPerTime += 1;
                        timePerFood  = 4;
                        resourses.AddResourses(-needWoodUpdateThree, 0);
                        buildingLevel++;
                        onetime = false;
                    }
                }
            }
        }
    }
示例#6
0
    private void Update()
    {
        _audi.volume = gameManager.soundVolume;

        MovingController controller = Player.GetComponent <MovingController>();

        if (mainFire.buildingLevel > 0 &&
            Vector2.Distance(transform.position, Player.transform.position) < 1.8f && !cutDown && Mathf.Abs(controller.speedX) < 8 &&
            controller.health > 0)
        {
            HintText.text  = BuildText;
            HintText.color = new Color(1, 1, 1, 1);
            onetime        = true;
            if (Input.GetKeyDown(KeyCode.E))
            {
                mainFire.workManager.TreesToAxe.Add(this);
                SR.sprite = MarkedTree;
                cutDown   = true;
            }
        }
        else
        {
            TextOff();
        }
        if (cutDown)
        {
            if (progress < 100)
            {
                if (axing)
                {
                    if (axingTimer > 0)
                    {
                        axingTimer -= Time.deltaTime;
                    }
                    else
                    {
                        _audi.PlayOneShot(AxingSounds[axingI]);
                        if (axingI < AxingSounds.Length - 1)
                        {
                            axingI++;
                        }
                        else
                        {
                            axingI = 0;
                        }
                        axingTimer = 0.88f;
                    }


                    progress += Time.deltaTime * 15f;
                }
            }
            else
            {
                if (!onetimeList)
                {
                    mainFire.workManager.treeI = 0;
                    mainFire.workManager.ponyI = 0;
                    mainFire.workManager.TreesToAxe.Remove(this);
                    onetimeList = true;
                }

                crown.timerLanding = 0f;
                crown.LandingPositions.Remove(this);
                if (leftTree)
                {
                    squirrels.LeftTrees.Remove(transform);
                }
                else
                {
                    squirrels.RightTrees.Remove(transform);
                }

                Squirrel tempSq = squirrels.FindSquirrelByTree(transform);
                if (tempSq != null)
                {
                    tempSq.newtree = null;
                }

                TextOff();
                if (Down())
                {
                    if (!onetimeAddTree)
                    {
                        if (myForest != null)
                        {
                            myForest.myTrees--;
                        }
                        Item newWood = PoolManager.getGameObjectFromPool(WoodPrefab).GetComponent <Item>();
                        newWood.GetComponent <SpriteRenderer>().sprite = newWood.woodSprite;
                        newWood.player             = Player;
                        newWood.transform.position = new Vector2(transform.position.x, transform.position.y - 0.2f);
                        newWood.woodCount          = wood;
                        resourses.SaveItems.Add(newWood);
                        onetimeAddTree = true;
                    }
                    if (!_audi.isPlaying)
                    {
                        gameObject.SetActive(false);
                    }
                }
            }

            if (Worker != null && Worker.work != this)
            {
                Worker = null;
            }
        }
    }
示例#7
0
    private void Update()
    {
        CheckBowing();
        CheckPlayerBowing();

        if (buildingLevel == -1)
        {
            if (flag.enabled == false)
            {
                if (Up())
                {
                    buildingLevel = 0;
                }
            }
        }
        if (buildingLevel == 0)
        {
            if (mainFire.buildingLevel > 0)
            {
                CheckBuild();
            }

            if (startBuilding)
            {
                if (Down())
                {
                    SR.sprite     = levelSprites[buildingLevel + 1];
                    onetime       = true;
                    startBuilding = false;
                }
            }
            else
            {
                if (Up())
                {
                    if (onetime)
                    {
                        hintOff = false;
                        resourses.AddResourses(-needWood, 0);
                        bowsMax = 1;
                        buildingLevel++;
                        onetime = false;
                    }
                }
            }
        }
        if (buildingLevel == 1)
        {
            if (mainFire.buildingLevel > 1)
            {
                CheckUpdateTwo();
            }

            if (startBuilding)
            {
                if (worker != null)
                {
                    worker.work = null;
                    mainFire.workManager.camp.Ponies.Add(worker);
                    mainFire.workManager.camp.PoniesWalk.Add(true);
                    worker = null;
                }
                if (Down())
                {
                    bowsMax       = 3;
                    SR.sprite     = levelSprites[buildingLevel + 1];
                    onetime       = true;
                    startBuilding = false;
                }
            }
            else
            {
                if (Up())
                {
                    if (onetime)
                    {
                        resourses.AddResourses(-needWoodUpdateTwo, 0);
                        buildingLevel++;
                        hintOff = false;
                        onetime = false;
                    }
                }
            }
        }
        if (buildingLevel == 2)
        {
            if (mainFire.buildingLevel > 2)
            {
                CheckUpdateThree();
            }

            if (startBuilding)
            {
                if (worker != null)
                {
                    worker.work = null;
                    mainFire.workManager.camp.Ponies.Add(worker);
                    mainFire.workManager.camp.PoniesWalk.Add(true);
                    worker = null;
                }
                if (Down())
                {
                    SR.sprite     = levelSprites[buildingLevel + 1];
                    onetime       = true;
                    startBuilding = false;
                }
            }
            else
            {
                if (Up())
                {
                    if (onetime)
                    {
                        bowsMax = 6;
                        resourses.AddResourses(-needWoodUpdateThree, 0);
                        buildingLevel++;
                        onetime = false;
                    }
                }
            }
        }
    }
 private void Start()
 {
     earthpony = GetComponent <Earthpony>();
     SR        = GetComponent <SpriteRenderer>();
 }