예제 #1
0
 // Update is called once per frame
 void Update()
 {
     if (player != null)
     {
         PlayerController controller = player.GetComponent <PlayerController>();
         if (controller != null && controller.isDead)
         {
             if (deadScreen != null)
             {
                 deadScreen.SetActive(true);
                 StartCoroutine(LoadScene());
             }
         }
         else
         {
             TopDownController tController = player.GetComponent <TopDownController>();
             if (tController != null && tController.isDead)
             {
                 if (deadScreen != null)
                 {
                     deadScreen.SetActive(true);
                     StartCoroutine(LoadScene2());
                 }
             }
         }
     }
 }
    void Die()
    {
        MeshRenderer[] mr = GetComponentsInChildren <MeshRenderer> ();
        if (mr.Length > 0)
        {
            foreach (var item in mr)
            {
                item.enabled = false;
            }
        }
        TopDownController tc = GetComponent <TopDownController> ();

        if (tc)
        {
            tc.enabled = false;
        }
        BodySockets bs = GetComponent <BodySockets> ();

        if (bs)
        {
            bs.transportSocket.transport.gameObject.SetActive(false);
            foreach (var item in bs.primaryWeaponSockets)
            {
                item.primaryWeapon.gameObject.SetActive(false);
            }
        }
        Collider col = GetComponent <Collider> ();

        if (col)
        {
            col.enabled = false;
        }
    }
예제 #3
0
    private IEnumerator CutsceneLogic()
    {
        TopDownController p = FindObjectOfType <PlayerController>().GetComponent <TopDownController>();

        p.FaceDirection(Vector3.down);
        while (FadeTransitionScreen.Instance.IsTransitioning)
        {
            yield return(null);
        }
        FadeTransitionScreen.Instance.SetCinematic(true);
        p.FaceDirection(Vector3.down);
        yield return(new WaitForSeconds(1.5f));

        p.GetComponent <Animator>().SetTrigger("Dive");
        yield return(MoveToPosition(p, "Position", .7f));

        p.GetComponent <Animator>().SetTrigger("Roll");
        yield return(MoveToPosition(p, "Position2", .3f));

        p.GetComponent <Animator>().SetTrigger("RollDone");
        yield return(new WaitForSeconds(1f));

        yield return(MoveToPosition(p, "Position3", .5f));

        yield return(new WaitForSeconds(1f));

        SoundManager.Instance.PlaySound(SoundManager.Sound.Music_Transition2);
        FadeTransitionScreen.Instance.Transition(() =>
        {
            SceneManager.LoadScene(p.GetComponent <PlayerController>().sceneToWarpBackTo);
        });
    }
예제 #4
0
 void Start()
 {
     controller = GetComponent <TopDownController>();
     animator   = GetComponent <Animator>();
     startPos   = transform.position;
     RandomWaitForThrow();
     player = FindObjectOfType <PlayerController>();
 }
예제 #5
0
 void Start()
 {
     controller = GetComponent <TopDownController>();
     animator   = GetComponent <Animator>();
     startPos   = transform.position;
     RandomWaitForLunge();
     player = FindObjectOfType <PlayerController>();
     damageableComponent = GetComponent <Damageable>();
 }
예제 #6
0
 // Start is called before the first frame update
 void Start()
 {
     controller = GetComponent <TopDownController>();
     rigbody    = GetComponent <Rigidbody>();
     currentTimeToBoxReorient = 0;
     gyrate = false;
     performedInteraction = false;
     holdingObj           = false;
 }
예제 #7
0
    public void start()
    {
        MGR     = GameManager.GetInstance();
        TopDown = GameObject.Find("TopDownCameraRig").GetComponent <TopDownController>();
        TopDown.start();

        mainCameraTr = Camera.main.transform;
        startPos     = TopDown.rigTr.position;
    }
예제 #8
0
 private void Awake()
 {
     Debug.Log("Created a player");
     IP = new InputHandler();
     IP.EnableControls();
     PlayerState   = StateOfPlayer.TopDown;
     FPSController = this.GetComponent <FirstPersonController>();
     TDController  = this.GetComponent <TopDownController>();
     TDController.SetRotationSpeed(RotationSpeedOfTopDownCamera);
 }
예제 #9
0
 void Start()
 {
     controller                = GetComponent <TopDownController>();
     normalSpeed               = controller.speed;
     animController            = GetComponent <Animator>();
     SceneManager.sceneLoaded += LevelLoaded;
     DisableHitboxes();
     SpawnPlayerAtWarpPoint();
     damageableComponent = GetComponent <Damageable>();
 }
예제 #10
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        TopDownController controller = collision.GetComponent <TopDownController>();

        if (controller != null)
        {
            controller.SetSpotlightRadius(60);
            ActivateSpotLight();
        }
    }
예제 #11
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Destroy(gameObject);
     }
 }
예제 #12
0
    private IEnumerator CutsceneLogic()
    {
        TopDownController p = FindObjectOfType <PlayerController>().GetComponent <TopDownController>();

        p.FaceDirection(Vector3.right);
        while (FadeTransitionScreen.Instance.IsTransitioning)
        {
            yield return(null);
        }
        FadeTransitionScreen.Instance.SetCinematic(true);
        p.FaceDirection(Vector3.right);
        yield return(new WaitForSeconds(1f));


        yield return(MoveToPosition(p, "PositionOne", 1.5f));

        yield return(MoveToPosition(p, "PositionOne (1)", 1.5f));

        yield return(new WaitForSeconds(1f));

        p.FaceDirection(Vector3.left);
        yield return(new WaitForSeconds(1f));

        yield return(MoveToPosition(p, "PositionTwo", 1f));

        yield return(new WaitForSeconds(1.5f));

        p.FaceDirection(Vector3.left);
        yield return(new WaitForSeconds(2f));

        yield return(MoveToPosition(p, "PositionThree", .3f));

        yield return(MoveToPosition(p, "PositionThree (1)", .2f));

        yield return(MoveToPosition(p, "PositionThree (2)", .2f));

        yield return(MoveToPosition(p, "PositionThree (3)", .2f));

        yield return(MoveToPosition(p, "PositionThree (4)", .3f));

        yield return(new WaitForSeconds(1f));

        yield return(DialogueManager.Instance.StartDialogueThreaded(cutsceneDialogue));

        SoundManager.Instance.PlaySound(SoundManager.Sound.Music_Transition2);
        FadeTransitionScreen.Instance.Transition(() =>
        {
            SceneManager.LoadScene(p.GetComponent <PlayerController>().sceneToWarpBackTo);
        });
    }
예제 #13
0
    private bool NearWater(TopDownController user)
    {
        var direction  = user.Direction;
        var collisions =
            Physics2D.OverlapBoxAll(
                new Vector2(user.transform.position.x, user.transform.position.y) + direction * (PickupHitboxRange / 2),
                new Vector2(PickupHitboxWidth, PickupHitboxRange), Vector2.SignedAngle(Vector2.up, direction));

        foreach (var collision in collisions)
        {
            if (collision.CompareTag("Water"))
            {
                return(true);
            }
        }
        return(false);
    }
예제 #14
0
 // Rigidbody collision detection
 private void OnTriggerEnter(Collider cc)
 {
     if (cc == null || cc.gameObject == null)
         return;
     //Debug.Log("Collision");
     //Destroy(gameObject);
     if (cc.gameObject.tag == "Player" && cc.gameObject != owner)
     {
         TopDownController controller = cc.gameObject.GetComponent<TopDownController>();
         Speaker speaker = cc.gameObject.GetComponent<Speaker>();
         if (controller)
             controller.Health -= Damage;
         if (speaker)
             speaker.health -= Damage;
         Destroy(this.transform.parent.gameObject);
     }
 }
예제 #15
0
파일: M4.cs 프로젝트: maggardJosh/LD44
    private IEnumerator MoveToPosition(TopDownController t, Vector3 pos, float time)
    {
        Vector3 diff     = pos - t.transform.position;
        Vector3 startPos = t.transform.position;
        float   count    = 0;

        while (count <= time)
        {
            t.xMove = diff.x;
            t.yMove = diff.y;
            t.UpdateAnimationOnly();
            t.transform.position = Vector3.Lerp(startPos, pos, count / time);
            count += Time.deltaTime;
            yield return(null);
        }
        t.gameObject.StopTopDownController();
        t.transform.position = pos;
    }
예제 #16
0
파일: M4.cs 프로젝트: maggardJosh/LD44
    private IEnumerator CutsceneLogic()
    {
        while (FadeTransitionScreen.Instance.IsTransitioning)
        {
            yield return(null);
        }
        FadeTransitionScreen.Instance.SetCinematic(true);
        yield return(new WaitForSeconds(3f));

        GameObject fargoth = GameObject.Find("Fargoth");

        TopDownController p = FindObjectOfType <PlayerController>().GetComponent <TopDownController>();

        yield return(MoveToPosition(p, GameObject.Find("CinemaStartPos").transform.position, 1.5f));

        p.FacePosition(fargoth.transform.position);
        yield return(new WaitForSeconds(1f));

        yield return(MoveToPosition(fargoth.GetComponent <TopDownController>(), p.transform.position + Vector3.left * 4f, 1f));

        yield return(new WaitForSeconds(.5f));

        yield return(MoveToPosition(fargoth.GetComponent <TopDownController>(), p.transform.position + Vector3.left * 2f, 3f));

        yield return(new WaitForSeconds(1f));

        yield return(DialogueManager.Instance.StartDialogueThreaded(cutsceneDialogue));

        yield return(MoveToPosition(fargoth.GetComponent <TopDownController>(), p.transform.position + Vector3.left * 2f + Vector3.up * 20f, 1f));

        if (partSyst != null)
        {
            partSyst.Stop();
        }
        yield return(new WaitForSeconds(3f));

        SoundManager.Instance.PlaySound(SoundManager.Sound.Music_Transition2);
        FadeTransitionScreen.Instance.Transition(() =>
        {
            SceneManager.LoadScene(p.GetComponent <PlayerController>().sceneToWarpBackTo);
        });
    }
예제 #17
0
파일: M1.cs 프로젝트: maggardJosh/LD44
    private IEnumerator CutsceneLogic()
    {
        TopDownController p = FindObjectOfType <PlayerController>().GetComponent <TopDownController>();

        p.FaceDirection(Vector3.down);
        while (FadeTransitionScreen.Instance.IsTransitioning)
        {
            yield return(null);
        }
        FadeTransitionScreen.Instance.SetCinematic(true);
        p.FaceDirection(Vector3.down);
        p.GetComponent <Animator>().SetFloat("whipY", -1);
        p.GetComponent <Animator>().SetTrigger("Whip");
        p.GetComponent <Animator>().SetTrigger("WhipHoldDone");
        yield return(new WaitForSeconds(1f));

        StartCoroutine(MoveToPosition(GameObject.Find("ThrowEnemy").GetComponent <TopDownController>(), Vector3.down, .3f, true));
        p.FaceDirection(Vector3.left);
        p.GetComponent <Animator>().SetFloat("whipY", 0);
        p.GetComponent <Animator>().SetFloat("whipX", -1);
        p.GetComponent <Animator>().SetTrigger("Whip");
        p.GetComponent <Animator>().SetTrigger("WhipHoldDone");
        StartCoroutine(MoveToPosition(GameObject.Find("ThrowEnemy (1)").GetComponent <TopDownController>(), Vector3.left, .3f, true));
        yield return(new WaitForSeconds(1.5f));

        p.FaceDirection(Vector3.right);
        p.GetComponent <Animator>().SetFloat("whipX", -1);
        p.GetComponent <Animator>().SetTrigger("Whip");
        p.GetComponent <Animator>().SetTrigger("WhipHoldDone");
        StartCoroutine(MoveToPosition(GameObject.Find("ThrowEnemy (2)").GetComponent <TopDownController>(), Vector3.right, .3f, true));
        yield return(new WaitForSeconds(1f));

        yield return(new WaitForSeconds(1f));

        SoundManager.Instance.PlaySound(SoundManager.Sound.Music_Transition2);
        FadeTransitionScreen.Instance.Transition(() =>
        {
            SceneManager.LoadScene(p.GetComponent <PlayerController>().sceneToWarpBackTo);
        });
    }
예제 #18
0
 private void Start()
 {
     controller = GetComponent <TopDownController>();
 }
예제 #19
0
 void Start()
 {
     m_PlayerTopDown = GetComponent <TopDownController>();
     m_PlayerWeapons = GetComponent <WeaponController>();
 }
예제 #20
0
파일: M1.cs 프로젝트: maggardJosh/LD44
 private IEnumerator MoveToPosition(TopDownController t, string posName, float time)
 {
     yield return(MoveToPosition(t, GameObject.Find(posName).transform.position, time));
 }
예제 #21
0
 // Use this for initialization
 private void Start()
 {
     _player     = GameObject.FindGameObjectWithTag("Player").GetComponent <Combateer>();
     _controller = GetComponent <TopDownController>();
 }
예제 #22
0
 // Start is called before the first frame update
 void Start()
 {
     m_player              = GameObject.FindGameObjectWithTag("Player").GetComponent <ActionController>();
     m_mechTopDown         = GetComponent <TopDownController>();
     m_mechTopDown.canMove = m_StartActive;
 }
예제 #23
0
 private void Start()
 {
     _controller = GetComponent <TopDownController>();
     setWeapon();
 }
예제 #24
0
 // Start is called before the first frame update
 void Start()
 {
     rb        = GetComponent <Rigidbody>();
     thePlayer = FindObjectOfType <TopDownController>();
 }