Ejemplo n.º 1
0
    /// <summary>
    /// 加载副武器(子类重写该方法可加特效)
    /// </summary>
    public virtual void LoadSecondaryWeapon()
    {
        //错误检测
        if (primaryWeapon == null)
        {
            Debug.LogError("必须先有主武器才能加载副武器!");
            return;
        }

        //若已存在则延时删除
        GameObject toDestroy = null;

        if (secondaryWeapon != null)
        {
            toDestroy = secondaryWeapon.gameObject;
        }


        //加载
        secondaryWeapon = GameObject.Instantiate(GameSystem.WeaponSystem.getPrefab(secondaryWeaponEnum), transform).GetComponent <SecondaryWeapon>();
        secondaryWeapon.AttachICP(this);
        secondaryWeapon.SetPosition(primaryWeapon.secondaryWeaponPositionL, primaryWeapon.secondaryWeaponPositionR);

        //删除
        if (toDestroy != null)
        {
            DestroyImmediate(toDestroy);
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 加载主武器(子类重写该方法可加特效)
    /// </summary>
    public virtual void LoadPrimaryWeapon()
    {
        //错误检测
        if (weaponBottom == null)
        {
            Debug.LogError("必须先有底座才能加载主武器!");
            return;
        }

        //若已存在则延时删除
        GameObject toDestroy = null;

        if (primaryWeapon != null)
        {
            toDestroy = primaryWeapon.gameObject;
        }

        //加载
        primaryWeapon = GameObject.Instantiate(GameSystem.WeaponSystem.getPrefab(primaryWeaponEnum), weaponBottom.primaryWeaponPosition).GetComponent <PrimaryWeapon>();
        primaryWeapon.AttachICP(this);
        if (secondaryWeapon != null)
        {
            secondaryWeapon.SetPosition(primaryWeapon.secondaryWeaponPositionL, primaryWeapon.secondaryWeaponPositionR);
        }

        //删除
        if (toDestroy != null)
        {
            DestroyImmediate(toDestroy);
        }
    }