Beispiel #1
0
        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);
        }
Beispiel #2
0
 /// <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);
 }