Ejemplo n.º 1
0
 void Add_Outpost()
 {
     if (player_score >= Outpost.Get_COST())
     {
         if (factory.Generate_Outpost() != null)
         {
             Reduce_Score(Outpost.Get_COST());
         }
     }
 }
Ejemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButton(0) && ready2hit)
        {
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                hit_pos = hit.point;
                God_Attack(); print(hit_pos);
                Reduce_Score(RAGE_COST); ready2hit = false;
            }
        }
        if (factory.tower.Is_Dead())
        {
            if (!view.is_Game_Over_set())
            {
                view.add_soldier.onClick.RemoveListener(Add_Soldier);
                view.add_barrier.onClick.RemoveListener(Add_Barrier);
                view.add_outpost.onClick.RemoveListener(Add_Outpost);
                view.god_cure.onClick.RemoveListener(God_Cure);
                view.god_rage.onClick.RemoveListener(God_Rage);
                Game_Over();
            }
            return;
        }

        view.Set_Soldier_Button_Color(player_score >= Soldier.Get_COST());
        view.Set_Barrier_Button_Color(player_score >= Barrier.Get_COST());
        view.Set_Outpost_Button_Color(player_score >= Outpost.Get_COST());
        view.Set_Cure_Button_Color(player_score >= CURE_COST);
        view.Set_Rage_Button_Color(player_score >= RAGE_COST);
        view.Set_Score_Text(player_score);
        view.Set_Time_Text(Time.time);
        view.Set_Tower_Text(factory.tower.Get_DEF());
        view.Set_Statistic_Text(factory.soldiers.Count, factory.barriers.Count, factory.outposts.Count, factory.walkers.Count, factory.flyers.Count, game_level);

        int cur_level = Mathf.FloorToInt(player_score / 1000);

        if (cur_level > game_level)
        {
            game_level = cur_level;
            Go_Harder();
        }
        if (Time.time - generate_walker_timer > generate_walker_interval)
        {
            Walker new_walker = factory.Generate_Walker();
            Set_Nav(new_walker, factory.tower);
            generate_walker_timer = Time.time;
        }
        if (Time.time - generate_flyer_timer > generate_flyer_interval)
        {
            Flyer new_flyer = factory.Generate_Flyer();
            Set_Nav(new_flyer, factory.tower);
            generate_flyer_timer = Time.time;
        }

        Tower_Attack_Flyers();
        Tower_Attack_Walkers();
        Soldiers_Attack_Walkers();
        Barriers_Attack_Walkers();
        Outposts_Attack_Flyers();
        Outposts_Attack_Walkers();
        Walkers_Attack_Tower();
        Walkers_Attack_Soldiers();
        Walkers_Attack_Barriers();
        Flyers_Attack_Outposts();
        Flyers_Attack_Tower();
        Flyers_Attack_Barriers();
    }