using System; using System.Collections; using System.Collections.Generic; using BehaviorDesigner.Runtime.Tasks.Unity.UnityGameObject; using UnityEngine; namespace BlueWater { public class TestCharacterMove_01 : MonoBehaviour { [SerializeField] private GameObject obj; public float speed = 50.0f; protected float force = 0.0f; public float force_add = 0.002f; [SerializeField] private ParticleSystem Smoke1; [SerializeField] private ParticleSystem Smoke2; [SerializeField] private ParticleSystem Smoke3; [SerializeField] private ParticleSystem Smoke4; [SerializeField] private ParticleSystem Smoke5; [SerializeField] private ParticleSystem Smoke6; [SerializeField] private ParticleSystem Smoke7; [SerializeField] private ParticleSystem Smoke8; [SerializeField] private ParticleSystem Rings; private void Start() { Smoke1.Stop(); Smoke2.Stop(); Smoke3.Stop(); Smoke4.Stop(); Smoke5.Stop(); Smoke6.Stop(); Smoke7.Stop(); Smoke8.Stop(); //Rings.Stop(); } void Update() { float rotation_01 = Mathf.Abs(-0.5f + ((obj.transform.eulerAngles.y)/ 180) % 1.0f); float rotation_02 = Mathf.Abs(-0.5f + rotation_01); float back_check = (obj.transform.eulerAngles.y >= 90.0f && obj.transform.eulerAngles.y <= 270.0f) ? 1.0f : -1.0f; float side_check = (obj.transform.eulerAngles.y <= 180.0f)? -1.0f : 1.0f; float time = Time.deltaTime; float move_time = (-speed * time); if (Input.GetKey(KeyCode.UpArrow)|| Input.GetKey(KeyCode.T)) { force += force_add; if (force >= 1.0f) force = 1.0f; } else if (Input.GetKey(KeyCode.DownArrow) || Input.GetKey(KeyCode.G)) { if (force > 0.0f) { force -= force_add; if (force <= 0.0f) force = 0.0f; } else { force -= force_add/4.0f; if (force <= -0.5f) force = -0.5f; } // transform.Translate(0, 0, speed * time); } else { if (force < 0.0f)force += force_add/2.0f; else if(force > 0.0f)force -= force_add/2.0f; } transform.Translate((side_check * move_time * rotation_02)*force, 0.0f, (back_check * move_time * rotation_01)*force); if (force >= 0.05f) { Smoke1.Play(); Smoke2.Play(); Smoke3.Play(); Smoke4.Play(); Smoke5.Play(); Smoke6.Play(); Smoke7.Play(); Smoke8.Play(); //Rings.Play(); } else { Smoke1.Stop(); Smoke2.Stop(); Smoke3.Stop(); Smoke4.Stop(); Smoke5.Stop(); Smoke6.Stop(); Smoke7.Stop(); Smoke8.Stop(); //Rings.Stop(); } Smoke1.startSize = 0.2f * (force); Smoke2.startSize = 0.2f * (force); Smoke3.startSize = 0.2f * (force); Smoke4.startSize = 0.2f * (force); Smoke5.startSize = 0.2f * (force); Smoke6.startSize = 0.2f * (force); Smoke7.startSize = 0.2f * (force); Smoke8.startSize = 0.2f * (force); if (Input.GetKey(KeyCode.RightArrow)|| Input.GetKey(KeyCode.H)) { obj.transform.Rotate(new Vector3(0.0f, speed * Time.deltaTime , 0.0f)); } else if (Input.GetKey(KeyCode.LeftArrow)|| Input.GetKey(KeyCode.F)) { obj.transform.Rotate(new Vector3(0.0f, speed * -Time.deltaTime , 0.0f)); } else { obj.transform.Rotate(new Vector3(0.0f, 0.0f * Time.deltaTime , 0.0f)); } } } }