コード例 #1
0
ファイル: Player.cs プロジェクト: asmv/GGJ2018
 // Update is called once per frame
 void Update()
 {
     if (controlledEnemy != null)
     {
         Vector3 move = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"), 0);
         controlledEnemy.move(move);
         if (Input.GetKey(KeyCode.Z))
         {
             controlledEnemy.basicAttack();
         }
         if (Input.GetKeyDown(KeyCode.X))
         {
             if (!isTransmitting && playerTransmissionJuice > 0)
             {
                 GameObject.Find("Game").GetComponent <SoundManager>().playTransmit();
                 isTransmitting = true;
                 GameObject       enemyObj = findClosest();
                 PossessableEnemy e        = enemyObj.GetComponent <PossessableEnemy>();
                 if (e != null)
                 {
                     leaveControlledEnemy();
                     setControlledEnemy(e);
                     e.transmitTo();
                     this.playerTransmissionJuice = Mathf.Max(0, playerTransmissionJuice - LOSSONTRANSMIT);
                 }
                 else
                 {
                     //nothing to transmit to
                     Debug.Log("Not Implemented Exception");
                 }
                 StartCoroutine("reloadTransmission");
             }
         }
         Vector3 pos = Camera.main.WorldToViewportPoint(controlledEnemy.transform.position);
         pos.x = Mathf.Clamp01(pos.x);
         pos.y = Mathf.Clamp01(pos.y);
         controlledEnemy.transform.position = Camera.main.ViewportToWorldPoint(pos);
     }
 }