private void OnCollisionEnter(Collision other) { if (!callEventOnCollision) { return; } var entity = other.collider.GetComponent <IEntity>(); if (entity != null) { var param = MetaObject.Get <string>("target"); if (entity.GetEntityTypes().Any(t => t == param) || param == "any") { if (SpellieEvent.logEnabled) { Debug.Log("[SpellieEvent] onHit (Collision): " + other.collider.name); } sourceElement.GetEvent("onHit").InvokeAll(this, caster, entity); Pierce(); } } else { if (!((MetaObject)sourceElement).Get <bool>("ghost")) { Destroy(gameObject); } } }
private void OnEnable() { // Register this object SpellieSingleton.Instance.spawnedObjects.Add(this); var objTransform = transform; // Process object variables try { useGlobalPosition = MetaObject.Get <bool>("use_global"); } catch { useGlobalPosition = false; } _currentRotation = objTransform.rotation; _currentScale = objTransform.localScale; }