示例#1
0
 /// <summary>
 /// 子オブジェクトも含めたレイヤーを設定する
 /// </summary>
 public static void SetLayerRecursive(this GameObject self, Layers.Id layer)
 {
     self.layer = (int)layer;
     for (var i = 0; i < self.transform.childCount; i++)
     {
         self.transform.GetChild(i).gameObject.SetLayerRecursive(layer);
     }
 }
示例#2
0
        public Actor Spawn(Vector3 position, Quaternion rotation, Layers.Id layerId)
        {
            var actor = Instantiate(this.actor, position, rotation);

            actor.Setup(this.actorStatus);
            foreach (var o in this.attachObjects)
            {
                var child = Instantiate(o, actor.CachedTransform);
            }
            actor.gameObject.SetLayerRecursive(layerId);

            return(actor);
        }
示例#3
0
        public Bullet Spawn(
            Vector3 position,
            Quaternion rotation,
            Layers.Id layer,
            BulletStatus status
            )
        {
            var objectPool = objectPoolBundle.Get(this);
            var original   = objectPool.Rent();

            original.cachedTransform.localPosition = position;
            original.cachedTransform.localRotation = rotation;
            original.gameObject.SetLayerRecursive(layer);
            original.currentLifeTime       = status.LifeTime;
            original.currentPenetrateCount = status.PenetrateCount;
            original.Status     = status;
            original.objectPool = objectPool;

            return(original);
        }