Exemplo n.º 1
0
        /// <summary>
        /// 攻撃関数
        /// </summary>
        /// <param name="which">どちらの手か</param>
        private void Attack(WhichHand which)
        {
            audio.PlayOneShot(FindAudioWithName("パンチ"));
            var colls = FindVillainCollider2D();

            #region 空振り
            if (colls.Count() == 0)
            {
                Consume(which, WIFF_CONSUME_GAGE);
                return;
            }
            #endregion 空振り

            #region ゲージの消費
            foreach (var coll in colls)
            {
                Consume(which, coll.GetComponent <VillainBase>().GageConsume);
            }
            #endregion ゲージの消費

            #region コライダーの吹き飛ばし
            var exprDir = dirHelper.position - attackOrigin.position;
            AddForce(colls, exprDir, attackPower);
            #endregion コライダーの吹き飛ばし

            #region コライダーのダメージ処理
            foreach (var coll in colls)
            {
                coll.gameObject.SendMessage("Damaged");
            }
            #endregion コライダーのダメージ処理
        }
Exemplo n.º 2
0
    public static void Save(List <GameObject> bones, WhichHand w)
    {
        if (_instance == null)
        {
            _instance = new SaveHandPosition();
        }


        var timestamp      = Variables.GetCurrentUnixTimestampMillis();
        var Sample         = Variables.SampleNumber;
        var SubjectID      = Variables.UserId;
        var GameObjectName = bones[0].name;
        var Hand           = w;
        var Displacement   = GameObjectName.Split('_')[3];
        var Texture        = GameObjectName.Split('_')[4];
        var Amp            = Variables.Amplitude;
        var Size           = Variables.ButtonWidthModifier;
        var ID             = Mathf.Log(Amp / (Size) + 0.5f, 2);
        var Repetition     = SaveClickData._repetitionDict.ContainsKey(ID) ? SaveClickData._repetitionDict[ID] : 1;
        var Duration       = timestamp - Variables.ClickTime;

        foreach (var bone in bones)
        {
            string output   = "";
            var    BoneName = bone.name;

            var PosX = _instance._objects.Buttons.transform.InverseTransformPoint(bone.transform.position).x;
            var PosY = _instance._objects.Buttons.transform.InverseTransformPoint(bone.transform.position).y;
            var PosZ = _instance._objects.Buttons.transform.InverseTransformPoint(bone.transform.position).z;
            var RotX = _instance._objects.Buttons.transform.InverseTransformPoint(bone.transform.position).x;
            var RotY = _instance._objects.Buttons.transform.InverseTransformPoint(bone.transform.position).y;
            var RotZ = _instance._objects.Buttons.transform.InverseTransformPoint(bone.transform.position).z;

            output += Sample + CsvSeparator + timestamp + CsvSeparator + SubjectID + CsvSeparator + GameObjectName +
                      CsvSeparator + Hand + CsvSeparator + Texture + CsvSeparator + Displacement + CsvSeparator +
                      Amp + CsvSeparator + Size + CsvSeparator + ID + CsvSeparator + Repetition + CsvSeparator +
                      Duration + CsvSeparator + BoneName + CsvSeparator + PosX + CsvSeparator + PosY +
                      CsvSeparator + PosZ + CsvSeparator + RotX + CsvSeparator + RotY + CsvSeparator + RotZ;


            _instance.sw.Write(output + "\r\n");
            _instance.sw.Flush();
        }
    }
Exemplo n.º 3
0
        /// <summary>
        /// ゲージを消費する
        /// </summary>
        /// <param name="which">どちらの手か</param>
        /// <param name="consume">消費する値</param>
        private void Consume(WhichHand which, float consume)
        {
            switch (which)
            {
            case WhichHand.Left:
                leftGage -= consume;
                break;

            case WhichHand.Right:
                rightGage -= consume;
                break;

            default:
                break;
            }

            leftGage  = Mathf.Max(0f, leftGage);
            rightGage = Mathf.Max(0f, rightGage);
        }
Exemplo n.º 4
0
    private void AddHand(Transform t, string _name, WhichHand whichHand)
    {
        var allChildren  = t.GetComponentsInChildren <Transform>();
        var childObjects = allChildren.Select(child => child.gameObject).ToList();

        switch (whichHand)
        {
        case WhichHand.Right:
            RightHands.Add(_name, childObjects);
            break;

        case WhichHand.Left:
            LeftHands.Add(_name, childObjects);
            break;

        default:
            throw new ArgumentOutOfRangeException("whichHand", whichHand, null);
        }
    }