Example #1
0
    void OnCollisionEnter(Collision other)
    {
        controller = GetComponentInParent <MovableObjectController>();
        if (other.transform.tag == Tags.RideOn || controller == null)
        {
            return;
        }

        Rigidbody rigidBody = other.transform.GetComponent <Rigidbody>();

        if (isOver)
        {
            isStop = true;
            if (rigidBody == null || (other.transform.GetComponent <GraspItem>() == null))
            {
                controller.Burying();
                collisionColorObject = other.transform.GetComponent <ColorObjectBase>();
            }
        }
        else
        {
            if (rigidBody == null || (other.transform.GetComponent <GraspItem>() == null))
            {
                if (other.transform == transform)
                {
                    return;
                }
                controller.Collision();
                collisionColorObject = other.transform.GetComponent <ColorObjectBase>();
            }
        }
    }
Example #2
0
    void OnCollisionEnter(Collision other)
    {
        controller = GetComponentInParent<MovableObjectController>();
        if (other.transform.tag == Tags.RideOn || controller == null)
        {
            return;
        }

        Rigidbody rigidBody = other.transform.GetComponent<Rigidbody>();

        if (isOver)
        {
            isStop = true;
            if (rigidBody == null || (other.transform.GetComponent<GraspItem>() == null))
            {
                controller.Burying();
                collisionColorObject = other.transform.GetComponent<ColorObjectBase>();
            }
        }
        else
        {
            if (rigidBody == null || (other.transform.GetComponent<GraspItem>() == null))
            {
                controller.Collision();
                collisionColorObject = other.transform.GetComponent<ColorObjectBase>();
            }
        }
    }
Example #3
0
    /// <summary>
    /// 動作状態を切り替える
    /// </summary>
    /// <param name="newState">新しい動作状態</param>
    public void ChangeState(MovableObjectController.State newState)
    {
        oldState = currentState;
        switch (newState)
        {
            case MovableObjectController.State.Stop:  // 停止
                ToStop();
                break;

            case MovableObjectController.State.Move:  // 移動
                ToMove();
                break;

            case MovableObjectController.State.Wait:  // 一時停止
                ToWait();
                break;

            case MovableObjectController.State.Collided: // 衝突
                ToCollided();
                break;

            case MovableObjectController.State.Burying: // 埋没
                ToBurying();
                break;
        }
    }
Example #4
0
    private MovableObjectController controller;     // オブジェクトを制御する、親

    protected override void Awake()
    {
        base.Awake();
        controller = transform.parent.GetComponent <MovableObjectController>();
        if (controller == null)
        {
            Debug.LogError("親オブジェクトにMovableObjectControllerがアタッチされていません");
        }
    }
    // Use this for initialization
    void Start()
    {
        _animationHandler = GetComponent <PlayerAnimationHandler>();
        _animationHandler.Stay();

        _physicsController = GetComponent <PhysicsController>();

        _isPlayerInStartPointOfAnyMovableObject = false;
        _objectToMove = null;
    }
 private void OnTriggerEnter(Collider otherCollider)
 {
     if (otherCollider.tag == "StartPoint")
     {
         Debug.Log("Should enable Space");
         _uiHandler.SetInfoPanelActive(true);
         _isPlayerInStartPointOfAnyMovableObject = true;
         _objectToMove = otherCollider.GetComponentInParent <MovableObjectController>();
     }
 }
 private void OnTriggerExit(Collider otherCollider)
 {
     if (otherCollider.tag == "StartPoint")
     {
         Debug.Log("Should close gauge and disable Space!");
         _isPlayerInStartPointOfAnyMovableObject = false;
         _objectToMove = null;
         _uiHandler.SetInfoPanelActive(false);
         _uiHandler.SetPowerGauge(false);
         _uiHandler.ResetGauge();
         _isGaugeOpen = false;
     }
 }
Example #8
0
    void OnCollisionExit(Collision other)
    {
        controller = GetComponentInParent <MovableObjectController>();
        if (other.transform.tag == Tags.RideOn || controller == null)
        {
            return;
        }

        if (isStop)
        {
            isStop = false;
        }
        // controller.CollisionDisappearance();
    }
Example #9
0
 //
 public static BaseMoveType Create(Transform target, MovableObjectController.MoveType moveType, MovableObjectController.ControlPoint[] controlPoints)
 {
     switch (moveType)
     {
         case MovableObjectController.MoveType.Circulating:
             return new CirculatingMoveType(target, controlPoints);
         case MovableObjectController.MoveType.OneStep:
             return new OneStepMoveType(target, controlPoints);
         case MovableObjectController.MoveType.PingPong:
             return new PingPongMoveType(target, controlPoints);
         case MovableObjectController.MoveType.Switching:
             return new SwitchingMoveType(target, controlPoints);
     }
     return null;
 }
Example #10
0
        private IEnumerator ColorSampleAwaitRoutine()
        {
            float timer = 0.0f;

            while (true)
            {
                if (timer > GameConfig.ColorSampleAwaitTime)
                {
                    break;
                }

                timer += Time.unscaledDeltaTime;

                yield return(null);
            }
            HandTrackerInterop.StartTracking();
            MovableObjectController cubeController = _controllers[typeof(MovableObjectController)] as MovableObjectController;

            cubeController.StartTracking();
        }
Example #11
0
    private void OnCollisionEnter(Collision other)
    {
        controller = GetComponentInParent <MovableObjectController>();
        if (other.transform.tag == Tags.RideOn || controller == null)
        {
            return;
        }

        var rigidBody = other.transform.GetComponent <Rigidbody>();

        if (isOver)
        {
            // カラーブロックが消失状態で重なっている間に再生された
            // つまり埋まった
            isStop = true;
            if (rigidBody == null || (other.transform.GetComponent <GraspItem>() == null))
            {
                // 埋まった時の処理
                controller.Burying();
                collisionColorObject = other.transform.GetComponent <ColorObjectBase>();
            }
        }
        else
        {
            // 何かにぶつかったので停止
            if (rigidBody == null || (other.transform.GetComponent <GraspItem>() == null))
            {
                if (other.transform == transform)
                {
                    return;
                }
                controller.Collision();
                collisionColorObject = other.transform.GetComponent <ColorObjectBase>();
            }
        }
    }
Example #12
0
 void Start()
 {
     controller = GetComponentInParent <MovableObjectController>();
 }
Example #13
0
 /// <summary>
 /// Move Object directly to position.
 /// </summary>
 /// <param name='position'>
 /// Position.
 /// </param>
 public void MoveToPosition(MovableObjectController.MovableObjectPosition position, float speed)
 {
     MoveToPosition(position, speed, true);
 }
Example #14
0
    /// <summary>
    /// Move Object directly to position.
    /// </summary>
    /// <param name='position'>
    /// Position.
    /// </param>
    /// <param name='interruptable'>
    /// Interruptable.
    /// </param>
    public void MoveToPosition(MovableObjectController.MovableObjectPosition position, float speed, bool interruptable)
    {
        if (State == MoveableObjectStates.MOVING && !mInterruptable)
        {
            return;
        }

        mPositionQueue.Clear();
        mPositionQueue.Add(position);
        mMoveSpeed = speed;
        mCurrentMoveTime = 0f;
        mInterruptable = interruptable;
        mPreviousPosition = mCurrentPosition;
        mCurrentPosition = -1;
        mTargetPosition = 0;
        State = MoveableObjectStates.MOVING;
    }
Example #15
0
 /// <summary>
 /// 初期化
 /// </summary>
 /// <param name="target">操作対象</param>
 /// <param name="controlPoints">制御点</param>
 public virtual void Initialize(Transform target, MovableObjectController.ControlPoint[] controlPoints)
 {
     currentControlPointIndex = 0;
     nextControlPointIndex = 0;
     this.controlPoints = controlPoints;
     currentState = MovableObjectController.State.None;
     isReverse = false;
     this.transform = target;
     currentWaitTime = 0.0f;
     waitTimeCount = 0.0f;
     ToMove();
     SetNextParams();
     switchState = true;
 }
Example #16
0
 public override void Initialize(Transform target, MovableObjectController.ControlPoint[] controlPoints)
 {
     base.Initialize(target, controlPoints);
 }
Example #17
0
 void Start()
 {
     controller = GetComponentInParent<MovableObjectController>();
 }
Example #18
0
 private void Start()
 {
     // この足場を操作しているスクリプトを取得
     controller = GetComponentInParent <MovableObjectController>();
 }
Example #19
0
 public SwitchingMoveType(Transform target, MovableObjectController.ControlPoint[] controlPoints)
 {
     Initialize(target, controlPoints);
 }
Example #20
0
    void OnCollisionExit(Collision other)
    {
        controller = GetComponentInParent<MovableObjectController>();
        if (other.transform.tag == Tags.RideOn || controller == null)
        {
            return;
        }

        if (isStop)
        {
            isStop = false;
        }
        // controller.CollisionDisappearance();
    }