using System.Collections; using System.Collections.Generic; using UnityEngine; public class FunctionSync_ParticleSystem : OneValueSyncObject { ParticleSystem ps; private void Start() { Init(); } public void Init() { if(!hasInit) { ps = GetComponent(); if (ps != null) { InitDynamic("ps_" + gameObject.name, CallBack, ValueType.Int); } } } /// /// 操作粒子 /// /// public void SetParticleSystem(ParticleSystemState state) { myint = (int)state; switch (state) { case ParticleSystemState.Play: ps.Play(); break; case ParticleSystemState.Stop: ps.Stop(); break; case ParticleSystemState.Pause: ps.Pause(); break; } SendSync(); } private void CallBack(string id, bool isEnterRoom) { switch ((ParticleSystemState)myint) { case ParticleSystemState.Play: ps.Play(); break; case ParticleSystemState.Stop: ps.Stop(); break; case ParticleSystemState.Pause: ps.Pause(); break; } } } /// /// 粒子操作枚举 /// public enum ParticleSystemState { Null, Play, Stop, Pause }