示例#1
0
    void Start()
    {
        shot   = this.gameObject.GetComponent <AudioSource>();
        player = GameObject.FindGameObjectWithTag("Player").GetComponent <CS_Player>();

        foreach (Transform child in GameObject.Find("ReloadRight").GetComponent <Transform>())
        {
            if (child.tag == "Reload")
            {
                rightAmountTilReload.Add(child.GetComponent <Text>());
            }
        }
        foreach (Transform child in GameObject.Find("ReloadLeft").GetComponent <Transform>())
        {
            if (child.tag == "Reload")
            {
                leftAmountTilReload.Add(child.GetComponent <Text>());
            }
        }

        rightReloadIndicator = GameObject.Find("ReloadRight");
        leftReloadIndicator  = GameObject.Find("ReloadLeft");
        rightReloadIndicator.SetActive(false);
        leftReloadIndicator.SetActive(false);
    }
示例#2
0
    void CmdHitTarget(string hittedName, int damage, bool isHost)
    {
        CS_Player playerHitted = CS_GameManager.GetPlayer(hittedName);
        CS_Bot    botHitted    = CS_GameManager.GetBot(hittedName);

        if (playerHitted != null)
        {
            playerHitted.GetComponent <CS_Player>().RpcTakeDamage(damage, m_Player.GetUsername(), m_Player.m_Color);

            if (playerHitted.GetComponent <CS_Player>().GetHealthAmount() - damage <= 0)
            {
                m_Setup.m_Canvas.KillEffect();
            }
        }

        if (botHitted != null)
        {
            botHitted.GetComponent <CS_Bot>().RpcTakeDamage(transform.name, damage, isHost);

            if (botHitted.GetComponent <CS_Bot>().GetHealthAmount() - damage <= 0)
            {
                m_Setup.m_Canvas.KillEffect();
            }
        }
    }
示例#3
0
    public void EndDragPlayer()
    {
        // dont do anything if its setting direction
        if (myDirectionObject.activeSelf == true)
        {
            return;
        }

        // hide highlight
        myCurrentPlayer.HideHighlight();

        // do raycast
        RaycastHit t_hit;
        Ray        t_ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(t_ray, out t_hit))
        {
            CS_Tile t_tile = t_hit.collider.gameObject.GetComponentInParent <CS_Tile> ();
            if (t_tile != null)
            {
                if (t_tile.GetType() == myCurrentPlayer.GetTileType())
                {
                    // show direction object
                    myDirectionObject.transform.position = myCurrentPlayer.transform.position;
                    myDirectionObject.SetActive(true);
                    return;
                }
            }
        }

        // reset current player
        myCurrentPlayer.gameObject.SetActive(false);
        myCurrentPlayer = null;
    }
示例#4
0
    public void EndDragDirection()
    {
        // do raycast
        RaycastHit t_hit;
        Ray        t_ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(t_ray, out t_hit))
        {
            Vector3 t_v2HitPos    = new Vector3(t_hit.point.x, 0, t_hit.point.z);
            Vector3 t_v2PlayerPos = new Vector3(myCurrentPlayer.transform.position.x, 0, myCurrentPlayer.transform.position.z);
            if (Vector3.Distance(t_v2HitPos, t_v2PlayerPos) > 1)
            {
                // hide highlight
                myCurrentPlayer.HideHighlight();
                // hide direction
                myDirectionObject.SetActive(false);
                // init player
                myCurrentPlayer.Init();
                myCurrentPlayer = null;
                // set slow mode back
                Time.timeScale = 1f;
                return;
            }
        }
    }
示例#5
0
 // Use this for initialization
 void Start()
 {
     m_Setup         = GetComponent <CS_PlayerSetup>();
     m_Player        = GetComponent <CS_Player>();
     m_WeaponManager = GetComponent <CS_WeaponManager>();
     m_AudioSource   = GetComponent <AudioSource>();
 }
示例#6
0
    public static void RegisterPlayer(string _netID, CS_Player _player)
    {
        string _playerID = PLAYER_ID_PREFIX + _netID;

        _player.transform.name = _playerID;

        players.Add(_playerID, _player);
    }
示例#7
0
    public override void OnStartClient()
    {
        base.OnStartClient();

        CS_Player _player = GetComponent <CS_Player>();
        string    _netId  = GetComponent <NetworkIdentity>().netId.ToString();

        CS_GameManager.RegisterPlayer(_netId, _player);
    }
示例#8
0
    private void Update_Attack()
    {
        // update attack timer
        if (myAttackTimer > 0)
        {
            myAttackTimer -= Time.fixedDeltaTime;
            return;
        }

        // if enemy is gone, remove target
        if (myTargetPlayer != null && myTargetPlayer.gameObject.activeSelf == false)
        {
            myTargetPlayer = null;
        }

        // if i dont have a target, go through enemy list to find a target
        if (myTargetPlayer == null)
        {
            List <CS_Player> t_playerList = CS_GameManager.Instance.GetPlayerList();
            foreach (CS_Player f_player in t_playerList)
            {
                if (f_player == null || f_player.gameObject.activeSelf == false ||
                    f_player.GetState() == CS_Player.State.Dead ||
                    f_player.GetState() == CS_Player.State.Arrange)
                {
                    continue;
                }
                if (Vector3.Distance(f_player.transform.position, this.transform.position) < 0.5f)
                {
                    myTargetPlayer = f_player;
                    break;
                }
            }
        }

        // if no enemy in range, dont attack
        if (myTargetPlayer == null)
        {
            if (myState != State.Dead)
            {
                myState = State.Move;
                myAnimator.SetInteger("State", 0);
            }
            return;
        }

        // play sfx
        myAudioSource_Attack.Play();

        // attack enemy
        myTargetPlayer.TakeDamage(myStatus_Attack);
        myAttackTimer += myStatus_AttackTime;
        myAnimator.SetTrigger("Attack");
        myState = State.Attack;
        myAnimator.SetInteger("State", 1);
    }
示例#9
0
    public void SetMyCurrentPlayer(int g_index)
    {
        // dont do anything if its setting direction
        if (myDirectionObject.activeSelf == true)
        {
            return;
        }

        myCurrentPlayer = myPlayerList[g_index];
    }
示例#10
0
 // Use this for initialization
 void Start()
 {
     life    = GameObject.Find("Life");
     life2   = GameObject.Find("Life2");
     life3   = GameObject.Find("Life3");
     life4   = GameObject.Find("Life4");
     life5   = GameObject.Find("Life5");
     counter = GameObject.Find("LifeCounter");
     player  = GameObject.Find("Player").GetComponent <CS_Player>();
 }
示例#11
0
    void Awake()
    {
        if (instance != null && instance != this)
        {
            Destroy(this.gameObject);
        }
        else
        {
            instance = this;
        }
//		DontDestroyOnLoad(this.gameObject);
    }
示例#12
0
    // Use this for initialization
    void Start()
    {
        CS_Notify.Register(this, "StartTimer");
        pl              = GameObject.FindGameObjectWithTag("Player").GetComponent <CS_Player>();
        timeToDie       = 300f;
        timerHasStarted = false;
        timeToBlink     = false;
        csPB            = GameObject.Find("ProgressBar").GetComponent <CS_PrograssBar>();
        csGTTIP         = GameObject.Find("GTTI prompt").GetComponent <CS_GTTIPrompt>();
        foreach (Transform child in this.transform)
        {
            if (child.tag == ("Text"))
            {
                dCounter.Add(child.GetComponent <Text>());
            }
        }
        for (int i = 0; i < dCounter.Count; i++)
        {
            dCounter[i].text = "";
        }


        foreach (Transform child in this.transform)
        {
            if (child.tag == "Image")
            {
                images.Add(child);
            }
        }
        foreach (Transform child in this.transform)
        {
            if (child.tag == "Arrow")
            {
                arrows.Add(child);
            }
        }
        for (int i = 0; i < images.Count; i++)
        {
            images[i].GetComponent <Image>().enabled = false;
        }
        for (int i = 0; i < arrows.Count; i++)
        {
            arrows[i].GetComponent <Image>().enabled = false;
        }
    }
示例#13
0
    // Use this for initialization
    void Start()
    {
        m_Player = GetComponent <CS_Player>();
        GetComponent <CS_Controller>().m_OrbitCam = m_OrbitCam;
        if (!isLocalPlayer)
        {
            //DISABLE COMPONENTS
            for (int i = 0; i < componentsToDisable.Length; i++)
            {
                componentsToDisable[i].enabled = false;
            }

            //REMOTE PLAYER
            gameObject.layer = LayerMask.NameToLayer("RemotePlayer");
        }
        else
        {
            mainCamera           = Camera.main;
            AudioListener.volume = .5f;

            if (mainCamera != null)
            {
                mainCamera.gameObject.SetActive(false);
            }

            username = PlayerPrefs.GetString("Username");
            m_Color  = CS_GameManager.instance.colors[Random.Range(0, CS_GameManager.instance.colors.Length)];
            //DONT DRAW
            for (int i = 0; i < dontDraw.Length; i++)
            {
                dontDraw[i].layer = LayerMask.NameToLayer("DontDraw");
            }

            m_Canvas.SetPlayer(m_Player);
            m_Player.m_Canvas = m_Canvas;
        }

        if (hasAuthority)
        {
            CmdSendUsername(username, m_Color);
        }

        m_Player.Setup();
    }
示例#14
0
    private void Start()
    {
        // init total lives
        myCurrentLife = myMaxLife;
        CS_UIManager.Instance.SetLife(myCurrentLife);

        // init all players
        foreach (GameObject f_prefab in myPlayerPrefabs)
        {
            GameObject f_object = Instantiate(f_prefab, this.transform);
            f_object.SetActive(false);
            // get player script
            CS_Player f_player = f_object.GetComponent <CS_Player> ();
            // add script to list
            myPlayerList.Add(f_player);
        }

        // init direction object
        myDirectionObject.SetActive(false);
    }
示例#15
0
 void Start()
 {
     Movement           = GameObject.FindGameObjectWithTag("Player").GetComponent <CS_Player_Movment>();
     movement           = GameObject.FindGameObjectWithTag("Player").GetComponent <movment>();
     checkIfHit         = GameObject.FindGameObjectWithTag("Player").GetComponent <CS_Player>();
     boostEffect        = GameObject.Find("Speed Particle Effect");
     stage              = this.gameObject.GetComponent <CS_Stages>();
     pickUpParticleText = GameObject.Find("Text_ParticleMaterialMaker").GetComponentInChildren <Text>();
     lossParticleText   = GameObject.Find("Text_ParticleMaterialMakerLoss").GetComponentInChildren <Text>();
     scoreCoins         = GameObject.Find("GameManager").GetComponent <CS_Gamemanager>();
     dC             = GameObject.Find("DeathCounter").GetComponent <CS_DeathCounter>();
     Cursor.visible = false;
     boostEffect.gameObject.SetActive(false);
     foreach (Transform child in GameObject.FindGameObjectWithTag("TrueCanvas").transform)
     {
         if (child.tag == "Score")
         {
             score.Add(child.GetComponent <Text>());
         }
     }
 }
示例#16
0
    void CallFireEffects(string hittedName)
    {
        CS_Player playerHitted = CS_GameManager.GetPlayer(hittedName);
        CS_Bot    botHitted    = CS_GameManager.GetBot(hittedName);

        currentWeapon.bulletSpawn.LookAt(hitPos);
        CmdOnFire(hitPos, hitNormal);     //Go to Server
        DdFireEffects(hitPos, hitNormal); // DIBRA DELAY
        m_Setup.m_OrbitCam.m_Animator.SetTrigger("Shake");

        if (!isServer && hittedName != "")
        {
            if (playerHitted.GetComponent <CS_Player>().GetHealthAmount() - currentWeapon.damage <= 0)
            {
                m_Setup.m_Canvas.KillEffect();
            }

            if (botHitted.GetComponent <CS_Bot>().GetHealthAmount() - currentWeapon.damage <= 0)
            {
                m_Setup.m_Canvas.KillEffect();
            }
        }
    }
示例#17
0
 void Start()
 {
     myPlayer    = GameObject.Find(CS_Global.NAME_PLAYER).GetComponent <CS_Player> ();
     myLoadStage = GameObject.Find(CS_Global.NAME_LOADSTAGE).GetComponent <CS_LoadStage> ();
 }
示例#18
0
    protected override void Update_Attack()
    {
        // update attack timer
        if (myAttackTimer > 0)
        {
            myAttackTimer -= Time.fixedDeltaTime;
            return;
        }

        // if enemy is gone, remove target
        if (myTargetPlayer != null && myTargetPlayer.gameObject.activeSelf == false)
        {
            myTargetPlayer = null;
        }

        // if i dont have a target, go through enemy list to find a target
        if (myTargetPlayer == null)
        {
            List <CS_Player> t_playerList = CS_GameManager.Instance.GetPlayerList();
            foreach (CS_Player f_player in t_playerList)
            {
                if (f_player == null || f_player.gameObject.activeSelf == false ||
                    f_player.GetState() == CS_Player.State.Dead ||
                    f_player.GetState() == CS_Player.State.Arrange)
                {
                    continue;
                }

                // if the player is full health, dont set it as target
                if (f_player.GetHealthPercent() >= 1)
                {
                    continue;
                }

                if (CheckInRange(f_player.transform) == true)
                {
                    myTargetPlayer = f_player;
                    break;
                }
            }
        }

        // if no enemy in range, dont attack
        if (myTargetPlayer == null)
        {
            return;
        }

        // if the player is full health, dont set it as target
        if (myTargetPlayer.GetHealthPercent() >= 1)
        {
            myTargetPlayer = null;
            return;
        }

        // if the enemy move out of the range, stop attacking this enemy
        if (CheckInRange(myTargetPlayer.transform) == false)
        {
            myTargetPlayer = null;
            return;
        }

        // play sfx
        myAudioSource_Attack.Play();

        // play effect
        myEffect.Kill();
        myEffect.transform.position = myTargetPlayer.transform.position;
        myEffect.gameObject.SetActive(true);

        // attack enemy
        myTargetPlayer.TakeDamage(myStatus_Attack * -1);
        myAttackTimer += myStatus_AttackTime;
        myAnimator.SetTrigger("Attack");
    }
示例#19
0
 void Start()
 {
     playerScore = GameObject.Find("GameManager").GetComponent <CS_Gamemanager>();
     playerLife  = GameObject.FindGameObjectWithTag("Player").GetComponent <CS_Player>();
 }
示例#20
0
 private string PlayerMsg(int key, CS_Player player) => $"|  <color=#FF8C00>{key}</color>.  <color=#FF8C00>{player.player.displayName}</color> <color=#939393>--</color> <color=#FF8C00>{player.points}</color>  |";
示例#21
0
 public void SetPlayer(CS_Player _player)
 {
     m_Player = _player;
 }
示例#22
0
 public void Occupy(CS_Player g_player)
 {
     myPlayer = g_player;
 }