void OnTriggerExit(Collider _collider) { var tag = _collider.gameObject.tag; var layer = _collider.gameObject.layer; if (layer == (int)Common.GAMEOBJECT_LAYER.GROUND_UNDER) { mCollision.isTrigger = false; } if (tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.TOWER)) { var tower = _collider.gameObject.GetComponent <UnitManagerTower>(); if (tower.TeamId == mTeamId) { mUnitState &= ~UNIT_STATE.IS_HIT_TOWER; } } if (tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.LADDER)) { mUnitState &= ~UNIT_STATE.IS_HIT_LADDER; } if (tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.CREATE_LOCATION)) { var unitCreate = _collider.gameObject.GetComponent <UnitManagerCreateLocation>(); mUnitState &= ~UNIT_STATE.IS_HIT_CREATE_LOCATION; mCurrentCreateLocation = null; mUICreateUnitProperty.gameObject.SetActive(false); mUIUnitCreateLocationDish.gameObject.SetActive(false); mUIPlayerUnitProperty.SetIsInput(true); } }
void OnTriggerStay(Collider _collider) { var tag = _collider.gameObject.tag; var layer = _collider.gameObject.layer; if (layer == (int)Common.GAMEOBJECT_LAYER.FIELD && tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.SEMITRANSPARENT)) { if (GetIsUnitState(UNIT_STATE.IS_MOVE_DOWN)) { mCollision.isTrigger = true; } } if (tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.ITEM) && GetIsUnitState(UNIT_STATE.IS_GET_ITE)) { var itemObj = _collider.gameObject.GetComponent <ItemObject>(); if (mPropertyList.Count < PropertyMax) { StartCoroutine(GetItem(itemObj.Data)); Destroy(itemObj.gameObject); } } if (tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.TOWER)) { var tower = _collider.gameObject.GetComponent <UnitManagerTower>(); if (tower.TeamId == mTeamId) { mUnitState |= UNIT_STATE.IS_HIT_TOWER; } } if (tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.CREATE_LOCATION)) { var unitCreateLocation = _collider.gameObject.GetComponent <UnitManagerCreateLocation>(); if (unitCreateLocation.PropertyDishData != null) { } } if (tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.LADDER)) { mUnitState |= UNIT_STATE.IS_HIT_LADDER; } if (tag == Common.GetGameObjectTagName(Common.GAMEOBJECT_TAG.CREATE_LOCATION)) { var unitCreateLocation = _collider.gameObject.GetComponent <UnitManagerCreateLocation>(); if (unitCreateLocation.TeamId == mTeamId) { mUnitState |= UNIT_STATE.IS_HIT_CREATE_LOCATION; mCurrentCreateLocation = unitCreateLocation; if (mCurrentCreateLocation.PropertyDishData != null) { mUnitState |= UNIT_STATE.IS_HIT_DISH_LOCATION; if (!mUIUnitCreateLocationDish.gameObject.activeSelf) { mUIUnitCreateLocationDish.gameObject.SetActive(true); mUIUnitCreateLocationDish.SetDishData(mCurrentCreateLocation.PropertyDishData); mUICreateUnitProperty.gameObject.SetActive(false); } } else { mUnitState &= ~UNIT_STATE.IS_HIT_DISH_LOCATION; if (!mUICreateUnitProperty.gameObject.activeSelf) { mUICreateUnitProperty.gameObject.SetActive(true); mUICreateUnitProperty.SetPropertyList(mCurrentCreateLocation.ItemDataList, mCurrentCreateLocation.PropertyMax); mUICreateUnitProperty.SetIsInput(false); mUIUnitCreateLocationDish.gameObject.SetActive(false); } } } else { mCurrentCreateLocation = null; mUnitState &= ~UNIT_STATE.IS_HIT_CREATE_LOCATION; mUnitState &= ~UNIT_STATE.IS_HIT_DISH_LOCATION; } } }