コード例 #1
0
    void Start()
    {
        _camera        = FindObjectOfType <Camera>();
        _camera_height = _camera.transform.position.y;
        _level_manager = FindObjectOfType <LevelManager>();
        _players       = GameObject.FindGameObjectsWithTag("Player");
        _djIcon1       = GameObject.Find("DoubleJump1");
        _djIcon2       = GameObject.Find("DoubleJump2");
        _gIcon1        = GameObject.Find("Gun1");
        _gIcon2        = GameObject.Find("Gun2");
        _rIcon1        = GameObject.Find("Reload1");
        _rIcon2        = GameObject.Find("Reload2");

        _player_components = new List <PlayerComponents>();
        _leader            = GameObject.Find("Fake Leader");
        _leader_num        = 0;
        Player1Health      = GameObject.Find("P1Health").GetComponent <Healthbars>();
        Player2Health      = GameObject.Find("P2Health").GetComponent <Healthbars>();
        Player1Icon        = GameObject.Find("ObiWanHealthBarPic").GetComponent <ImageMoving>();
        Player2Icon        = GameObject.Find("AnakinHealthBarPic").GetComponent <ImageMoving>();

        //the point of player_components is we don't want to be calling GetComponent every Update cycle
        //apparently it can make the game laggy, so we want to "stash" those components
        int i = -1;

        foreach (GameObject player in _players)
        {
            _player_components.Add(new PlayerComponents(player, GetPlayerNumber(player), MaxHealth));
            player.transform.position = new Vector3(i, 4, 0);
            i++;
        }
        _level_manager.UpdateCurrentLevel(0);
        _respawn_points.AddRange(_level_manager.GetRespawnPoints());

        _djIcon1.SetActive(true);
        _djIcon2.SetActive(true);
        _gIcon1.SetActive(false);
        _gIcon2.SetActive(false);
        _rIcon1.SetActive(false);
        _rIcon2.SetActive(false);
    }
コード例 #2
0
    //Called only when a quiz begins. Loads a question AND sets health/attack.
    public void LoadMonster()
    {
        if (!healthBar)
        {
            healthBar = FindObjectOfType <Healthbars>();
        }

        sprite   = Instantiate(MonsterPrefab, monsterSpot.transform);
        Animator = sprite.GetComponent <Animator>();


        startingPosition = sprite.transform.localPosition;
        startingRotation = sprite.transform.localRotation;

        MakeQuestion();

        health = 6;
        attack = 1;

        healthBar.setMaxHealth(health, false);

        healthBar.wait = false;
    }
コード例 #3
0
ファイル: WispAI.cs プロジェクト: Chirimorin/Wizards
    // Update is called once per frame
    void Update()
    {
        player = GameObject.Find ("NecroFT(Clone)");

        try{
            absDeltaDistanceX = Mathf.Abs(transform.position.x - player.transform.position.x);
            bars = player.GetComponent ("Healthbars") as Healthbars;
        }catch(UnityException e){
            Debug.Log (e);
        }

        if (absDeltaDistanceX > 7f && !recoverState) {
            MoveIdleState ();
        } else if (absDeltaDistanceX < 7f && absDeltaDistanceX > 3f && !recoverState) {
            StartCoroutine("ChasingNumerator");
        } else if(recoverState){
            RecoverState();
        }else{
            StartCoroutine("DiveNumerator");
            StopCoroutine ("ChasingNumerator");
        }

        if(recoverState){
            Debug.Log (rigidbody2D.velocity);
        }
        //Debug.Log (recoverTimer);
    }
コード例 #4
0
 // Use this for initialization
 void Start()
 {
     bar = FindObjectOfType <Healthbars>();
 }
コード例 #5
0
ファイル: WispCoAI.cs プロジェクト: Chirimorin/Wizards
    // Update is called once per frame
    void Update()
    {
        player = GameObject.FindGameObjectWithTag ("Player");

        try{
            deltaDistanceX = Mathf.Abs(transform.position.x - player.transform.position.x);
            deltaDistanceY = Mathf.Abs(transform.position.y - player.transform.position.y);
            playerHealth = player.GetComponent<Healthbars>();
        }catch(UnityException e){
                Debug.Log(e);
        }

        //
        if(deltaDistanceX < 9f && deltaDistanceX > 4f && chaseAble == true){
            idleState = false;
            diveStateTimer = 0f;
            StartCoroutine ("ChaseState");
            StopCoroutine ("DiveState");
        }else if(deltaDistanceX < 4f && diveAble == true && deltaDistanceY < 4f){
            idleState = false;
            StartCoroutine ("DiveState");
            StopCoroutine ("ChaseState");
        }

        if(fired){
            diveStateTimer += Time.deltaTime;
        }else{
            diveStateTimer = 0;
        }

        if(diveStateTimer > 0.7f){
            StopCoroutine ("DiveState");
            StartCoroutine ("BrakeState");
        }

        if(idleState){
            MoveIdleState();
        }

        if(diveStateTimer != 0){
            Debug.Log (diveStateTimer);
        }

        //Debug.Log (health);
        //Destroy instance on health = 0
        if(health <= 0){
            DestroyObject (this.gameObject);
        }
    }