コード例 #1
0
ファイル: UbhBullet.cs プロジェクト: togech/Factory-Reset
 private void OnDisable()
 {
     m_parentBaseShot = null;
     m_transformCache.ResetPosition();
     m_transformCache.ResetRotation();
     shooting = false;
 }
コード例 #2
0
ファイル: UbhBaseShotInspector.cs プロジェクト: hdmmY/Shooter
    void DrawProperties()
    {
        UbhBaseShot obj = target as UbhBaseShot;

        EditorGUILayout.Space();

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Start Shot"))
        {
            if (Application.isPlaying && obj.gameObject.activeInHierarchy)
            {
                obj.Shot();
            }
        }
        EditorGUILayout.EndHorizontal();

        if (obj.m_bulletPrefab == null)
        {
            Color guiColor = GUI.color;
            GUI.color = Color.yellow;

            EditorGUILayout.LabelField("*****WARNING*****");
            EditorGUILayout.LabelField("BulletPrefab has not been set!");

            GUI.color = guiColor;
        }

        EditorGUILayout.Space();

        DrawDefaultInspector();
    }
コード例 #3
0
    /// <summary>
    /// Finished shot.
    /// </summary>
    protected void FinishedShot(UbhBaseShot shotPattern)
    {
        if (OnShotFinish != null)
        {
            OnShotFinish(shotPattern);
        }

        _Shooting = false;
    }
コード例 #4
0
ファイル: UbhBullet.cs プロジェクト: o0flame/Fruit.io
    /// <summary>
    /// Finished Shot
    /// </summary>
    public void OnFinishedShot()
    {
        if (m_shooting == false)
        {
            return;
        }
        m_shooting = false;

        m_parentBaseShot = null;
        m_homingTarget   = null;
        m_transformCache.ResetPosition();
        m_transformCache.ResetRotation();
    }
コード例 #5
0
ファイル: UbhBullet.cs プロジェクト: togech/Factory-Reset
    /// <summary>
    /// Bullet Shot
    /// </summary>
    public void Shot(UbhBaseShot parentBaseShot,
                     float speed, float angle, float accelSpeed, float accelTurn,
                     bool homing, Transform homingTarget, float homingAngleSpeed,
                     bool wave, float waveSpeed, float waveRangeSize,
                     bool pauseAndResume, float pauseTime, float resumeTime, UbhUtil.AXIS axisMove)
    {
        if (shooting)
        {
            return;
        }
        shooting = true;

        m_parentBaseShot = parentBaseShot;

        m_speed            = speed;
        m_angle            = angle;
        m_accelSpeed       = accelSpeed;
        m_accelTurn        = accelTurn;
        m_homing           = homing;
        m_homingTarget     = homingTarget;
        m_homingAngleSpeed = homingAngleSpeed;
        m_wave             = wave;
        m_waveSpeed        = waveSpeed;
        m_waveRangeSize    = waveRangeSize;
        m_pauseAndResume   = pauseAndResume;
        m_pauseTime        = pauseTime;
        m_resumeTime       = resumeTime;
        m_axisMove         = axisMove;

        if (m_axisMove == UbhUtil.AXIS.X_AND_Z)
        {
            // X and Z axis
            m_transformCache.SetEulerAnglesY(-m_angle);
        }
        else
        {
            // X and Y axis
            m_transformCache.SetEulerAnglesZ(m_angle);
        }

        m_selfFrameCnt  = 0f;
        m_selfTimeCount = 0f;
    }
コード例 #6
0
ファイル: UbhBullet.cs プロジェクト: o0flame/Fruit.io
    /// <summary>
    /// Bullet Shot
    /// </summary>
    public void Shot(UbhBaseShot parentBaseShot,
                     float speed, float angle, float accelSpeed, float accelTurn,
                     bool homing, Transform homingTarget, float homingAngleSpeed,
                     bool wave, float waveSpeed, float waveRangeSize,
                     bool pauseAndResume, float pauseTime, float resumeTime,
                     bool useAutoRelease, float autoReleaseTime,
                     UbhUtil.AXIS axisMove, bool inheritAngle)
    {
        if (m_shooting)
        {
            return;
        }
        m_shooting = true;

        m_parentBaseShot = parentBaseShot;

        m_speed            = speed;
        m_angle            = angle;
        m_accelSpeed       = accelSpeed;
        m_accelTurn        = accelTurn;
        m_homing           = homing;
        m_homingTarget     = homingTarget;
        m_homingAngleSpeed = homingAngleSpeed;
        m_wave             = wave;
        m_waveSpeed        = waveSpeed;
        m_waveRangeSize    = waveRangeSize;
        m_pauseAndResume   = pauseAndResume;
        m_pauseTime        = pauseTime;
        m_resumeTime       = resumeTime;
        m_useAutoRelease   = useAutoRelease;
        m_autoReleaseTime  = autoReleaseTime;
        m_axisMove         = axisMove;

        m_baseAngle = 0f;
        if (inheritAngle && m_parentBaseShot.lockOnShot == false)
        {
            if (m_axisMove == UbhUtil.AXIS.X_AND_Z)
            {
                // X and Z axis
                m_baseAngle = m_parentBaseShot.shotCtrl.transform.eulerAngles.y;
            }
            else
            {
                // X and Y axis
                m_baseAngle = m_parentBaseShot.shotCtrl.transform.eulerAngles.z;
            }
        }

        if (m_axisMove == UbhUtil.AXIS.X_AND_Z)
        {
            // X and Z axis
            m_transformCache.SetEulerAnglesY(m_baseAngle - m_angle);
        }
        else
        {
            // X and Y axis
            m_transformCache.SetEulerAnglesZ(m_baseAngle + m_angle);
        }

        m_selfFrameCnt  = 0f;
        m_selfTimeCount = 0f;
    }
コード例 #7
0
 private void ShotDownAiming(UbhBaseShot baseShot)
 {
     m_aimingTargetCompo.m_aiming = false;
     Debug.Log(transform.parent.name);
 }
コード例 #8
0
 private bool NotNull(UbhBaseShot shotComponent)
 {
     return(shotComponent != null);
 }