Post by rafaelriva on Jul 28, 2019 20:34:31 GMT
Since this is quite hard to explain, this is why I have recorded a video that show the bug:
As you can see at 20 seconds my pillars stop receiving the trigger information,
they aren't destroyed when hitted and also they don't deal damage anymore.
Here is the code for the pilar:
As you can see Im using Pool Boss to handle the pooling, and I have founded out that increasing the poolsize of this object does prolong the working time. However, the error still continue.
I don't if this is a Pooling error or a trigger error.
Anyone has an idea where i could look and start debugging tis?
As you can see at 20 seconds my pillars stop receiving the trigger information,
they aren't destroyed when hitted and also they don't deal damage anymore.
Here is the code for the pilar:
using System.Collections;
using System.Collections.Generic;
using DarkTonic.PoolBoss;
using UnityEngine;
public class ObstaclePilar_Infinity : MonoBehaviour
{
public static InfinityGame GameManager;
public static GameObject game;
public GameObject PlayerP;
public GameObject ParticleHit;
Collider2D bodycollider;
Collider2D attackcollider;
Animator anim;
bool isDestroyed = false;
bool particlePlayed = false;
// Start is called before the first frame update
private void Awake() {
isDestroyed = false;
}
void Start()
{
isDestroyed = false;
anim = GetComponent<Animator>();
game = GameObject.FindWithTag("GameController");
GameManager = game.gameObject.GetComponent<InfinityGame>();
PlayerP = GameManager.Player;
}
// Update is called once per frame
void Update()
{
}
public void DestroyThis()
{
PoolBoss.Despawn(transform, true);
}
private void OnTriggerStay2D(Collider2D other)
{
if (other == PlayerP.GetComponent<CapsuleCollider2D>() && !isDestroyed)
{
GameManager.PlayerHit();
}
if (other == PlayerP.GetComponent<CircleCollider2D>() && PlayerP.GetComponent<CircleCollider2D>().isTrigger)
{
DestroyPilar();
}
}
void DestroyPilar()
{
if (!isDestroyed)
{
SoundManager.Instance.PlayOneShot(SoundManager.Instance.PunchHit);
if (!particlePlayed)
{
Instantiate(ParticleHit, transform.position, Quaternion.identity);
}
isDestroyed = true;
anim.SetBool("Destroy", true);
}
}
}
As you can see Im using Pool Boss to handle the pooling, and I have founded out that increasing the poolsize of this object does prolong the working time. However, the error still continue.
I don't if this is a Pooling error or a trigger error.
Anyone has an idea where i could look and start debugging tis?