예제 #1
0
    protected virtual void PowerUpCollected(GameObject gameObjectCollectingPowerUp)
    {
        if (gameObjectCollectingPowerUp.tag != "Player")
        {
            return;
        }

        if (powerUpState == PowerUpState.IsCollected || powerUpState == PowerUpState.IsExpiring)
        {
            return;
        }

        powerUpState = PowerUpState.IsCollected;

        playerBrain = gameObjectCollectingPowerUp.GetComponent <PlayerBrain>();

        gameObject.transform.parent   = playerBrain.gameObject.transform;
        gameObject.transform.position = playerBrain.gameObject.transform.position;

        PowerUpEffects();
        PowerUpPayload();

        foreach (GameObject go in EventSystemListeners.main.listeners)
        {
            ExecuteEvents.Execute <IPowerUpEvents>(go, null, (x, y) => x.OnPowerUpCollected(this, playerBrain));
        }

        spriteRenderer.enabled = false;
    }
예제 #2
0
    private void OnTriggerExit2D(Collider2D col)
    {
        //NetworkBehaviour NB = col.gameObject.GetComponent<NetworkBehaviour>();
        //if (NB != null)
        //{
        //	Objects.Remove(NB);
        //}
        Objects.Remove(col.transform);
        PlayerBrain PB = col.gameObject.GetComponent <PlayerBrain>();

        if (PB != null)
        {
            Players.Remove(PB);
            if (Players.Count == 0)
            {
                OnNeighborDeActivated();
                for (int i = 0; i < Neighbors.Length; i++)
                {
                    if (Neighbors[i] != null)
                    {
                        Neighbors[i].OnNeighborDeActivated();
                    }
                }
            }
            return;
        }
        //Mob body = col.gameObject.GetComponent<Mob>();
        //if (body != null)
        //{
        //	MobExit(body);
        //}
    }
예제 #3
0
 public void OnPlayerKilled(PlayerBrain playerKilled)
 {
     if (gameMode == GameMode.Multiplayer)
     {
         if (playerKilled == player1)
         {
             player2.playerScore.value++;
             countdownTimerText.fontSize = 30;
             countdownTimerText.text     = "Player 2 wins! \nHit Bomb Key to Restart";
             print("Player 2 won.");
         }
         else if (playerKilled == player2)
         {
             player1.playerScore.value++;
             countdownTimerText.fontSize = 30;
             countdownTimerText.text     = "Player 1 wins! \nHit Bomb Key to Restart";
             print("Player 1 won");
         }
     }
     else
     {
         countdownTimerText.fontSize = 30;
         countdownTimerText.text     = "Game Over \nHit Bomb Key to Restart";
     }
     stateManager.currentGameState = GameState.GameOver;
     player1.ready = false;
     player2.ready = false;
 }
예제 #4
0
        //abuse
        public void OnJoinGame(NetworkConnection conn, JoinMessage Join)
        {
            NetPlayer NP = Instantiate(playerPrefab).GetComponent <NetPlayer>();

            NetworkServer.AddPlayerForConnection(conn, NP.gameObject);

            PlayerBrain PB = Instantiate(GamePlayer);

            NetworkServer.Spawn(PB.gameObject, conn);

            for (int i = 0; i < 25; i++)
            {
                ItemBox IB = Instantiate(ItemBox);
                NetworkServer.Spawn(IB.gameObject);
                IB.Randomize();
            }
            for (int i = 0; i < 5; i++)
            {
                PlatBrain PlB = Instantiate(PlatGuy);
                PlB.transform.position = new Vector3(300, 300, 0) * Random.insideUnitCircle;
                NetworkServer.Spawn(PlB.gameObject);
                PlB.Die();
            }

            //Players.Add(NP.netId, NP);
            //PlayerBrains.Add(NP.netId, PB);

            JoinedMessage joined = new JoinedMessage();

            //Debug.Log(NP.netId+"|"+PB.netId);
            joined.id     = NP.netId;
            joined.Player = PB.netId;
            NetworkServer.SendToAll(joined);
        }
예제 #5
0
 public void Init(PlayerBrain pb, TopDownPlayerMotor pm, PlayerProjectile pp, Transform we, UIWidget bb)
 {
     playerBrain      = pb;
     motor            = pm;
     playerProjectile = pp;
     gunEnd           = we;
     bulletBox        = bb;
 }
예제 #6
0
 public void Setting(int dmg = 0, float atkRange = 0, PlayerBrain parShooter = null, PatternAction pa = null)
 {
     parentShooter   = parShooter;
     _rb2D           = GetComponent <Rigidbody2D>();
     damage          = dmg;
     range           = atkRange;
     onPatternAction = pa;
 }
예제 #7
0
    private void Awake()
    {
        for (int i = 0; i < ANIMATOR_STATES_COUNT; i++)
        {
            _triggersState.Add((AnimatorStates)i, true);
        }

        _animator = this.gameObject.GetComponent <Animator>();
        _brain    = this.gameObject.GetComponent <PlayerBrain>();
    }
예제 #8
0
 private void Awake()
 {
     if (_playersCombat)
     {
         _playerBrain = this.GetComponent <PlayerBrain>();
     }
     else
     {
         _enemyBrain = this.GetComponent <EnemyBrain>();
     }
 }
예제 #9
0
    void IPowerUpEvents.OnPowerUpCollected(PowerUp powerUp, PlayerBrain player)
    {
        if (!powerUp.expiresImmediately)
        {
            activePowerUps.Add(powerUp);
            UpdateActivePowerUpUi();
        }

        uiText.text        = powerUp.powerUpExplanation;
        uiSubtext.text     = powerUp.powerUpQuote;
        uiTextDisplayTimer = uiTextDisplayDuration;
    }
예제 #10
0
    internal void SaveCheckPoint(params object[] parametersWrapper)
    {
        //print("guardo checkpoint");
        Transform   checkPointTransform = (Transform)parametersWrapper[0];
        PlayerBrain player = UnityEngine.Object.FindObjectOfType <PlayerBrain>();

        //CameraBehaviur camera = UnityEngine.Object.FindObjectOfType<CameraBehaviur>();
        cameraLocalEulerRot = checkPointTransform.eulerAngles; //camera.transform.localEulerAngles;
        playerPosition      = checkPointTransform.position;
        playerRotation      = checkPointTransform.rotation;
        // playerLife = player.life;
    }
예제 #11
0
 void Start()
 {
     owner          = GetComponent <Ship> ();
     player         = FindObjectOfType <PlayerBrain> ();
     lr             = GetComponent <LineRenderer> ();
     laserHitEffect = GetComponentInChildren <ParticleSystem> ();
     laserLight     = GetComponentInChildren <Light> ();
     lr.enabled     = false;
     StopLaserEffect();
     scalationAmount   = 1.25f;
     scalationInterval = 0.25f;
 }
예제 #12
0
 protected new void Awake()
 {
     base.Awake();
     if (brainType.Equals(BrainType.PLAYER))
     {
         brain = new PlayerBrain();
     }
     else
     {
         brain = new MouseAIBrain();
     }
 }
예제 #13
0
    internal void LoadCheckPoint(params object[] parametersWrapper)
    {
        PlayerBrain player         = Player.GetComponent <PlayerBrain>();
        Vector3?    playerPosition = CheckPointManager.instance.playerPosition;
        float?      playerLife     = CheckPointManager.instance.playerLife;
        Quaternion? playerRotation = CheckPointManager.instance.playerRotation;

        player.SetPosition(playerPosition != null ? (Vector3)playerPosition : player.transform.position)
        // .Setlife(playerLife != null ? (int)playerLife : player.life)
        .SetRotation(playerRotation != null ? (Quaternion)playerRotation : player.transform.rotation);

        CameraManager.instance.OnLoadCheckpoint(CheckPointManager.instance.cameraLocalEulerRot);
    }
예제 #14
0
    private void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }
        else
        {
            Destroy(this.gameObject);
        }

        IsActive = true;
    }
예제 #15
0
        public void OnJoinedGame(NetworkConnection conn, JoinedMessage Join)
        {
            //Debug.Log(NetworkIdentity.spawned.Count+"C");
            //Debug.Log(Join.id+"|"+Join.Player);
            //Debug.Log(NetworkIdentity.spawned.TryGetValue(Join.Player, out) +"PBI");
            NetworkIdentity NPI = NetworkIdentity.spawned[Join.id];
            NetworkIdentity PBI = NetworkIdentity.spawned[Join.Player];
            //Debug.Log(NetworkIdentity.spawned.TryGetValue(Join.id, out NetworkIdentity NPI) + "NPI");
            NetPlayer NP = NPI.GetComponent <NetPlayer>();

            PlayerBrain PB = PBI.GetComponent <PlayerBrain>();

            Players.Add(Join.id, NP);
            PlayerBrains.Add(Join.id, PB);
            Debug.Log("Completed");
        }
예제 #16
0
 public void Awake()
 {
     life = maxLife;
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(this.gameObject);
     }
     rb = this.GetComponent <Rigidbody>();
     _capsuleCollider = this.GetComponent <CapsuleCollider>();
     _capsuleSphere   = this.GetComponent <SphereCollider>();
     _timer           = timeToFall;
 }
예제 #17
0
        GameObject SpawnPlayerBrain(SpawnMessage msg)
        {
            PlayerBrain PB = Instantiate(GamePlayer);

            if (PB.hasAuthority)
            {
                Mob M = PB.gameObject.AddComponent <Mob>();
                M.B = PB;
            }
            else
            {
                NetMob NM = PB.gameObject.AddComponent <NetMob>();
                NM.B = PB;
            }

            return(PB.gameObject);
        }
예제 #18
0
    protected virtual void PowerUpCollected(GameObject gameObjectCollectingPowerUp)
    {
        // We only care if we've been collected by the player
        if (gameObjectCollectingPowerUp.tag != "Player")
        {
            return;
        }

        // We only care if we've not been collected before
        if (powerUpState == PowerUpState.IsCollected || powerUpState == PowerUpState.IsExpiring)
        {
            return;
        }
        powerUpState = PowerUpState.IsCollected;

        // We must have been collected by a player, store handle to player for later use
        playerBrain = gameObjectCollectingPowerUp.GetComponent <PlayerBrain> ();

        // We move the power up game object to be under the player that collect it, this isn't essential for functionality
        // presented so far, but it is neater in the gameObject hierarchy
        gameObject.transform.parent     = playerBrain.gameObject.transform;
        gameObject.transform.localScale = new Vector3(.1f, .1f, .1f);
        gameObject.transform.position   = playerBrain.gameObject.transform.position + powerUpOffset;

        // Collection effects
        PowerUpEffects();

        // Payload
        PowerUpPayload();

        // Send message to any listeners
        //foreach (GameObject go in EventSystemListeners.main.listeners)
        //{
        //    ExecuteEvents.Execute<IPowerUpEvents> (go, null, (x, y) => x.OnPowerUpCollected (this, playerBrain));
        //}

        // Now the power up visuals can go away
        //spriteRenderer.enabled = false;
    }
예제 #19
0
        public void RpcGetState(PlayerData[] playerdata)
        {
            for (int i = 0; i < playerdata.Length; i++)
            {
                PlayerData PD = playerdata[i];
                if (PD.netid == netId)
                {
                    continue;
                }
                Name  = PD.name;
                Color = PD.color;
                NetworkIdentity NPI = NetworkIdentity.spawned[PD.netid];
                NetworkIdentity PBI = NetworkIdentity.spawned[PD.brainid];

                PlayerBrain PB = PBI.GetComponent <PlayerBrain>();

                NetSystem.I.PlayerBrains.Add(PD.netid, PB);
                NetSystem.I.Players.Add(PD.netid, NPI.GetComponent <NetPlayer>());

                PB.Body.NamePlate.text = PD.name;
                PB.Body.GetComponent <SpriteRenderer>().color = PD.color;
            }
        }
예제 #20
0
 public void Start()
 {
     playerBrain = GetComponent<PlayerBrain>();
 }
예제 #21
0
 // Use this for initialization
 void Start()
 {
     Playerbrain = GameObject.Find("SUNman").GetComponent <PlayerBrain>();
     m_collider  = GetComponent <Collider>();
 }
 private void OnEnable()
 {
     brain    = (PlayerBrain)target;
     _object  = new SerializedObject(target);
     settings = _object.FindProperty("settings");
 }
예제 #23
0
 void Start()
 {
     owner  = GetComponent <Ship> ();
     player = FindObjectOfType <PlayerBrain> ();
 }
예제 #24
0
 public void EnterAttack(PlayerBrain defender)
 {
     this.defender = defender;
     myHand.ActivateCardInput(CardSelected);
 }
예제 #25
0
 private void Start()
 {
     player = GameObject.Find("PlayerBall").GetComponent <PlayerBrain>();
 }
예제 #26
0
 public override void InitializeBrain()
 {
     _brain = new PlayerBrain(this);
 }
예제 #27
0
 public void EnterAttack(PlayerBrain defender)
 {
     this.defender = defender;
     myHand.ActivateCardInput(CardSelected);
 }
예제 #28
0
 void IPowerUpEvents.OnPowerUpExpired(PowerUp powerUp, PlayerBrain player)
 {
     activePowerUps.Remove(powerUp);
     UpdateActivePowerUpUi();
 }
예제 #29
0
 public void BeginAttackPhase(PlayerBrain defender)
 {
     this.defender = defender;
 }