예제 #1
0
 // Use this for initialization
 void Start () {
     player = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerControlls>();
     gm = GameObject.FindGameObjectWithTag("GM");
     PlayAgainButton.gameObject.SetActive(false);
     MainManuButton.gameObject.SetActive(false);
     isPause = false;
 }
예제 #2
0
    IEnumerator Respawn(PlayerControlls p)
    {
        yield return(new WaitForSeconds(3f));

        p.gameObject.SetActive(true);
        p.transform.position = p.spawnPosition;
    }
예제 #3
0
    // Start is called before the first frame update
    public override void InstantiateWeapon(PlayerControlls pc)
    {
        Gun wep = Instantiate(gameObject, new Vector3(0, 0, 0), Quaternion.identity).GetComponent <Gun>();

        wep.rb             = wep.gameObject.GetComponent <Rigidbody2D>();
        wep.player         = pc;
        wep.followSpeed    = wep.player.moveSpeed;
        wep.rotateSpeed    = 5f;
        wep.player.weapon  = this;
        wep.isAttacking    = false;
        wep.baseOffset     = .2f;
        wep.swingSpeed     = 20f;
        wep.offsetDistance = wep.baseOffset;
        wep.dpt            = 1;
        wep.tickRate       = 10;
        wep.tickTimer      = 0;
        wep.t                   = 0;
        wep.level               = 0;
        wep.range               = 0.2f;
        wep.gunSprite           = wep.GetComponentInChildren <SpriteRenderer>();
        wep.sprites[level]      = sprites[level];
        wep.damages[level]      = damages[level];
        wep.attackSpeeds[level] = attackSpeeds[level];
        wep.gunSprite.sprite    = wep.sprites[level];
        wep.dpt                 = wep.damages[level];
        wep.attackSpeed         = wep.attackSpeeds[level];
        wep.attackCooldown      = wep.attackSpeed;
    }
예제 #4
0
 private void Start()
 {
     _controls = Controller.Controls;
     _controls.Main.Interact.Enable();
     _controls.Main.DropItem.performed += DropItemOnPerformed;
     _controls.Main.DropItem.Enable();
 }
예제 #5
0
    private void OnEnable()
    {
        if (!m_focus)
        {
            return;
        }
        controlls = new PlayerControlls();
        CharacterController cCon = m_focus.GetComponent <CharacterController>();

        if (!cCon)
        {
            return;
        }
        switch (cCon.p)
        {
        case PlayerChoise.PlayerOne:
            controlls.PlayerOneControlls.Camera.performed +=
                ctx => m_cameraInput = new Vector2(-ctx.ReadValue <Vector2>().y, ctx.ReadValue <Vector2>().x);
            controlls.PlayerOneControlls.Camera.canceled +=
                ctx => m_cameraInput = Vector2.zero;
            break;

        case PlayerChoise.PlayerTwo:
            controlls.PlayerTwoControlls.Camera.performed +=
                ctx => m_cameraInput = new Vector2(ctx.ReadValue <Vector2>().y, ctx.ReadValue <Vector2>().x);
            controlls.PlayerTwoControlls.Camera.canceled +=
                ctx => m_cameraInput = Vector2.zero;
            break;

        default:
            break;
        }
        controlls.Enable();
    }
예제 #6
0
    void FixedUpdate()
    {
        tickTimer = (tickTimer - 1);
        if (tickTimer < 0)
        {
            tickTimer = tickRate;
        }
        if (rb == null)
        {
            rb = GetComponent <Rigidbody2D>();
        }
        if (player == null)
        {
            player = GameObject.FindWithTag("Player").GetComponent <PlayerControlls>();
        }
        float angle = Vector2.Angle(Vector2.right, player.mousePos);

        if (player.mousePos.y < 0)
        {
            angle = angle * -1;
        }
        angle += 180;

        rb.MoveRotation(Mathf.LerpAngle(rb.rotation, angle, Time.fixedDeltaTime * swingSpeed));

        //if (!isAttacking && t > 0) t -= (Time.fixedDeltaTime / attackSpeed) * 8;
        //if (t < 0) t = 0;
        offsetDistance = 1;//Mathf.Lerp(baseOffset, range, t);
        Vector3 offsetVec = new Vector3(player.mousePos.x, player.mousePos.y, 0).normalized *offsetDistance;

        rb.MovePosition((player.gameObject.transform.position + offsetVec) * Time.fixedDeltaTime * followSpeed * 10);
    }
예제 #7
0
 private void Awake()
 {
     Controls = new PlayerControlls();
     Controls.Main.Crouch.Enable();
     Controls.Main.Prone.Enable();
     Controls.Main.Crouch.performed += CrouchOnPerformed;
     Controls.Main.Prone.performed  += ProneOnPerformed;
 }
    private void Start()
    {
        zoomLerpFactor  = Mathf.InverseLerp(cameraMinHeight, cameraMaxHeight, cameraBaseHeight);
        playerControlls = new PlayerControlls();
        playerControlls.Enable();

        playerControlls.KeyboardMouse.Move.performed += context => movementVector = context.ReadValue <Vector2>();
    }
예제 #9
0
 public override void Pickup(PlayerControlls pc)
 {
     if (gold != null)
     {
         pc.gold += gold;
     }
     base.Pickup(pc);
 }
예제 #10
0
 private void Start()
 {
     m_segments  = new Segment[0];
     m_controlls = new PlayerControlls();
     m_controlls.PlayerOneControlls.InitiateRope.performed += ctx => InstantiateRope(m_instanciator, Target);
     m_controlls.PlayerTwoControlls.InitiateRope.performed += ctx => InstantiateRope(m_instanciator, Target);
     m_controlls.Enable();
 }
예제 #11
0
    // Start is called before the first frame update
    void Start()
    {
        playerControlls = new PlayerControlls();
        playerControlls.Enable();

        playerControlls.KeyboardMouse.Move.performed += context => movementVector = context.ReadValue <Vector2>();

        rigidbody = this.GetComponent <Rigidbody>();
    }
예제 #12
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "Player")
     {
         PlayerControlls p = other.gameObject.GetComponent <PlayerControlls>();
         p.GainXP();
         Destroy(gameObject);
     }
 }
예제 #13
0
    void OnTriggerEnter(Collider other)
    {
        PlayerControlls player = other.gameObject.GetComponent <PlayerControlls>();

        if (player != null)
        {
            this.OnUse();
            Destroy(gameObject);
        }
    }
예제 #14
0
 public override void Pickup(PlayerControlls pc)
 {
     pc.hp                 += hp;
     pc.maxHP              += hp;
     pc.moveSpeed          += ms;
     pc.weapon.dpt         += dmg;
     pc.weapon.attackSpeed += aSpeed;
     pc.weapon.range       += range;
     pc.Pickup(name);
 }
예제 #15
0
    public static void SavePlayer(PlayerControlls player)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = Application.persistentDataPath + "/player.save";
        FileStream      stream    = new FileStream(path, FileMode.Create);

        PlayerData data = new PlayerData(player);

        formatter.Serialize(stream, data);
        stream.Close();
    }
예제 #16
0
    void Start()
    {
        GameObject player = GameObject.FindGameObjectWithTag("Player");

        playerControls = player != null?player.GetComponentInChildren <PlayerControlls>() : null;

        if (playerControls)
        {
            UpdateText(playerControls.supportMouse);
        }
    }
예제 #17
0
    int lastSelected = 0; //Last selected inventory slots

    // Use this for initialization
    void Start()
    {
        if (player == null)
        {
            player = gameObject.GetComponent <PlayerControlls>();
        }
        inventoryObject.SetActive(false);

        // TODO: Might need a better arrange.
        // Especially we might want to make inventory created dynamically.
        BindToUI(inventoryObject);
    }
예제 #18
0
    IEnumerator waitForSceneLoad(int sceneNumber)
    {
        while (SceneManager.GetActiveScene().buildIndex != sceneNumber)
        {
            yield return(null);
        }

        // Do anything after proper scene has been loaded
        if (SceneManager.GetActiveScene().buildIndex == sceneNumber)
        {
            if (SceneManager.GetActiveScene().buildIndex == 1)
            {
                //Debug.Log(SceneManager.GetActiveScene().buildIndex);
                //initialize player
                pc = GameObject.FindWithTag("Player").GetComponent <PlayerControlls>();
                if (saveOnLoad)
                {
                    mh.CreateNewMap();
                    pc.seed = new int[] { mh.tl, mh.tc, mh.tr, mh.ml, mh.mc, mh.mr, mh.bl, mh.bc, mh.br };
                    SaveSystem.SavePlayer(pc);
                    cachedGold = pc.gold;
                }
                else
                {
                    PlayerData data = SaveSystem.LoadPlayer();
                    if (startingLevel)
                    {
                        data.position = new float[3] {
                            -10, -10, 0
                        }
                    }
                    ;
                    pc.LoadFromSave(data);
                    mh.SetSeed(pc.seed[0], pc.seed[1], pc.seed[2], pc.seed[3], pc.seed[4], pc.seed[5], pc.seed[6], pc.seed[7], pc.seed[8]);
                    mh.CreateMap();
                    mh.SetAStarGrids();
                    foreach (GameObject item in queuedItems)
                    {
                        item.GetComponent <Item>().Pickup(pc);
                        pc.gold = cachedGold;
                    }
                    queuedItems = new List <GameObject>();
                }
            }
            if (SceneManager.GetActiveScene().buildIndex == 2)
            {
                sash.Stock();
            }
        }
    }
}
예제 #19
0
    void Start()
    {
        Controlls = GetComponent <PlayerControlls> ();
        Tags.Add("Honor");
        Tags.Add("UpLife");
        Tags.Add("UpBullet");
        Tags.Add("UpTime");
        Tags.Add("UpGuns");
        Tags.Add("UpShield");
        EnemyTags.Add("Robot");

        Life = 10;

        Bullets = 80;
    }
예제 #20
0
    public PlayerData(PlayerControlls player)
    {
        //IF YOU UPDATE THIS, UPDATE THE LOAD FROM SAVE FUNCTION IN PLAYER
        dropsLeft    = GameObject.FindWithTag("GameController").GetComponent <GameManager>().dh.dropsLeft;
        cardsLeft    = GameObject.FindWithTag("GameController").GetComponent <GameManager>().dh.cardsLeft;
        minCardsLeft = GameObject.FindWithTag("GameController").GetComponent <GameManager>().dh.minCardsLeft;
        cardsDropped = GameObject.FindWithTag("GameController").GetComponent <GameManager>().dh.cardsDropped;
        maxHealth    = player.maxHP;
        health       = player.hp;
        gold         = player.gold;
        seed         = player.seed;

        position    = new float[3];
        position[0] = player.transform.position.x;
        position[1] = player.transform.position.y;
        position[2] = player.transform.position.z;
    }
예제 #21
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "Player")
     {
         PlayerStatus    player          = other.gameObject.GetComponent <PlayerStatus>();
         PlayerControlls playerControlls = other.gameObject.GetComponent <PlayerControlls>();
         if (player.haveKey == true)
         {
             tilePosition = this.gameObject.transform.parent.position;
             gameStatsCounter.levelsPassedCount += 1;
             creator.playerTriggerDrop           = true;
             floorDrop = true;
             creator.DropUpperFloor();
             Destroy(this.gameObject.GetComponent <Collider2D>());
         }
     }
 }
    private void Awake()
    {
        floorBackground2 = GameObject.Find("backgroundTextureOne");
        floorBackground1 = GameObject.Find("backgroundTextureTwo");

        Color tmp = floorBackground1.GetComponent <MeshRenderer> ().material.color;

        tmp.a = 0;
        floorBackground1.GetComponent <MeshRenderer> ().material.color = tmp;

        Color tmp2 = floorBackground2.GetComponent <MeshRenderer>().material.color;

        tmp2.a = 1;
        floorBackground2.GetComponent <MeshRenderer>().material.color = tmp2;

        CreateFirstFloor();
        player           = GameObject.Find("Player").GetComponent <PlayerControlls>();
        cameraController = GameObject.Find("Main Camera").GetComponent <CameraController>();
        levelCounter     = GameObject.Find("GameStatsCounter").GetComponent <GameStatsCounter>();

        audioSrc = GetComponent <AudioSource>();
    }
예제 #23
0
    int lastSelected = 0; //Last selected inventory slots

    // Use this for initialization
    void Start()
    {
        if (player == null)
        {
            player = gameObject.GetComponent <PlayerControlls>();
        }
        if (canvas == null)
        {
            canvas = gameObject.transform.GetComponentInChildren <Canvas>();
        }
        canvas.enabled = false;

        // TODO: Might need a better arrange.
        // Especially we might want to make inventory created dynamically.
        int i = 0;

        foreach (Transform child in canvas.transform)
        {
            images[i] = child.gameObject.GetComponent <UnityEngine.UI.Image>();
            i++;
        }
        images[deleteSlot].overrideSprite = deleteSlotSprite;
    }
예제 #24
0
    private void Awake()
    {
        OnValidate();
        rb        = this.GetComponent <Rigidbody>();
        controlls = new PlayerControlls();
        switch (p)
        {
        case PlayerChoise.PlayerOne:
            controlls.PlayerOneControlls.Jump.performed += ctx => m_isJumpPressed |= true;
            controlls.PlayerOneControlls.Move.performed += ctx => moveData = ctx.ReadValue <Vector2>();
            controlls.PlayerOneControlls.Move.canceled  += ctx => moveData = Vector2.zero;
            break;

        case PlayerChoise.PlayerTwo:
            controlls.PlayerTwoControlls.Jump.performed += ctx => m_isJumpPressed |= true;
            controlls.PlayerTwoControlls.Move.performed += ctx => moveData = ctx.ReadValue <Vector2>();
            controlls.PlayerTwoControlls.Move.canceled  += ctx => moveData = Vector2.zero;
            break;

        default:
            break;
        }
    }
예제 #25
0
 // Restart Level
 public void RestartLevel()
 {
     PlayerControlls.LevelRestart();
 }
예제 #26
0
 void Awake()
 {
     Instance      = this;
     ThisBody      = GetComponent <Rigidbody>();
     ThisTransform = GetComponent <Transform>();
 }
예제 #27
0
 // Use this for initialization
 void Start()
 {
     thePlayer          = FindObjectOfType <PlayerControlls>();
     lastPlayerPosition = thePlayer.transform.position;
 }
예제 #28
0
 public void Init(GameObject owner, Vector2 dir)
 {
     GetComponent <Rigidbody2D>().velocity = dir * Speed;
     this.owner = owner.GetComponent <PlayerControlls>();
 }
예제 #29
0
 public virtual void InstantiateWeapon(PlayerControlls pc)
 {
 }
예제 #30
0
 public override void Pickup(PlayerControlls pc)
 {
     pc.Pickup(name);
     base.Pickup(pc);
 }
예제 #31
0
 public void RespawnPlayer(PlayerControlls p)
 {
     StartCoroutine(Respawn(p));
 }