public void LoadEffect(int id) { if (!this.m_dicAllPreLoadAssetRequest.ContainsKey(id)) { if (!this.m_EffectDatas.ContainsKey(id)) { EffectLogger.Error("!m_EffectDatas.ContainsKey(id):" + id); } else { this.m_dicAllPreLoadAssetRequest[id] = new List <IAssetRequest>(); EffectData effectData = this.m_EffectDatas[id]; for (int i = 0; i < effectData.InstanceDatas.Count; i++) { EffectInstanceData effectInstanceData = effectData.InstanceDatas[i]; IAssetRequest assetRequest = ResourceManager.singleton.LoadEffect(effectInstanceData.Path, null, AssetPRI.DownloadPRI_Low); if (null != assetRequest) { this.m_dicAllPreLoadAssetRequest[id].Add(assetRequest); } } } } }
public int GetEffectCameraControlType(int effectid) { int result; if (this.m_EffectDatas.ContainsKey(effectid)) { EffectData effectData = this.m_EffectDatas[effectid]; if (effectData.InstanceDatas.Count > 0) { if (effectData.InstanceDatas[0].Type == EffectInstanceType.Stand) { result = 1; return(result); } if (effectData.InstanceDatas[0].Type == EffectInstanceType.Follow) { result = 0; return(result); } } } result = -1; return(result); }
public bool Load(EffectData data) { if (this.m_EffectInstances == null) { this.m_EffectInstances = new List <EffectInstance>(); } else { this.m_EffectInstances.Clear(); } bool result; if (null == data) { result = false; } else { this.m_Data = data; this.SourcePos = new Vector3(0f, 0f, 0f); this.TargetPos = new Vector3(0f, 0f, 0f); foreach (EffectInstanceData current in this.m_Data.InstanceDatas) { EffectInstance effectInstance = new EffectInstance(); effectInstance.FatherEffect = this; if (effectInstance.Load(current)) { this.m_EffectInstances.Add(effectInstance); } } this.m_Loaded = true; this.m_StartTime = Time.time; result = true; } return(result); }
public int PlayEffect(int id, Beast iCast, Vector3 vec3SrcPos, IXUIObject uiObjectCast, Beast iTarget, Vector3 vec3DestPos, IXUIObject uiObjectTarget, Vector3 vec3FixDir) { int num = -1; try { if (this.m_EffectDatas.ContainsKey(id)) { EffectData effectData = this.m_EffectDatas[id]; if (null != effectData) { if (effectData.Reverse > 0) { if (iCast == null || null == iTarget) { effectData.Reverse = 0; } } Effect effect = new Effect(); effect.m_nEffectTypeId = id; effect.Caster = ((effectData.Reverse == 0) ? iCast : iTarget); effect.Target = ((effectData.Reverse == 0) ? iTarget : iCast); /*if (null != uiObjectCast) * { * effect.CasterUIObject = SafeXUIObject.GetSafeXUIObject(uiObjectCast); * } * if (null != uiObjectTarget) * { * effect.TargetUIObject = SafeXUIObject.GetSafeXUIObject(uiObjectTarget); * }*/ num = this.GetID(); if (num != -1) { if (this.HighLight) { effect.HighLight = true; this.m_HightLightEffect.Add(num, effect); } effect.Load(effectData); effect.Id = num; this.m_Effects.Add(num, effect); if (vec3SrcPos != Vector3.zero) { if (vec3DestPos != Vector3.zero) { this.m_Effects[num].SetSrcPos(vec3SrcPos); } else { this.m_Effects[num].SourcePos = vec3SrcPos; } } if (vec3DestPos != Vector3.zero) { this.m_Effects[num].TargetPos = vec3DestPos; } if (vec3FixDir != Vector3.zero) { this.m_Effects[num].FixDir = vec3FixDir; } EffectLogger.Debug("PlayEffect:" + id); } } } else { EffectLogger.Error("!m_EffectDatas.ContainsKey(id):" + id); } } catch (Exception ex) { EffectLogger.Fatal(ex.ToString()); } return(num); }