Пример #1
0
        //  プレイヤーがJetAreaに触れているときにボタン入力がされたときにPlayerのアクションを呼び出す
        private void OnTriggerStay2D(Collider2D collision)
        {
            //  レイヤーの当たり判定
            if (PLAYER_LAYER != collision.gameObject.layer)
            {
                // Player以外のレイヤーの当たり判定をとらない
                return;
            }

            Player.PlayerController player = null;
            //  エラー検知
            try
            {
                //  接触したのはプレイヤーなのでGetComponentで取得
                player = collision.GetComponent <Player.PlayerController>();
                player.JetAction(nextArea, nextPlanet, rot);
            }
            catch
            {
                //  例外処理
                Debug.LogError("PlayerContrllerのGetComponentで例外発生");
            }

            //  カメラの移動先が設定されていれば移動させる
            if (!nextCameraPos)
            {
                return;
            }
            if (MyInputManager.AllController.A)
            {
                Camera.CameraController.Instance.Move(nextCameraPos, player.JetTime);
            }
        }
 void Update()
 {
     if (Util.GameState.state != Util.GameState.State.Playing)
     {
         return;
     }
     if (die)
     {
         transform.Translate(-transform.up * Time.deltaTime * 2);
         deathTime -= Time.deltaTime;
         if (deathTime < 0)
         {
             Player.PlayerController player = GetComponentInChildren <Player.PlayerController>();
             if (player != null)
             {
                 player.gameObject.transform.parent = null;
                 foreach (Collider c in floor)
                 {
                     c.enabled = false;
                 }
             }
             else
             {
                 Destroy(this.gameObject);
             }
         }
     }
 }
Пример #3
0
        public override async Task Execute()
        {
            Trigger.ProcessCollisions = true;

            while (Game.IsRunning)
            {
                Collision firstCollision = await Trigger.NewCollision();

                PhysicsComponent otherCollider = Trigger == firstCollision.ColliderA ? firstCollision.ColliderB : firstCollision.ColliderA;

                Player.PlayerController isPlayer = otherCollider.Entity.Get <Player.PlayerController>();

                if (isPlayer != null)
                {
                    CollisionStarted(otherCollider.Entity.Transform.Position);
                }

                Collision collision;

                do
                {
                    collision = await Trigger.CollisionEnded();
                }while (collision != firstCollision);

                if (isPlayer != null)
                {
                    CollisionStarted(Vector3.Zero);
                }
            }
        }
Пример #4
0
 private void HealIllness(Player.PlayerController playerController)
 {
     if (playerController.stateController.GetState() == Player.State.ILL)
     {
         playerController.stateController.RemoveIllState();
     }
 }
Пример #5
0
 private void Awake()
 {
     if (characterController == null)
     {
         characterController = GameObject.FindGameObjectWithTag("Player").GetComponent <Player.PlayerController>();
     }
 }
Пример #6
0
 public void SetUp(float angle, ObjectCreator objectCreatorCache, EnemyAttackKinds enemyAttackKinds, Player.PlayerController targetPlayerController)
 {
     Angle                  = angle;
     ObjectCreator          = objectCreatorCache;
     EnemyAttackKinds       = enemyAttackKinds;
     TargetPlayerController = targetPlayerController;
     // 싱글턴 변수 만들어서 싱글턴 넣기
 }
Пример #7
0
 // Start is called before the first frame update
 void Start()
 {
     ChooseGoalPos();
     _awareRange     = kAwareRange;
     _moveSpeedBasic = URandom.Range(kSpeedBaseMin, kSpeedBaseMax);
     _slowTimer      = new Timer();
     _escapeTimer    = new Timer();
     ToMoveAround();
     if (Player == null)
     {
         Player = GameObject.FindGameObjectWithTag("Player")?.GetComponent <Player.PlayerController>();
     }
 }
Пример #8
0
 void Start()
 {
     player         = FindObjectOfType <Player.PlayerController>();
     state          = 0;
     prevState      = 0;
     health         = startHealth;
     backUpDuration = 30;
     backUpTimer    = 31;
     doOnce         = false;
     animDone       = false;
     backOff        = false;
     currentNode    = 0;
     navObjectMask  = 1 << 10;
     machine        = new LittleBuddyStateMachine(aggresionRadius, fleeDistance, timeCanChase, waitTime, restTime, coward, fearless, followDistance);
 }
Пример #9
0
        public override void Start()
        {
            base.Start();

            // Get the navigation component on the same entity as this script
            Navigation = Entity.Get <NavigationComponent>();
            // Will search for an CharacterComponent within the same entity as this script
            Character = Entity.Get <CharacterComponent>();
            Entity charEntity = Entity.Scene.Entities.FirstOrDefault(x => string.Equals(x.Name, "PlayerCharacter"));

            PlayerRef = charEntity.Get <Player.PlayerController>();

            Entity atimerE = new Entity {
                new Core.Timer()
            };

            SceneSystem.SceneInstance.RootScene.Entities.Add(atimerE);
            AttackTimer = atimerE.Get <Core.Timer>();
            // Get the navigation component on the same entity as this script
            Navigation      = Entity.Get <NavigationComponent>();
            MoveDestination = Entity.Transform.WorldMatrix.TranslationVector;
        }
Пример #10
0
        public override async Task Execute()
        {
            Trigger.ProcessCollisions = true;
            Entity atimerE = new Entity {
                new Core.Timer()
            };

            SceneSystem.SceneInstance.RootScene.Entities.Add(atimerE);
            AttackTimer = atimerE.Get <Core.Timer>();

            while (Game.IsRunning)
            {
                Collision firstCollision = await Trigger.NewCollision();

                PhysicsComponent otherCollider = Trigger == firstCollision.ColliderA ? firstCollision.ColliderB : firstCollision.ColliderA;

                Player.PlayerController isPlayer = otherCollider.Entity.Get <Player.PlayerController>();

                if (isPlayer != null)
                {
                    CollisionStarted(isPlayer);
                }
            }
        }
Пример #11
0
 void Start()
 {
     this.player = this.transform.parent.GetComponentInChildren <Player.PlayerController>();
     StartCoroutine(StartManager(this.player.PlayerId, "PieceInfo", "Piece"));
 }
Пример #12
0
        protected void CollisionStarted(Player.PlayerController player)
        {
            //Action for hitting player.

            player.HitAttempt();
        }
Пример #13
0
 void Start()
 {
     player = FindObjectOfType<Player.PlayerController>();
     state = 0;
     prevState = 0;
     health = startHealth;
     backUpDuration = 30;
     backUpTimer = 31;
     doOnce = false;
     animDone = false;
     backOff = false;
     currentNode = 0;
     navObjectMask = 1 << 10;
     machine = new LittleBuddyStateMachine(aggresionRadius, fleeDistance, timeCanChase, waitTime, restTime, coward, fearless, followDistance);
 }
Пример #14
0
        private void OnGUI()
        {
            if (!enabled)
            {
                return;
            }

            GUI.Label(new Rect(10, 10, 200, 40), "CheatCodeGUI");
            GUI.Label(new Rect(10, 50, 100, 100), "FPS: " + (int)(1.0f / Time.smoothDeltaTime));
            if (GUI.Button(new Rect(10, 100, ButtonWidth, ButtonHeight), "Get Infinte Energy"))
            {
                Transform player = LevelHandler.GetPlayer();

                if (player == null)
                {
                    Setinfo("No Player Found. Are you inside a level?");
                }
                else
                {
                    Player.PlayerController controller = player.GetComponent <Player.PlayerController>();
                    controller.EnergyAmount = Byte.MaxValue;
                    Setinfo("Gave Player Infinite Energy.");
                }
            }

            if (GUI.Button(new Rect(10, 150, ButtonWidth, ButtonHeight), "Become Invulerable"))
            {
                Transform player = LevelHandler.GetPlayer();

                if (player == null)
                {
                    Setinfo("No Player Found. Are you inside a level?");
                }
                else
                {
                    Player.PlayerController controller = player.GetComponent <Player.PlayerController>();
                    controller.IsInvincible = true;
                    Setinfo("Made Player Invincible.");
                }
            }

            if (GUI.Button(new Rect(10, 200, ButtonWidth, ButtonHeight / 2), "Jump To Next Checkpoint"))
            {
                if (LevelHandler.GetCurrentLevel() != null)
                {
                    LevelHandler.SetCurrentCheckPointIndex(LevelHandler.GetCurrentCheckPointIndex() + 1);
                    LevelHandler.Respawn();
                    Setinfo("Jumped to next Checkpoint.");
                }
                else
                {
                    Setinfo("No Level Found. Are you inside a level?");
                }
            }

            if (GUI.Button(new Rect(10, 220, ButtonWidth, ButtonHeight / 2), "Jump To Previous Checkpoint"))
            {
                if (LevelHandler.GetCurrentLevel() != null)
                {
                    LevelHandler.SetCurrentCheckPointIndex(LevelHandler.GetCurrentCheckPointIndex() - 1);
                    LevelHandler.Respawn();
                    Setinfo("Jumped to previous Checkpoint.");
                }
                else
                {
                    Setinfo("No Level Found. Are you inside a level?");
                }
            }


            if (GUI.Button(new Rect(10, 250, ButtonWidth, ButtonHeight), "Skip Level"))
            {
                try
                {
                    UnityEngine.SceneManagement.SceneManager.LoadScene(UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex + 1);
                    Setinfo("Trying to skip to next level");
                }
                catch
                {
                    Setinfo("Unable to load next Level");
                }
            }


            GUI.Label(new Rect(10, 300, ButtonWidth, ButtonHeight), "Checkpoint: " + LevelHandler.GetCurrentCheckPointIndex());
            GUI.Label(new Rect(10, 350, ButtonWidth, ButtonHeight), "GameState: " + GameState.GetState().ToString());
            if (GUI.Button(new Rect(10, 400, ButtonWidth, ButtonHeight), "Change State"))
            {
                int val = (int)GameState.GetState() + 1;
                val = val % Enum.GetNames(typeof(GameState.State)).Length;
                GameState.SetState((GameState.State)val);
            }


            //mixerVolumes
            GUI.Label(new Rect(300, 150, 100, 30), "Audio Mixer");

            GUI.Label(new Rect(300, 180, 70, 30), "Master");
            volume = GUI.VerticalSlider(new Rect(300, 200, 30, 80), volume, 20, -80);
            GUI.Label(new Rect(370, 180, 70, 30), "Steps");
            stepsVolume = GUI.VerticalSlider(new Rect(370, 200, 30, 80), stepsVolume, 20, -80);
            GUI.Label(new Rect(440, 180, 70, 30), "Player");
            playerVolume = GUI.VerticalSlider(new Rect(440, 200, 30, 80), playerVolume, 20, -80);


            GUI.Label(new Rect(300, 320, 70, 30), "Enemies");
            enemiesVolume = GUI.VerticalSlider(new Rect(300, 340, 30, 80), enemiesVolume, 20, -80);
            GUI.Label(new Rect(370, 320, 70, 30), "Ambience");
            ambienceVolume = GUI.VerticalSlider(new Rect(370, 340, 30, 80), ambienceVolume, 20, -80);
            GUI.Label(new Rect(440, 320, 70, 30), "Objects");
            objectsVolume = GUI.VerticalSlider(new Rect(440, 340, 30, 80), objectsVolume, 20, -80);


            mixer.SetFloat("Volume", volume);
            mixer.SetFloat("PlayerVolume", playerVolume);
            mixer.SetFloat("AmbienceVolume", ambienceVolume);
            mixer.SetFloat("StepsVolume", stepsVolume);
            mixer.SetFloat("ObjectsVolume", objectsVolume);
            mixer.SetFloat("EnemiesVolume", enemiesVolume);


            //Info text
            if (Time.timeSinceLevelLoad - informationStringSetTimeStamp > 2)
            {
                informationString = "";
            }
            GUI.Label(new Rect(150, 10, 200, 40), informationString);



            shouldDebug = GUI.Toggle(new Rect(350, 10, 100, 30), shouldDebug, "Show Debug?");

            //Debug Log
            if (shouldDebug)
            {
                GUIStyle logStyle = new GUIStyle(GUI.skin.label);
                logStyle.richText = true;
                GUI.Label(new Rect(600, 10, 500, 1000), myLog, logStyle);
            }
            else
            {
                string s = "Shortcuts: \n F7: QuickSave \n F8: QuickLoad \n Esc: Return to main menu \n";

                s += "Sound Listeners: \n";

                foreach (var item in SoundMechanicHandler.GetListeners())
                {
                    s += item.name + "\n";
                }
                s += "\n Energy Sources: \n";

                foreach (var item in EnergyHandler.GetEnergyObjects())
                {
                    s += item.GetTransform().name + "\n";
                }

                GUI.Label(new Rect(600, 10, 500, 1000), s);
            }
        }
Пример #15
0
        public AIBehaviour state;//States for AI
        #endregion

        private void Start()
        {
            playerController = player.GetComponent <Player.PlayerController>();
            NextState();
        }
Пример #16
0
 private void Reset()
 {
     _player = FindObjectOfType <Player.PlayerController>();
 }