Example #1
0
    // アップイベント
    protected void onTouchUpEvent()
    {
        if (this._directionX != (int)DirectionKind.None &&
            this._directionY != (int)DirectionKind.None)
        {
            return;
        }
        else if (this._directionX == (int)DirectionKind.None &&
                 this._directionY == (int)DirectionKind.None)
        {
            return;
        }

        FlickInfo l_fInfo = new FlickInfo();

        l_fInfo.StartX    = this._startX;
        l_fInfo.StartY    = this._startY;
        l_fInfo.Direction = ((this._directionX != (int)DirectionKind.None) ?
                             this._directionX : this._directionY);

        // メッセージ送信
        GameMessenger.Instance.SendMessage(l_fInfo);

        this._startX     = 0;
        this._startY     = 0;
        this._directionX = (int)DirectionKind.None;
        this._directionY = (int)DirectionKind.None;
    }
Example #2
0
        // メッセージ受信イベント
        private void _receiveMessage()
        {
            if (GameMessenger.Instance.Count > 0)
            {
                // メッセージ受信
                object l_msg =
                    GameMessenger.Instance.RecvMessage();
                FlickInfo l_fInfo = l_msg as FlickInfo;

                if (l_fInfo != null)
                {
                    // フリック開始位置からダイスを取得
                    GameObject l_dice =
                        GameLayerInfo.Instance.getDiceAt(
                            l_fInfo.StartX, l_fInfo.StartY);

                    if (l_dice != null)
                    {
                        // 回転フラグ立てる
                        this._isRolling    = true;
                        this._target       = l_dice;
                        this._targetInfo_f = l_fInfo;
                    }
                }
            }
        }
Example #3
0
        // さいころ回転
        private void _onFlickDice(GameObject p_dice, FlickInfo p_info)
        {
            if (this._animCount < (_HALF / _ROLL_SPEED))
            {
                if (this._animCount == 0)
                {
                    int l_y = this._roundAngle(
                        p_dice.transform.localEulerAngles.y);
                    int l_x = this._roundAngle(
                        p_dice.transform.localEulerAngles.x);
                    int l_z = this._roundAngle(
                        p_dice.transform.localEulerAngles.z);

                    int Direction = DiceUtility.getDiceDirection(l_y);
                    int State     = DiceUtility.getDiceState(l_x, l_z);

                    // 回転する方向を取得
                    this._rollDirection = DiceUtility.getRotateVector(
                        State, Direction, p_info.Direction);
                }

                p_dice.transform.Rotate(
                    this._rollDirection.x,
                    this._rollDirection.y,
                    this._rollDirection.z);

                this._animCount++;
            }
            else
            {
                this._isRolling       = false;
                this._animCount       = 0;
                this._rollDirection.x = 0;
                this._rollDirection.y = 0;
                this._rollDirection.z = 0;

                this.onDiceStateChanged(p_dice);
            }
        }
Example #4
0
 public void Flick(FlickInfo flickInfo)
 {
     Timer.SetTimer(timerKeyPanelFlick, flickInfo.flickTime);
     flickColor = flickInfo.flickColor;
     flickPace  = flickInfo.flickPace;
 }
Example #5
0
 /// <summary>
 /// チカチカ点滅する
 /// </summary>
 /// <param name="flickInfo">Flick info.</param>
 public void Flick(FlickInfo flickInfo)
 {
     this.panelOjcect.SendMessage("Flick", flickInfo);
 }