public override void Bind(Entity entity, Main main, bool creating = false) { Transform transform = entity.GetOrCreate <Transform>("Transform"); this.SetMain(entity, main); VoxelAttachable.MakeAttachable(entity, main, true, false).EditorProperties(); Explosion explosion = entity.GetOrCreate <Explosion>("Explosion"); entity.Add(new CommandBinding(explosion.Delete, entity.Delete)); explosion.Add(new Binding <Vector3>(explosion.Position, transform.Position)); entity.Add("Explode", explosion.Go); entity.Add("DeleteAfter", explosion.DeleteAfter); }
/// <summary> /// プレイヤーとの衝突. /// </summary> /// <param name="target">チェック対象.</param> /// <returns></returns> private bool CheckPlayer(GameObject target) { if (target.CompareTag("Player")) { Debug.Log("CheckPlayer"); // 衝撃を与える. explosion.Add(target.GetComponent <Rigidbody>(), transform.position); // ヒット通知だけ流す. target.BroadcastMessage("OnHit"); // ダメージ通知. if (ui) { ui.BroadcastMessage("OnDamage", damageValue, SendMessageOptions.DontRequireReceiver); } return(true); } return(false); }