コード例 #1
0
 void UseStaff()
 {
     if (aim.GetComponent <PlayerAimState>().isCol == true)
     {
         if (aim.GetComponent <PlayerAimState>().col.tag == "Empty_Crystal") // 에임과 충돌한것->내스테프와 같은것
         {
             //크리스탈이 달라야만 바꿔준다.
             if (aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().state !=
                 player.GetComponent <Player>().GetStaffState())
             {
                 //마테리얼을 서로 교체해줌
                 int     saveNum   = player.GetComponent <Player>().GetStaffCryNumber();
                 C_STATE saveState = player.GetComponent <Player>().GetStaffState();                                                                       //스태프 상태 저장
                 player.GetComponent <Player>().ChangeStaffNum(aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().myNum);               //빈크리스탈과 Link되잇는 넘버정보넘김
                 player.GetComponent <Player>().ChangeStaffMaterial(aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().myMat.material); //크리스탈 메테리얼 넘김(스태프색바뀜)
                 player.GetComponent <Player>().ChangeStaffState(aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().state);             //빈크리스탈의 상태를 스태프에게 전달
                 aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().myNum     = saveNum;                                                //저장되있던 스태프와 Link되있는 넘버정보를 넘김
                 aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().state     = saveState;                                              // 저장되있던 스태프 상태를 넘김(크리스탈색바뀜)
                 aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().changeMat = true;
             }
         }
         else if (aim.GetComponent <PlayerAimState>().col.tag == "Crystal")
         {
             ResetCrystal(aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().myNum);
             //완전체 크리스탈의 정보를 스태프로 가져옴
             player.GetComponent <Player>().ChangeStaffNum(aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().myNum);
             player.GetComponent <Player>().ChangeStaffMaterial(aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().myMat.material);
             player.GetComponent <Player>().ChangeStaffState(aim.GetComponent <PlayerAimState>().col.GetComponent <CrystalState>().state);
         }
     }
 }
コード例 #2
0
    void Update()
    {
        GetComponent <MeshRenderer>().material = mat;

        if (Input.GetMouseButtonDown(0))
        {
            target = GetClickedObject();
            if (target.name == "Empty_Crystal")
            {
                //크리스탈이 달라야만 바꿔준다.
                if (target.GetComponent <CrystalState>().state != state)
                {
                    target.GetComponent <CrystalState>().state     = state;
                    target.GetComponent <CrystalState>().changeMat = true;
                }
            }
            else if (target.tag == "Crystal")
            {
                mat   = target.GetComponent <CrystalState>().myMat.material;
                state = target.GetComponent <CrystalState>().state;
            }

            Debug.Log(target.name);


            if (target.Equals(gameObject))  //선택된게 나라면
            {
            }
        }
        //크리스탈을 무색으로 초기화
        if (Input.GetMouseButtonDown(1))
        {
            mat   = normalMat;
            state = C_STATE.EMPTY;
        }
    }
コード例 #3
0
 public void Reset()
 {
     state = C_STATE.EMPTY;
     myNum = 88;
 }
コード例 #4
0
 private void Start()
 {
     mat   = normalMat;
     state = C_STATE.EMPTY;
 }
コード例 #5
0
 public void ChangeStaffState(C_STATE state)
 {
     staff.GetComponent <PlayerStaff>().ChangeState(state);
 }