コード例 #1
0
    void Start()
    {
        if (Application.platform != RuntimePlatform.Android)
        {
            return;
        }

        life.text = "" + GetRemainingLife();

        if (m_playerLifeController == null)
        {
            m_playerLifeController = GameObject.Find("GameController").GetComponent <PlayerLifeController>();
        }


        needToShowTime = true;

        // Get the class SystemClock of android.
        try {
            systemClock = new AndroidJavaClass("android.os.SystemClock");
        } catch (Exception e) {
        }

        if (GetRemainingLife() >= m_playerLifeController.maxPlayerLife)
        {
            PlayerPrefs.SetInt("Remaining Player Life", m_playerLifeController.maxPlayerLife);             // Change added
            //timeText.text = "infinity";
            timeText.text  = "5";
            needToShowTime = false;
        }
    }
コード例 #2
0
    /// <summary> Get referenced objects. </summary>
    void Start()
    {
        // Equip default weapon if provided
        if (Weapons.Any())
        {
            EquipWeapon(0);
        }

        // Initialize References
        mConductor            = Conductor.GetActiveConductor();
        mCharacterController  = GetComponent <CharacterController>();
        mPlayerLifeController = GetComponent <PlayerLifeController>();
        AudioSource[] audioSources = GetComponents <AudioSource>();
        mAudioSource    = audioSources[0];
        mHitAudioSource = audioSources[1];

        // Disable Toggles turned off by default
        mDisableMovement = false;
        mDisableWeapons  = false;

        if (Weapon.OnSuccessfulHit?.GetInvocationList().Length != 0 ||
            Weapon.OnUnsuccessfulHit?.GetInvocationList().Length != 0)
        {
            Weapon.OnSuccessfulHit   = null;
            Weapon.OnUnsuccessfulHit = null;
        }

        // Setup weapon/score update delegates
        Weapon.OnSuccessfulHit   += IncrementHitStreak;
        Weapon.OnSuccessfulHit   += IncrementScore;
        Weapon.OnSuccessfulHit   += ComputeMultiplier;
        Weapon.OnUnsuccessfulHit += ResetHitStreak;
        Weapon.OnUnsuccessfulHit += ComputeMultiplier;
    }
コード例 #3
0
ファイル: PlayerLifeController.cs プロジェクト: jack3311/Synk
 // Update is called once per frame
 void Update()
 {
     if (PlayerLifeController.IsDead())
     {
         // restart level
         StartCoroutine(LoadLevelAfterDelay(2f));
     }
 }
コード例 #4
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "Player")
     {
         PlayerLifeController.ResetLives();
         SceneManager.LoadScene(TargetSceneName);
     }
 }
コード例 #5
0
ファイル: FollowShipScript.cs プロジェクト: jack3311/Synk
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.CompareTag("Player"))
     {
         Rigidbody2D playerRigidBody = other.GetComponent <Rigidbody2D>();
         while (!PlayerLifeController.RemoveLife())
         {
         }
     }
 }
コード例 #6
0
 public void PlayerEnter(Model model)
 {
     if (!canUse)
     {
         return;
     }
     OnUsing(true);
     _actualUser     = model;
     _lifeController = model.lifeControl;
     StartCoroutine(Heal());
 }
コード例 #7
0
    // Update is called once per frame
    void Update()
    {
        //GetComponent<Text>().text = "Lives : " + PlayerLifeController.GetLives().ToString();
        transform.GetChild(0).GetComponent <Image>().enabled = false;
        transform.GetChild(1).GetComponent <Image>().enabled = false;
        transform.GetChild(2).GetComponent <Image>().enabled = false;

        if (PlayerLifeController.GetLives() > 0)
        {
            transform.GetChild(PlayerLifeController.GetLives() - 1).GetComponent <Image>().enabled = true;
        }
    }
コード例 #8
0
    void OnTriggerEnter2D(Collider2D coll)
    {
        if (coll.CompareTag("Player"))
        {
            Rigidbody2D playerRigidBody = coll.GetComponent <Rigidbody2D>();
            // lose a life

            if (!PlayerLifeController.RemoveLife())
            {
                playerRigidBody.AddForce(new Vector2(0, explosionForce));
            }
        }
    }
コード例 #9
0
    private void Awake()
    {
        controller    = new PlayerController(this);
        cameraControl = GetComponent <CameraController>();

        view              = GetComponent <View>();
        moveControl       = GetComponent <MoveController>();
        lifeControl       = GetComponent <PlayerLifeController>();
        adrenalineControl = GetComponent <PlayerAdrenalinController>();
        pointsControl     = GetComponent <PlayerPointsController>();
        shootControl      = GetComponent <PlayerShootController>();
        audioControl      = GetComponent <PlayerAudioController>();
        strategyControl   = GetComponent <PlayerStrategyController>();
    }
コード例 #10
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.CompareTag("Player"))
     {
         Rigidbody2D playerRigidBody = other.GetComponent <Rigidbody2D>();
         if (PlayerLifeController.RemoveLife())
         {
             // Might change this with death animation (in remove life function)
             foreach (GameObject go in explosionObjects)
             {
                 Instantiate(go, other.transform.position, Quaternion.identity);
             }
         }
         playerRigidBody.AddForce(new Vector2(0, -knockbackForce));
     }
 }
コード例 #11
0
    public void Awake()
    {
        Transform UITrans = GameObject.FindGameObjectWithTag("UI").transform;

        loopSlider   = UITrans.Find("LoopSlider").GetComponent <Slider>();
        chargeSlider = UITrans.Find("BreakMeter").GetComponent <Slider>();
        shiftButton  = UITrans.Find("ButtonShift");
        loopSlider.gameObject.SetActive(this.isActiveAndEnabled);
        chargeSlider.gameObject.SetActive(this.isActiveAndEnabled);
        shiftButton.gameObject.SetActive(this.isActiveAndEnabled);

        spriteRenderer  = GetComponent <SpriteRenderer>();
        animator        = GetComponent <Animator>();
        loop            = GameObject.FindGameObjectWithTag("GameController").GetComponent <LoopController>();
        breakMeter      = GameObject.FindGameObjectWithTag("UI").transform.Find("BreakMeter").GetComponent <Slider>();
        cam             = GameObject.FindGameObjectWithTag("MainCamera").transform.parent.GetComponent <CameraBehavior>();
        musicController = loop.GetComponent <MusicController>();
        soundController = loop.GetComponent <SoundController>();
        camShake        = cam.transform.Find("Main Camera").GetComponent <CamShake>();
        plc             = GetComponent <PlayerLifeController>();
    }
コード例 #12
0
    void OnTriggerEnter2D(Collider2D coll)
    {
        if (coll.CompareTag("Player"))
        {
            // make the player lose a life
            // send him in A direction

            if (!coll.GetComponent <ShieldController>().IsShieldActive())
            {
                Rigidbody2D playerRigidBody = coll.GetComponent <Rigidbody2D>();
                // lose a life

                if (!PlayerLifeController.RemoveLife())
                {
                    playerRigidBody.AddForce(new Vector2(0, explosionForce));
                }
            }
            Destroy(this.gameObject);
        }
        else if (coll.CompareTag("HarpoonBullet"))
        {
            Destroy(this.gameObject);
        }

        //Create explosion effect

        if (GetComponent <Renderer>().isVisible)
        {
            var explosionInstance = Instantiate(explosionPrefab, transform.position, Quaternion.identity);
            Destroy(explosionInstance, 3);

            if (UIManagerScript.soundEffectsEnabled)
            {
                var soundInstance = Instantiate(explosionSound, transform.position, Quaternion.identity);
                Destroy(soundInstance, 3);
            }

            Camera.main.GetComponent <CameraShake>().ShakeFor(0.5f);
        }
    }
コード例 #13
0
    public IEnumerator AttackMelee()
    {
        Ray rayForward = new Ray(transform.position, transform.forward);


        if (Physics.Raycast(rayForward, out hit, rangeAttack) && hit.collider.tag == "Player")
        {
            Debug.DrawRay(transform.position + new Vector3(0, 10f), transform.forward * hit.distance, Color.red);
            PlayerLifeController pHealth = hit.collider.GetComponent <PlayerLifeController>();
            yield return(new WaitForSeconds(rateoDamage));

            if (pHealth.healthPlayer == 3)
            {
                pHealth.TakeDamage(1);
            }
            yield return(new WaitForSeconds(rateoDamage));

            if (pHealth.healthPlayer == 2)
            {
                pHealth.TakeDamage(1);
            }
            yield return(new WaitForSeconds(rateoDamage));

            if (pHealth.healthPlayer == 1)
            {
                pHealth.TakeDamage(1);
            }
            yield return(new WaitForSeconds(rateoDamage));

            isPlayer = true;
        }
        else
        {
            isPlayer = false;
        }
    }
コード例 #14
0
 private void Start()
 {
     coll       = GetComponent <BoxCollider2D>();
     playerColl = GameObject.FindWithTag("Player").GetComponent <BoxCollider2D>();
     plc        = playerColl.GetComponent <PlayerLifeController>();
 }
コード例 #15
0
ファイル: PlayerMovement.cs プロジェクト: jack3311/Synk
    // Update is called once per frame
    void Update()
    {
        if (PlayerLifeController.IsDead())
        {
            return;
        }

        float dt = Time.deltaTime;

        if (Input.GetMouseButtonDown(0))
        {
            bubbleGunActive = true;
        }

        if (Input.GetMouseButtonUp(0))
        {
            bubbleGunActive = false;
        }

        bubbleGunParticlesObject.transform.position = transform.position;
        bubbleGunParticles.enableEmission           = bubbleGunActive;

        Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        if (bubbleGunActive)
        {
            Vector2 fDirection = mousePos - (myRigidbody.position);
            fDirection.Normalize();
            fDirection *= -bubbleGunForce;

            //myRigidbody.velocity = myRigidbody.velocity + fDirection * dt;

            myRigidbody.AddForce(fDirection, ForceMode2D.Force);

            bubbleGunParticlesObject.transform.LookAt(mousePos);

            //myRigidbody.velocity = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
        }

        if (mousePos.x > transform.position.x)
        {
            transform.localScale = new Vector3(Mathf.Abs(transform.localScale.x), transform.localScale.y, transform.localScale.z);

            //harpoonGunSprite.transform.localScale = new Vector3(Mathf.Abs(harpoonGunSprite.transform.localScale.x), harpoonGunSprite.transform.localScale.y, harpoonGunSprite.transform.localScale.z);

            /*HingeJoint2D harpoonHinge = harpoonGunSprite.GetComponent<HingeJoint2D>();
             * harpoonGunSprite.transform.RotateAround(new Vector3(harpoonHinge.anchor.x + transform.position.x,
             *  harpoonHinge.anchor.y + transform.position.y, 0), new Vector3(0, 0, 1), 30);*/
        }
        else
        {
            transform.localScale = new Vector3(-Mathf.Abs(transform.localScale.x), transform.localScale.y, transform.localScale.z);

            //harpoonGunSprite.transform.localScale = new Vector3(-Mathf.Abs(harpoonGunSprite.transform.localScale.x), harpoonGunSprite.transform.localScale.y, harpoonGunSprite.transform.localScale.z);
        }

        if (Input.GetKeyDown(KeyCode.A))
        {
            swimmingLeft = true;
        }
        if (Input.GetKeyDown(KeyCode.W))
        {
            swimmingUp = true;
        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            swimmingDown = true;
        }
        if (Input.GetKeyDown(KeyCode.D))
        {
            swimmingRight = true;
        }

        if (Input.GetKeyUp(KeyCode.A))
        {
            swimmingLeft = false;
        }
        if (Input.GetKeyUp(KeyCode.W))
        {
            swimmingUp = false;
        }
        if (Input.GetKeyUp(KeyCode.S))
        {
            swimmingDown = false;
        }
        if (Input.GetKeyUp(KeyCode.D))
        {
            swimmingRight = false;
        }

        if (Input.GetKeyDown(KeyCode.R))
        {
            transform.position = CheckpointController.GetLastActiveCheckpointPosition();
        }

        if (Input.GetKeyDown(KeyCode.H))
        {
            GetComponent <HarpoonController>().ActivateHarpoon();
        }

        if (swimmingLeft)
        {
            myRigidbody.AddForce(new Vector2(-swimForce, 0));
        }
        if (swimmingUp)
        {
            myRigidbody.AddForce(new Vector2(0, swimForce));
        }
        if (swimmingRight)
        {
            myRigidbody.AddForce(new Vector2(swimForce, 0));
        }
        if (swimmingDown)
        {
            myRigidbody.AddForce(new Vector2(0, -swimForce));
        }


        transform.rotation = Quaternion.AngleAxis(Mathf.Atan2(myRigidbody.velocity.y, myRigidbody.velocity.x) * Mathf.Rad2Deg - 90, new Vector3(0, 0, 1)); //Quaternion.LookRotation(myRigidbody.velocity, new Vector3(0, 1, 0));
    }