Beispiel #1
0
    // Use this for initialization
    void Start()
    {
        // テストデータ
        MyDataEnemy = new DataTable.DataEnemy {
            id = 1, hp = 100, action_start = 1
        };

        // ShoterManagerの生成
        // originObjectはSphere
        EnemyShoterManager = new ShoterManager(bulletObject, gameObject);

        // 次に動作するフラグ
        seqFlag = false;

        // 初期位置
        //EnemyStartPosition = GetComponent<>

        // ListActionのactionを取得
        ListEnemyAction = DataTable.Instance.ListAction().Where(l => l.id == MyDataEnemy.action_start).FirstOrDefault();

        // 敵の初期値データ
        List <DataTable.DataEnemy> ListEnemyPosition = DataTable.Instance.ListEnemy();
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        // アニメーション中はreturnする
        if (seqFlag)
        {
            print("アニメーション中なのでreturn");
            return;
        }

        if (ListEnemyAction.action == DataTable.EnemyActionNumber.MOVE)
        {
            // ゲーム開始して、とる行動
            // 移動
            // enemyObjectのx, yを取得
            // ListEnemyPositionから、xを取得して足す
            var ListPosition = ListEnemyAction.actionInfo.Split(',');

            int[] intArray = ListPosition.Select(li =>
            {
                int r = 0;
                int.TryParse(li, out r);
                return(r);
            }).ToArray();

            // DOTweenで動かす
            seq = DOTween.Sequence();

            seq.Append(
                transform.DOMove(
                    new Vector3(intArray[0], intArray[1], 0),
                    1.0f
                    )
                .OnStart(() =>
            {
                seqFlag = true;
            })
                )
            //.InsertCallback(2.0f, () => {
            //        print("InsertCallback内");
            //        seqFlag = false;
            //    });
            .OnStepComplete(() => {
                seqFlag = false;
                // 動かした後に打つidを入れる
                ListEnemyAction = DataTable.Instance.ListAction().Where(l => l.id == ListEnemyAction.nextId).FirstOrDefault();
            });
        }

        // 打つ
        if (ListEnemyAction.action == DataTable.EnemyActionNumber.SHOT)
        {
            print("打つ処理内に入った");
            EnemyShoterManager.Update();
        }

        // 打つ

        // 停まる

        // 移動
    }