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>(); } } }
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>(); } } }
/// <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; } }
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; } }
void OnCollisionExit(Collision other) { controller = GetComponentInParent <MovableObjectController>(); if (other.transform.tag == Tags.RideOn || controller == null) { return; } if (isStop) { isStop = false; } // controller.CollisionDisappearance(); }
// 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; }
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(); }
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>(); } } }
void Start() { controller = GetComponentInParent <MovableObjectController>(); }
/// <summary> /// Move Object directly to position. /// </summary> /// <param name='position'> /// Position. /// </param> public void MoveToPosition(MovableObjectController.MovableObjectPosition position, float speed) { MoveToPosition(position, speed, true); }
/// <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; }
/// <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; }
public override void Initialize(Transform target, MovableObjectController.ControlPoint[] controlPoints) { base.Initialize(target, controlPoints); }
void Start() { controller = GetComponentInParent<MovableObjectController>(); }
private void Start() { // この足場を操作しているスクリプトを取得 controller = GetComponentInParent <MovableObjectController>(); }
public SwitchingMoveType(Transform target, MovableObjectController.ControlPoint[] controlPoints) { Initialize(target, controlPoints); }
void OnCollisionExit(Collision other) { controller = GetComponentInParent<MovableObjectController>(); if (other.transform.tag == Tags.RideOn || controller == null) { return; } if (isStop) { isStop = false; } // controller.CollisionDisappearance(); }