void OnTriggerExit2D(Collider2D other) { WaterTileObject waterObj = other.GetComponent <WaterTileObject>(); if (waterObj != null) { //hit some water, freeze it waterObj.frozenCount -= 1; //release lock on freeze effect } }
void OnTriggerEnter2D(Collider2D other) { WaterTileObject waterObj = other.GetComponent <WaterTileObject>(); if (waterObj != null) { //hit some water, freeze it waterObj.Freeze(); waterObj.frozenCount += 1; //place a lock on freeze effect until we leave collision } }
//function assigned to attack hitbox delegate. Called whenever hitbox hits something. public void FreezeObject(GameObject hitObj) { Actor actor = hitObj.GetComponent <Actor>(); WaterTileObject waterObj = hitObj.GetComponent <WaterTileObject>(); if (actor != null) { actor.ModifyEffect(Effect.Freeze, freezeTime); } if (waterObj != null) { waterObj.Freeze(); } }