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); } } }
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; } }
public void Reset() { state = C_STATE.EMPTY; myNum = 88; }
private void Start() { mat = normalMat; state = C_STATE.EMPTY; }
public void ChangeStaffState(C_STATE state) { staff.GetComponent <PlayerStaff>().ChangeState(state); }