コード例 #1
0
    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);
    }
コード例 #2
0
    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);
    }
コード例 #3
0
    /// 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);
            }
        }
    }
コード例 #4
0
    /// 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);
            }
        }
    }
コード例 #5
0
    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);
    }
コード例 #6
0
    /// 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");
        }
    }
コード例 #7
0
    /// 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");
        }
    }