예제 #1
0
 protected virtual void HandleEntity(ResourceCacheEntity entity, ResourceCacheBehaviourParam param)
 {
     if (entity != null && entity.Behaviour != null)
     {
         entity.Behaviour.Process(param);
     }
 }
예제 #2
0
 protected virtual void AdjustParam(ref ResourceCacheBehaviourParam param, ref int duration, int delay)
 {
     Debug.Assert(param != null, "wrong");
     if (delay > 0)
     {
         duration       += delay;
         param.DelayShow = delay;
     }
 }
예제 #3
0
        public virtual int Play(int poolId, int duration, Transform parent, ResourceCacheBehaviourParam param, int delay = 0)
        {
            int instanceId = -1;
            ResourceCacheEntity entity;
            ResourceCachePool   pool = GetEntityFromManager(poolId, out entity);

            if (pool != null && entity != null)
            {
                entity.SetParent(parent, false);
                AdjustParam(ref param, ref duration, delay);
                instanceId = GenInstanceId(entity, duration);
                pool.AddToStrategy(instanceId);
                HandleEntity(entity, param);
            }
            return(instanceId);
        }
예제 #4
0
 private void OnGUI()
 {
     if (GUILayout.Button("Save"))
     {
         Save();
     }
     if (!IsInitialized && GUILayout.Button("Initialize"))
     {
         XmlDataLoader.Instance.InitAndLoad(XmlFileNameDefine.Namespace, XmlFileNameDefine.SuffixFlag);
         DebugUtils.Info("EffectConfig", "DataPath " + Application.dataPath + " Count: " + EffectConfig.DataMap.Count);
         EffectPools.Initialize(ResourceCacheMask.Testing, EffectConfig.DataMap);
         IsInitialized = true;
     }
     if (IsInitialized)
     {
         if (GUILayout.Button("Play"))
         {
             int poolId = EnumUtils.EnumToInt(EffectConfigName.THIRD_PERSON);
             ResourceCacheBehaviourParam param = new ResourceCacheBehaviourParam();
             EffectPools.Play(poolId, 5000, ResourceCacheBindParent.WorldEffectBind, param);
         }
     }
 }
예제 #5
0
 public virtual int Play(int poolId, Transform parent, ResourceCacheBehaviourParam param, int delay = 0)
 {
     return(Play(poolId, int.MaxValue, parent, param, delay));
 }