public SceneObject_MissleInfo Clone() { SceneObject_MissleInfo newData = new SceneObject_MissleInfo(); newData.Id = Id; newData.Attacker = Attacker; newData.SceneObjInfo = SceneObjInfo.Clone(); newData.MissleHitEffectInfo = MissleHitEffectInfo.Clone(); newData.MissleEndEffectInfo = MissleEndEffectInfo.Clone(); newData.MoveStartPos = MoveStartPos; newData.MoveTargetPos = MoveTargetPos; newData.MoveVelocity = MoveVelocity; newData.MoveAccerelate = MoveAccerelate; newData.MoveRotateVelocity = MoveRotateVelocity; newData.MoveRotateDistance = MoveRotateDistance; newData.MissleStartPositionOff = MissleStartPositionOff; newData.MissleStartPositionRandomOff = MissleStartPositionRandomOff; newData.MissleTargetPositionRandomOff = MissleTargetPositionRandomOff; newData.ImpactDuration = ImpactDuration; newData.ImpactInterval = ImpactInterval; newData.ImpactAttractDuration = ImpactAttractDuration; newData.ImpactAttractRange = ImpactAttractRange; newData.ImpactAttractOffPerSecond = ImpactAttractOffPerSecond; newData.ImpactAttractOffMin = ImpactAttractOffMin; newData.ImpactAttractingImpactInterval = ImpactAttractingImpactInterval; newData.ImpactInfos = ImpactInfos.Clone(); newData.ImpactEndInfos = ImpactEndInfos.Clone(); newData.ImpactEndFromRoleInfos = ImpactEndFromRoleInfos.Clone(); newData.Target = Target; return(newData); }
public SceneObject_AttractBulletInfo Clone() { SceneObject_AttractBulletInfo newData = new SceneObject_AttractBulletInfo(); newData.Id = Id; newData.Attacker = Attacker; newData.SceneObjInfo = SceneObjInfo.Clone(); newData.BulletHitEffectInfo = BulletHitEffectInfo.Clone(); newData.BulletEndEffectInfo = BulletEndEffectInfo.Clone(); newData.MoveStartPos = MoveStartPos; newData.MoveDir = MoveDir; newData.MoveSpeed = MoveSpeed; newData.MoveDistanceMax = MoveDistanceMax; newData.MoveImpactRadius = MoveImpactRadius; newData.ImpactDuration = ImpactDuration; newData.ImpactInterval = ImpactInterval; newData.ImpactAttractDuration = ImpactAttractDuration; newData.ImpactAttractRange = ImpactAttractRange; newData.ImpactAttractOffPerSecond = ImpactAttractOffPerSecond; newData.ImpactAttractOffMin = ImpactAttractOffMin; newData.ImpactAttractingImpactInterval = ImpactAttractingImpactInterval; newData.ImpactInfos = ImpactInfos.Clone(); newData.ImpactEndInfos = ImpactEndInfos.Clone(); newData.ImpactEndFromRoleInfos = ImpactEndFromRoleInfos.Clone(); newData.ImpactSrcPos = ImpactSrcPos; newData.Target = Target; return(newData); }
/// param:Id[对应到SkillSceneObjManager中的SkillEffectId] /// example:2 public void Trigger_PlayEffectAtWeaponByEffectId(string param) { #if SHOOTER_LOG Debug.Log("Trigger_PlayEffectAtWeaponByEffectId param:" + param); #endif SkillSceneObjInfo sobjInfo = new SkillSceneObjInfo(param); MasterWeaponType masterType = (MasterWeaponType)(sobjInfo.ExtractNumeric <int>(0, 0)); GameObject curMainWeapon = TriggerImpl.GetCurMainWeapon(this.gameObject, masterType); if (m_SceneObjMgr != null && curMainWeapon != null) { SkillEffectInfo effectInfo = m_SceneObjMgr.TryGetSkillEffectInfo(sobjInfo.Id); if (effectInfo != null) { effectInfo = effectInfo.Clone(); Vector3 pos = curMainWeapon.transform.position; Vector3 rot = curMainWeapon.transform.rotation.eulerAngles; if (!string.IsNullOrEmpty(effectInfo.EffectParentBone)) { Transform t = LogicSystem.FindChildRecursive(curMainWeapon.transform, effectInfo.EffectParentBone); if (null != t) { pos = t.position; } } effectInfo.EffectPos += pos; effectInfo.EffectRot += rot; TriggerImpl.PlayEffect(effectInfo); } } }
/// param:Id[对应到SkillSceneObjManager中的SkillEffectId] /// example:2 public void Trigger_PlayEffectAtRoleByEffectId(string param) { #if SHOOTER_LOG Debug.Log("Trigger_PlayEffectAtRoleByEffectId param:" + param); #endif SkillSceneObjInfo sobjInfo = new SkillSceneObjInfo(param); if (m_SceneObjMgr != null) { SkillEffectInfo effectInfo = m_SceneObjMgr.TryGetSkillEffectInfo(sobjInfo.Id); if (effectInfo != null) { effectInfo = effectInfo.Clone(); Vector3 pos = this.gameObject.transform.position; Vector3 rot = this.gameObject.transform.rotation.eulerAngles; if (!string.IsNullOrEmpty(effectInfo.EffectParentBone)) { Transform t = LogicSystem.FindChildRecursive(this.gameObject.transform, effectInfo.EffectParentBone); if (null != t) { pos = t.position; } } effectInfo.EffectPos += pos; effectInfo.EffectRot += rot; TriggerImpl.PlayEffect(effectInfo); } } }
public SceneObject_TerminalBulletInfo Clone() { SceneObject_TerminalBulletInfo newData = new SceneObject_TerminalBulletInfo(); newData.Id = Id; newData.Attacker = Attacker; newData.SceneObjInfo = SceneObjInfo.Clone(); newData.BulletHitEffectInfo = BulletHitEffectInfo.Clone(); newData.BulletEndEffectInfo = BulletEndEffectInfo.Clone(); newData.MoveStartPos = MoveStartPos; newData.MoveDir = MoveDir; newData.MoveDistanceMax = MoveDistanceMax; newData.ImpactInfos = ImpactInfos.Clone(); newData.ExceptTargetState = new List <TargetStateType>(ExceptTargetState); newData.ImpactSrcPos = ImpactSrcPos; newData.Target = Target; return(newData); }
/// param:Id[对应到SkillSceneObjManager中的SkillEffect Id] /// example:2 public void Trigger_AttachEffectDirectAtRoleByEffectId(string param) { #if SHOOTER_LOG Debug.Log("Trigger_AttachEffectDirectAtRoleByEffectId param:" + param); #endif SkillSceneObjInfo sobjInfo = new SkillSceneObjInfo(param); if (m_SceneObjMgr != null) { SkillEffectInfo effectInfo = m_SceneObjMgr.TryGetSkillEffectInfo(sobjInfo.Id); if (effectInfo != null) { effectInfo = effectInfo.Clone(); effectInfo.EffectParent = this.gameObject.transform; TriggerImpl.AttachEffectDirect(effectInfo); } } else { Debug.Log("Trigger_AttachEffectDirectAtRoleByEffectId null"); } }
/// param:Id[对应到SkillSceneObjManager中的SkillEffectId] /// example:2 public void Trigger_AttachEffectAtWeaponByEffectId(string param) { #if SHOOTER_LOG Debug.Log("Trigger_AttachEffectAtWeaponByEffectId param:" + param); #endif SkillSceneObjInfo sobjInfo = new SkillSceneObjInfo(param); MasterWeaponType masterType = (MasterWeaponType)(sobjInfo.ExtractNumeric <int>(0, 0)); GameObject curMainWeapon = TriggerImpl.GetCurMainWeapon(this.gameObject, masterType); if (m_SceneObjMgr != null && curMainWeapon != null) { SkillEffectInfo effectInfo = m_SceneObjMgr.TryGetSkillEffectInfo(sobjInfo.Id); if (effectInfo != null) { effectInfo = effectInfo.Clone(); effectInfo.EffectParent = curMainWeapon.transform; TriggerImpl.AttachEffect(effectInfo); } } else { Debug.Log("Trigger_AttachEffectAtWeaponByEffectId null"); } }