/// <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); } }
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); }
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); }