protected override void OnDestroy() { base.OnDestroy(); mHeart = null; mPlayer = null; }
void OnHeartStateChange(ItemHeart heart, ItemHeart.State state) { mCurTime = 0; mCurHeartState = state; switch (mCurHeartState) { case ItemHeart.State.Inactive: heartHolder.gameObject.SetActiveRecursively(false); break; case ItemHeart.State.Active: heartHolder.gameObject.SetActiveRecursively(true); break; case ItemHeart.State.Grabbed: break; case ItemHeart.State.Eaten: heart.transform.parent = heartHolder; heart.transform.localPosition = Vector3.zero; heart.transform.localRotation = Quaternion.identity; heart.transform.localScale = Vector3.one; heart.Activate(false); //will set state to inactive break; } }
protected override void Awake() { base.Awake(); mHeart = heartHolder.GetComponentInChildren<ItemHeart>(); mHeart.stateCallback = OnHeartStateChange; mMinDist = minPlayerDistance; }
protected override void Awake() { base.Awake(); mHeart = heartHolder.GetComponentInChildren <ItemHeart>(); mHeart.stateCallback = OnHeartStateChange; mMinDist = minPlayerDistance; }
void OnHeartStateChange(ItemHeart heart, ItemHeart.State state) { mCurTime = 0; mCurHeartState = state; switch(mCurHeartState) { case ItemHeart.State.Inactive: heartHolder.gameObject.SetActiveRecursively(false); break; case ItemHeart.State.Active: heartHolder.gameObject.SetActiveRecursively(true); break; case ItemHeart.State.Grabbed: break; case ItemHeart.State.Eaten: heart.transform.parent = heartHolder; heart.transform.localPosition = Vector3.zero; heart.transform.localRotation = Quaternion.identity; heart.transform.localScale = Vector3.one; heart.Activate(false); //will set state to inactive break; } }