Sent each frame where a collider on another object is touching this object's collider (2D physics only).
var rechargeRate = 10.0; var batteryLevel: float;function OnCollisionStay2D(coll: Collision2D) { if (coll.gameObject.tag == "RechargePoint") batteryLevel = Mathf.Min(batteryLevel + rechargeRate * Time.deltaTime, 100.0); }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public float rechargeRate = 10.0F; public float batteryLevel; void OnCollisionStay2D(Collision2D coll) { if (coll.gameObject.tag == "RechargePoint") batteryLevel = Mathf.Min(batteryLevel + rechargeRate * Time.deltaTime, 100.0F); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public rechargeRate as float = 10.0F public batteryLevel as float def OnCollisionStay2D(coll as Collision2D) as void: if coll.gameObject.tag == 'RechargePoint': batteryLevel = Mathf.Min((batteryLevel + (rechargeRate * Time.deltaTime)), 100.0F)