public override void _Ready() { var size = GetViewportRect().Size; var particleSystem = new SimpleParticleSystem() { ParticleCreationFunction = () => { SimpleParticle particle = null; if (MathUtils.RandRangef(0, 1) >= 0.5) { particle = new ERoundParticle(); } else { particle = new ESquareParticle(); } particle.Lifespan = 2; return(particle); }, Position = new Vector2(size.x / 2, size.y / 2) }; AddChild(particleSystem); }
protected void OnAnimalPlayLevelUpEffect(Message msg) { var _msg = msg as MessageInt; if (_msg.val != entityID) { return; } var cellAnimalUp = Config.animalupConfig.getInstace().getCell(this.animalID); var pool = PoolManager.GetInstance().GetGameObjectPool(cellAnimalUp.levelupeffect); var effGo = pool.New(); effGo.transform.position = Vector3.zero; effGo.transform.localScale = Vector3.one; effGo.transform.SetParent(this.cacheTrans, false); if (sp != null) { sp.UnInit(); } else { sp = new SimpleParticle(); } sp.Init(effGo); sp.Play(); effGo.transform.parent = null; pool.Delete(effGo); }
private static void PlayerSimpleParticle(Transform effectNode) { if (effectNode != null) { Transform trans = effectNode.Find("Fx_BuildUp"); if (trans == null) { trans = ResourceManager.GetInstance().LoadGameObject(Config.globalConfig.getInstace().BuildUpEffect2).transform; trans.SetParent(effectNode, false); } SimpleParticle sp = null; if (sp != null) { sp.UnInit(); } else { sp = new SimpleParticle(); } sp.Init(trans.gameObject); sp.Play(); } // //var cellAnimalUp = Config.animalupConfig.getInstace().getCell(this.animalID); //effGo.transform.position = Vector3.zero; //effGo.transform.localScale = Vector3.one; //effGo.transform.SetParent(this.cacheTrans, false); }
public SimpleParticle[] GenerateParticles(int numParticles) { SimpleParticle[] particles = new SimpleParticle[numParticles]; for (int i = 0; i < numParticles; i++) { particles[i] = GenerateParticle(); } return(particles); }
private void OnCollisionEnter(Collision collision) { if (collision.collider.CompareTag("Car")) { if (isCollision) { var sp = new SimpleParticle(); sp.Init(transform.parent.Find("Effect/ColliderEffect").gameObject); sp.Play(); MessageManager.GetInstance().Send((int)GameMessageDefine.CrossRoadGameFailure); } } }
// Use this for initialization protected virtual void Start() { var pList = new List <SimpleParticle>(); for (var i = 0; i < instanceCount; i++) { var pos = new Vector3(Random.Range(-areaScale.x / 2f, areaScale.x / 2f), Random.Range(-areaScale.y / 2f, areaScale.y / 2f), Random.Range(-areaScale.z / 2f, areaScale.z / 2f)); var angles = new Vector3(Random.Range(0, 360), Random.Range(0, 360), Random.Range(0, 360)); var s = Random.Range(0.1f, 0.5f); var scale = new Vector3(s, s, s); var color = Random.ColorHSV(); var p = new SimpleParticle(pos, angles, scale, color); pList.Add(p); } Init(pList, "_TestBuffer", "_TestBuffer"); }
/// <summary> /// 查找售票口的下标 /// </summary> protected void FindEntryUISceneNode() { if (GlobalDataManager.GetInstance().zooGameSceneData.entryGateSenceData.entryGatesVector.Count < 1) { var sortGateIDs = GlobalDataManager.GetInstance().logicTableEntryGate.GetSortGateIDs(sceneID); for (int i = 0; i < sortGateIDs.Count; i++) { var cell = Config.ticketConfig.getInstace().getCell(sortGateIDs[i]); Vector3 vector = GameObject.Find(cell.gameobjectpath).transform.position; GlobalDataManager.GetInstance().zooGameSceneData.entryGateSenceData.entryGatesVector.Add(vector); var simpleParticle = new SimpleParticle(); GlobalDataManager.GetInstance().zooGameSceneData.entryGateSenceData.entryCoinSpList.Add(simpleParticle); string path = cell.prohibitroute; Transform transform = GameObject.Find(path).transform; GlobalDataManager.GetInstance().zooGameSceneData.entryGateSenceData.EntrySubscriptGB.Add(transform); } } //if (GlobalDataManager.GetInstance().zooGameSceneData.entryGateSenceData.entryGatesVector.Count < 1) //{ // ////循环查找所有的出口坐标 放在entryGatesVector // for (int i = 0; i < Config.ticketConfig.getInstace().AllData.Count; i++) // { // var cell = Config.ticketConfig.getInstace().getCell(i); // if (cell.scene == sceneID) // { // Vector3 vector = GameObject.Find(cell.gameobjectpath).transform.position; // GlobalDataManager.GetInstance().zooGameSceneData.entryGateSenceData.entryGatesVector.Add(vector); // var simpleParticle = new SimpleParticle(); // GlobalDataManager.GetInstance().zooGameSceneData.entryGateSenceData.entryCoinSpList.Add(simpleParticle); // //LogWarp.LogErrorFormat("测试:AAAAAAAAAAAA {0} {1}", i, Config.ticketConfig.getInstace().AllData.Count); // string path = Config.ticketConfig.getInstace().getCell(i).prohibitroute; // Transform transform = GameObject.Find(path).transform; // GlobalDataManager.GetInstance().zooGameSceneData.entryGateSenceData.EntrySubscriptGB.Add(transform); // } // } //} }
// Returns the index the particle was inserted into private int AddSimpleParticle(SimpleParticle simpleParticle, int i = 0) { while (inUse[i]) { i++; } position[i] = simpleParticle.position; priorPosition[i] = simpleParticle.position - (simpleParticle.velocity * Time.fixedDeltaTime); force[i] = new Vector3(UnityEngine.Random.Range(xRangeForce.x, xRangeForce.y), UnityEngine.Random.Range(yRangeForce.x, yRangeForce.y), UnityEngine.Random.Range(zRangeForce.x, zRangeForce.y)); timeToLive[i] = simpleParticle.timeToLive; inUse[i] = true; indices.Add(i); if (!indicesModified) { indicesModified = true; } return(i); }
/// <summary> /// 动物栏飘钱特效 /// </summary> protected void PlayLittleZooSimpleParticle() { #if NO_EFFECT return; #endif var entity = (this.fsmCtr as FSMMachineVisitor).ownerEntity; var littleZooBuildinPos = LittleZooBuildinPosManager.GetInstance().GetLittleZooBuildinPos(entity.stayBuildingID); Dictionary <int, SimpleParticle> sps = null; var visitSeatSpDict = GlobalDataManager.GetInstance().zooGameSceneData.visitSeatSpDict; bool retCode = visitSeatSpDict.TryGetValue(entity.stayBuildingID, out sps); if (!retCode) { sps = new Dictionary <int, SimpleParticle>(); visitSeatSpDict.Add(entity.stayBuildingID, sps); } SimpleParticle sp = null; retCode = sps.TryGetValue(entity.indexInVisitQueue, out sp); if (!retCode) { sp = new SimpleParticle(); sps.Add(entity.indexInVisitQueue, sp); } if (!sp.isInit) { Vector3 visitPos = littleZooBuildinPos.visitPosList[entity.indexInVisitQueue]; visitPos.y = Config.globalConfig.getInstace().LittleZooCoinEffectOffsetY; //GameObject effectGo = ResourceManager.GetInstance().LoadGameObject(Config.globalConfig.getInstace().CoinEffectRes); var sceneCell = Config.sceneConfig.getInstace().getCell(playerData.playerZoo.currSceneID); var moneyCell = Config.moneyConfig.getInstace().getCell(sceneCell.moneyid); GameObject effectGo = ResourceManager.GetInstance().LoadGameObject(moneyCell.moneyeffect); effectGo.transform.position = visitPos; sp.Init(effectGo); } sp.Play(); }
public void TestRenderParticles() { SimpleParticle[] particles = new SimpleParticle[] { new SimpleParticle(Vector3.Zero, Vector3.Zero), new SimpleParticle(Vector3.Zero, Vector3.Zero), new SimpleParticle(Vector3.Zero, Vector3.Zero), new SimpleParticle(Vector3.Zero, Vector3.Zero) }; PrimitiveBatch <SimpleParticle> primitiveBatch; using ( primitiveBatch = new PrimitiveBatch <SimpleParticle>( this.mockedGraphicsDeviceService.GraphicsDevice, this.vertexDeclaration, SimpleParticle.SizeInBytes ) ) { PointParticleRenderer <SimpleParticle> renderer = createRenderer(); renderer.Render( new ArraySegment <SimpleParticle>(particles, 1, 2), primitiveBatch ); } }
public void TestRenderParticles() { SimpleParticle[] particles = new SimpleParticle[] { new SimpleParticle(Vector3.Zero, Vector3.Zero), new SimpleParticle(Vector3.Zero, Vector3.Zero), new SimpleParticle(Vector3.Zero, Vector3.Zero), new SimpleParticle(Vector3.Zero, Vector3.Zero) }; PrimitiveBatch<SimpleParticle> primitiveBatch; using( primitiveBatch = new PrimitiveBatch<SimpleParticle>( this.mockedGraphicsDeviceService.GraphicsDevice, this.vertexDeclaration, SimpleParticle.SizeInBytes ) ) { PointParticleRenderer<SimpleParticle> renderer = createRenderer(); renderer.Render( new ArraySegment<SimpleParticle>(particles, 1, 2), primitiveBatch ); } }