protected void CreateCityFakeDrop(short state, WildBossCityDropNty down = null) { if (state != 0) { StateManager.Instance.StateShow(state, 0); return; } if (down == null) { return; } Vector3 vector = PosDirUtility.ToTerrainPoint(down.pos, 0f); List <Vector3> list = this.SetCityFakeDropWaitingPosition(down.bossCode, vector); for (int i = 0; i < down.dropCount; i++) { if (list.get_Count() == 0) { CityFakeDrop.CreateCityFakeDrop(WildBossManager.CityFakeDropModel, vector, vector, 0); } else { CityFakeDrop.CreateCityFakeDrop(WildBossManager.CityFakeDropModel, vector, list.get_Item(i % list.get_Count()), 0); } } }
protected void OnSelfEnter() { this.currentState = CityFakeDrop.CityFakeDropState.None; if (EntityWorld.Instance.EntSelf != null) { EntityWorld.Instance.EntSelf.GetFakeDrop(); } EventDispatcher.Broadcast(WildBossManagerEvent.GetCityFakeDrop); CityFakeDrop.DeleteCityFakeDrop(this); }
public static CityFakeDrop CreateCityFakeDrop(int modelID, Vector3 originPoint, Vector3 waitPoint, int waitFxID) { DiaoLuoMoXingBiao diaoLuoMoXingBiao = DataReader <DiaoLuoMoXingBiao> .Get(modelID); if (diaoLuoMoXingBiao == null) { return(null); } GameObject gameObject = GameObjectLoader.Instance.Get(diaoLuoMoXingBiao.path); if (gameObject == null) { return(null); } CityFakeDrop cityFakeDrop = gameObject.AddUniqueComponent <CityFakeDrop>(); cityFakeDrop.animator = cityFakeDrop.GetComponentInChildren <Animator>(); cityFakeDrop.get_gameObject().set_layer(LayerSystem.NameToLayer("Gear")); cityFakeDrop.get_transform().set_parent(CityFakeDrop.CityDropPool.get_transform()); cityFakeDrop.get_transform().set_position(originPoint); if (originPoint.x == waitPoint.x && originPoint.z == waitPoint.z) { cityFakeDrop.currentState = CityFakeDrop.CityFakeDropState.Wait; cityFakeDrop.waitPosition = originPoint; cityFakeDrop.flyToWaitPositionSpeed = Vector3.get_zero(); } else { cityFakeDrop.currentState = CityFakeDrop.CityFakeDropState.FlyToWait; cityFakeDrop.waitPosition = MySceneManager.GetTerrainPoint(waitPoint.x, waitPoint.z, waitPoint.y); cityFakeDrop.flyToWaitPositionSpeed = (cityFakeDrop.waitPosition - originPoint) / CityFakeDrop.FlyToWaitPositionDefaultTime; } cityFakeDrop.waitFxModelID = waitFxID; cityFakeDrop.waitCollider = cityFakeDrop.GetComponent <BoxCollider>(); cityFakeDrop.waitCollider.set_enabled(false); CityFakeDrop.allCityFakeDrop.Add(cityFakeDrop); return(cityFakeDrop); }
public static void DeleteCityFakeDrop(CityFakeDrop drop) { CityFakeDrop.allCityFakeDrop.Remove(drop); drop.Delete(); }