예제 #1
0
    // Start is called before the first frame update
    void Start()
    {
        chicken  = transform.parent.GetComponent <Chicken_Move>();
        floating = (transform.parent).transform.GetChild(4).gameObject;

        hpbar_tx  = floating.transform.GetChild(2).localPosition.x;
        hpbar_sx  = floating.transform.GetChild(2).localScale.x;
        hpbar_tmp = hpbar_sx / 1000;   //최대 체력에 따른 hp바 이동량 설정
    }
예제 #2
0
    // Update is called once per frame
    public void OnClick()
    {
        //적군 공격력 증가 중지(전투 시작을 알림)
        e_attack_data.isBattle = true;

        //2,000 코인이상 전장 입장 가능
        if (item_manager.coin >= 2000)
        {
            //죽지 않은 캐릭터에 대해 데이터 전달
            if (!item_manager.chicken_die)
            {
                cc = chicken.GetComponent <Chicken_Move>();
                item_manager.cc_exp    = cc.exp;
                item_manager.cc_hungry = cc.hungry;
                item_manager.cc_poop   = cc.poop;
                item_manager.cc_play   = cc.play;
                item_manager.cc_i++;
                Destroy(chicken);
            }
            if (!item_manager.cow_die)
            {
                c = cow.GetComponent <Cow_Move>();
                item_manager.c_exp    = c.exp;
                item_manager.c_hungry = c.hungry;
                item_manager.c_poop   = c.poop;
                item_manager.c_play   = c.play;
                item_manager.c_i++;
                Destroy(cow);
            }
            if (!item_manager.tiger_die)
            {
                t = tiger.GetComponent <Tiger_Move>();
                item_manager.t_exp    = t.exp;
                item_manager.t_hungry = t.hungry;
                item_manager.t_poop   = t.poop;
                item_manager.t_play   = t.play;
                item_manager.t_i++;
                Destroy(tiger);
            }
            SceneManager.LoadScene("Battle_Scene");
        }

        //error msg floating(2, 000 코인 이상 전장진출 가능)
        else
        {
            GameObject.Find("Canvas").transform.GetChild(3).gameObject.SetActive(true);
            StartCoroutine(delay(2.0f));
        }
    }
예제 #3
0
    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("Start Tree");

        m_chicken = gameObject.GetComponent <Chicken_Move>();

        //root에 더함
        root.AddChild(selector);

        //selector에 더함
        selector.AddChild(seqBehavior);//행동

        hungry.chicken = m_chicken;
        poop.chicken   = m_chicken;
        play.chicken   = m_chicken;

        followMouse.chicken = m_chicken;

        //음식 추적
        follow_Milk.chicken = m_chicken;
        follow_Egg.chicken  = m_chicken;
        followFood.chicken  = m_chicken;

        drop_Egg.chicken  = m_chicken;
        eat.chicken       = m_chicken;
        basicMove.chicken = m_chicken;
        quarrel.chicken   = m_chicken;

        //상태들
        seqBehavior.AddChild(play);
        seqBehavior.AddChild(hungry);
        seqBehavior.AddChild(poop);

        //행동들
        seqBehavior.AddChild(followMouse);
        seqBehavior.AddChild(followFood);
        seqBehavior.AddChild(follow_Milk);
        seqBehavior.AddChild(follow_Egg);

        seqBehavior.AddChild(drop_Egg);
        seqBehavior.AddChild(basicMove);
        seqBehavior.AddChild(quarrel);
        //seqBehavior.AddChild(eat);

        behaviorProcess = BehaviorProcess();
        StartCoroutine(behaviorProcess);
    }
예제 #4
0
    public int full = 100;//음식먹고 얻는 수치 (hungry)

    // Start is called before the first frame update
    void Start()
    {
        item_manager = GameObject.Find("ItemManager").GetComponent <ItemManager>();
        if (!item_manager.chicken_die)
        {
            c_m = GameObject.FindWithTag("chicken").GetComponent <Chicken_Move>();
        }
        if (!item_manager.cow_die)
        {
            co_m = GameObject.FindWithTag("cow").GetComponent <Cow_Move>();
        }
        if (!item_manager.tiger_die)
        {
            t_m = GameObject.FindWithTag("tiger").GetComponent <Tiger_Move>();
        }
        item_manager.milk_item--;
    }
예제 #5
0
 void OnMouseUp()
 {
     if (this.tag == "tiger")
     {
         t_m        = transform.GetComponent <Tiger_Move>();
         t_m.isdrag = false;
         if (t_m.transform.localScale.x < 0)//오른쪽
         {
             t_m.transform.localScale = new Vector3(-1, 1, 1);
         }
         else
         {
             t_m.transform.localScale = new Vector3(1, 1, 1);
         }
     }
     else if (this.tag == "chicken")
     {
         c_m        = transform.GetComponent <Chicken_Move>();
         c_m.isdrag = false;
         if (c_m.transform.localScale.x < 0)//오른쪽
         {
             c_m.transform.localScale = new Vector3(-1, 1, 1);
         }
         else
         {
             c_m.transform.localScale = new Vector3(1, 1, 1);
         }
     }
     else if (this.tag == "cow")
     {
         co_m        = transform.GetComponent <Cow_Move>();
         co_m.isdrag = false;
         if (co_m.transform.localScale.x < 0)//오른쪽
         {
             co_m.transform.localScale = new Vector3(-1, 1, 1);
         }
         else
         {
             co_m.transform.localScale = new Vector3(1, 1, 1);
         }
     }
 }
예제 #6
0
 // Update is called once per frame
 public void OnClick()
 {
     //아이템 슬롯 숨기기
     ItemSlot.transform.position = new Vector3(Pos.x + 10, Pos.y, Pos.z);
     if (!item_manager.chicken_die)
     {
         //죽지않은 캐릭터에 대해 데이터 전달
         cc = chicken.GetComponent <Chicken_Move>();
         item_manager.cc_exp    = cc.exp;
         item_manager.cc_hungry = cc.hungry;
         item_manager.cc_poop   = cc.poop;
         item_manager.cc_play   = cc.play;
         item_manager.cc_i++;
         Destroy(chicken);
     }
     if (!item_manager.cow_die)
     {
         c = cow.GetComponent <Cow_Move>();
         item_manager.c_exp    = c.exp;
         item_manager.c_hungry = c.hungry;
         item_manager.c_poop   = c.poop;
         item_manager.c_play   = c.play;
         item_manager.c_i++;
         Destroy(cow);
     }
     if (!item_manager.tiger_die)
     {
         t = tiger.GetComponent <Tiger_Move>();
         item_manager.t_exp    = t.exp;
         item_manager.t_hungry = t.hungry;
         item_manager.t_poop   = t.poop;
         item_manager.t_play   = t.play;
         item_manager.t_i++;
         Destroy(tiger);
     }
     SceneManager.LoadScene("Store_Scene");
 }
예제 #7
0
    public bool Quarrel()
    {
        if (quarreling && (!isHungry && !isPoop && !isPlay))
        {
            float x = gameObject.transform.position.x;
            float y = gameObject.transform.position.y;
            Start_Point = new Vector3(x, y, -8); //현재 호랑이의 위치
            x           = tmp.transform.position.x;
            y           = tmp.transform.position.y;
            Vector3 quarrel_point = new Vector3(x, y, -8); // 시비 걸 대상의 위치
            trace = (quarrel_point - Start_Point);         // 쫓아갈 벡터 생성
            if (trace.x >= 0)
            {
                gameObject.transform.rotation = Quaternion.Euler(0, 180, 0); // 좌우 반전
            }
            else
            {
                gameObject.transform.rotation = Quaternion.Euler(0, 0, 0);
            }

            x = Start_Point.x + (trace.x * trace_length);  // (시작점 + 방향벡터 * 거리)를 화면이 아닌 유니티의 좌표로 바꿔줌
            y = Start_Point.y + (trace.y * trace_length);

            gameObject.transform.position = new Vector3(x, y, Start_Point.z);        // 이동

            trace_length += 0.01f;                                                   // 빨라지는 추적속도
            if (Vector3.Distance(gameObject.transform.position, quarrel_point) < 1f) //따라잡았다면
            {
                quarrel_check = 0;

                gameObject.transform.position = new Vector3(transform.position.x, transform.position.y, Start_Point.z); // 이동
                trace_length = 0;                                                                                       // 변수 초기화
                quarreling   = false;                                                                                   // 시비걸기 초기화
                fPazik.SetActive(false);
            }
        }
        else
        {
            if (Cow != null && Vector3.Distance(Cow.transform.position, gameObject.transform.position) < 5f) // 닭 / 소가 호랑이의 일정범위 내의 들어온다면
            {
                tmp = Cow;                                                                                   // 바로 전에 보인 동물
                quarrel_check++;                                                                             // 눈앞에 걸리적거림 +1
            }
            else if (Chicken != null && Vector3.Distance(Chicken.transform.position, gameObject.transform.position) < 10f)
            {
                tmp = Chicken;
                quarrel_check++;
            }

            if (quarrel_check > 300) // 눈앞에 걸리적거림이 인내를 넘어섰다면
            {
                //Debug.Log("걸리적");
                if (!isHungry && !isPoop && !isPlay && !quarreling) //딴짓중 아닐 때
                {
                    if (Chicken != null && tmp.tag == "chicken")    // 치킨이나 소 하나 찾아서 치킨,소가 딴짓중 아닐 때 시비걸기 ON
                    {
                        Chicken_Move c_m = tmp.GetComponent <Chicken_Move>();
                        if (!c_m.playing && !c_m.isdrag && !c_m.is_follow_food &&
                            !c_m.isEggTime && !c_m.is_follow_food && !c_m.is_follow_milk && !c_m.is_follow_egg && !c_m.isPoop)
                        {
                            quarrel_check = 0;
                            c_m.quarrel   = true; // 소(치킨)의 변수 바꿔
                            quarreling    = true;
                            fPazik.SetActive(true);
                        }
                    }
                    else if (Cow != null && tmp.tag == "cow")
                    {
                        Cow_Move c_m = tmp.GetComponent <Cow_Move>();
                        if (!c_m.playing && !c_m.isdrag && !c_m.is_follow_food &&
                            !c_m.is_follow_food && !c_m.is_follow_milk && !c_m.is_follow_egg && !c_m.isPoop)
                        {
                            quarrel_check = 0;
                            c_m.quarrel   = true;
                            quarreling    = true;
                            fPazik.SetActive(true);
                        }
                    }
                }
            }
        }
        return(true);
    }
예제 #8
0
    void OnMouseDrag()
    {
        if (this.tag == "tiger")
        {
            t_m        = transform.GetComponent <Tiger_Move>();
            t_m.isdrag = true;
            t_m.moving = false;

            if (t_m.transform.localScale.x < 0)//오른쪽
            {
                t_m.transform.localScale = new Vector3(-scale, scale, scale);
            }
            else
            {
                t_m.transform.localScale = new Vector3(scale, scale, scale);
            }
        }
        else if (this.tag == "chicken")
        {
            c_m        = transform.GetComponent <Chicken_Move>();
            c_m.isdrag = true;
            c_m.moving = false;
            if (c_m.transform.localScale.x < 0)//오른쪽
            {
                c_m.transform.localScale = new Vector3(-scale, scale, scale);
            }
            else
            {
                c_m.transform.localScale = new Vector3(scale, scale, scale);
            }
        }
        else if (this.tag == "cow")
        {
            co_m        = transform.GetComponent <Cow_Move>();
            co_m.isdrag = true;
            co_m.moving = false;
            if (co_m.transform.localScale.x < 0)//오른쪽
            {
                co_m.transform.localScale = new Vector3(-scale, scale, scale);
            }
            else
            {
                co_m.transform.localScale = new Vector3(scale, scale, scale);
            }
        }
        else if (this.tag == "hungry_follow_item")   //농장에 가져다 놓은 밥 이동
        {
            this.transform.localScale = new Vector3(0.6f, 0.6f, 0.6f);
        }
        else if (this.tag == "milk_item_follow")   //농장에 가져다 우유 이동
        {
            this.transform.localScale = new Vector3(1.1f, 1.1f, 1.1f);
        }
        else if (this.tag == "egg_item_follow")   //농장에 가져다 계란 이동
        {
            this.transform.localScale = new Vector3(1.1f, 1.1f, 1.1f);
        }
        Vector3 mousePosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 13);

        this.transform.position = Camera.main.ScreenToWorldPoint(mousePosition);
        this.transform.position = new Vector3(transform.position.x, transform.position.y, -8);
    }
예제 #9
0
 int plus = 100; //요구충족 시, 속성 증가 값
 // Start is called before the first frame update
 void Start()
 {
     chicken_move = transform.parent.GetComponent <Chicken_Move>();
     item_manager = GameObject.Find("ItemManager").GetComponent <ItemManager>();
 }