// Update is called once per frame void Update() { if (transform.parent.position.y - storage.Player.transform.position.y >= 20f) { storage.RenewQueue(transform.parent.gameObject); transform.parent.gameObject.SetActive(false); } }
//可能player的character也要在这里进行管理以方便访问 //同样也要存到ObjectStorage里 private void Awake() { storage = ObjectStorage.Instance; CreateParentMeshCube(); var ElevatorGroup = transform.GetChild(0); var LaserGroup = transform.GetChild(1); var count = ElevatorGroup.childCount; Elevators = new GameObject[count]; Lasers = new GameObject[count]; for (int i = 0; i < count; i++) { Elevators[i] = ElevatorGroup.GetChild(i).gameObject; Lasers[i] = LaserGroup.GetChild(i).gameObject; } for (int i = 0; i < count; i++) { storage.Lasers.AddLast(Lasers[i]); storage.RenewQueue(Elevators[i]); } storage.PresentLaser = storage.Lasers.First; //到时候还要写一个背景对象池更新 //以上初始化对象池信息 //初始化初始Mesh storage.XWidth = XWidth; storage.YHeight = YHeight; storage.ZLength = ZLength; storage.FallSurvive = FallSurvivalTime; CreateParentMeshCube(); //初始化FallingParts序列 var FallingGroup = transform.GetChild(2); for (int j = 0; j < FallingGroup.childCount; j++) { var fallpart = FallingGroup.GetChild(j).gameObject; storage.Fallings.AddLast(fallpart); storage.Infos.AddLast(new FallInfo(fallpart)); } storage.PresentFall = storage.Fallings.First; storage.PresentInfo = storage.Infos.First; //加入Player storage.Player = transform.GetChild(3).gameObject; storage.PlayerStat = storage.Player.GetComponent <TransformControllTest>(); //背景 var wallgroup = transform.GetChild(4); for (int i = 0; i < wallgroup.childCount; i++) { storage.Walls.AddLast(wallgroup.GetChild(i).gameObject); } storage.HWall = storage.Walls.First; storage.LWall = storage.Walls.Last; }