Esempio n. 1
0
 public void OnRoll(NetworkMessage msg)
 {
     if (msg.conn.connectionId == battle.currentTurn && battle.rollsLeft > 0)
     {
         PlayerPawn pawn    = battle.GetCurrentPawn() as PlayerPawn;
         int[]      rolls   = new int[battle.rolls.Length];
         double[]   weights = new double[pawn.Affinities.Length];
         for (int i = 0; i < weights.Length; i++)
         {
             weights[i] = pawn.GetAffinity(i);
         }
         for (int i = 0; i < rolls.Length; i++)
         {
             if (battle.locks[i])
             {
                 rolls[i] = battle.rolls[i].GetId();
             }
             else
             {
                 rolls[i] = Element.All[REX.Weighted(weights)].GetId();
             }
             battle.rolls[i] = Element.All[rolls[i]];
         }
         battle.rollsLeft -= 1;
         NetworkServer.SendToAll(GameMsg.Roll, new GameMsg.MsgIntegerArray()
         {
             array = rolls
         });
     }
 }
Esempio n. 2
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        PlayerPawn             playerPawn = collider.GetComponent(typeof(PlayerPawn)) as PlayerPawn;
        PlayerAttackDamageLeft PL         = collider.GetComponent(typeof(PlayerAttackDamageLeft)) as PlayerAttackDamageLeft;
        PlayerAttackDamage     PR         = collider.GetComponent(typeof(PlayerAttackDamage)) as PlayerAttackDamage;

        if (playerPawn != null)
        {
            playerPawn.Damage(gameObject.transform.right);
            if (!penetrate)
            {
                if (explosive)
                {
                    GameObject clone;
                    clone = Instantiate(boom, gameObject.transform.position, gameObject.transform.rotation);
                }
                Destroy(gameObject);
            }
        }
        if (PL != null || PR != null)
        {
            if (destructable)
            {
                Destroy(gameObject);
                if (explosive)
                {
                    GameObject clone;
                    clone = Instantiate(boom, gameObject.transform.position, gameObject.transform.rotation);
                }
            }
        }
    }
Esempio n. 3
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        PlayerPawn             playerPawn = collider.GetComponent(typeof(PlayerPawn)) as PlayerPawn;
        PlayerAttackDamageLeft PL         = collider.GetComponent(typeof(PlayerAttackDamageLeft)) as PlayerAttackDamageLeft;
        PlayerAttackDamage     PR         = collider.GetComponent(typeof(PlayerAttackDamage)) as PlayerAttackDamage;

        if (playerPawn != null)
        {
            hit = true;
            if (damaging)
            {
                playerPawn.Damage(baseEnemy.gameObject.transform.right);
            }
        }
        else if (PL != null)
        {
        }
        else if (PR != null)
        {
        }
        else
        {
            bash = true;
        }
    }
Esempio n. 4
0
        internal void UpdatePlayerDebugOverlay()
        {
            PlayerPawn Player = GameInfo.PlayerCtrl.PlayerPawn;

            if (Player == null || Player.RB == null)
            {
                return;
            }

            int numberOfRows = 6;

            GUI.BeginGroup(new Rect(25, 50, DebugVarables.GROUP_WIDTH, numberOfRows * DebugVarables.LINE_HEIGHT));
            GUI.Label(new Rect(0, 0, DebugVarables.GROUP_WIDTH, DebugVarables.LINE_HEIGHT), "Player Controls");

            //sliders
            Player.RB.mass     = m_Player_Mass = DebugGui.CreateSliderRow(1, "Mass", Player_Mass, 0.1f, 10);
            Player.RB.drag     = m_Player_Drag = DebugGui.CreateSliderRow(2, "Drag", Player_Drag, 0, 10);
            Player.TurningRate = m_Player_TurningRate = DebugGui.CreateSliderRow(3, "TurningRate", Player_TurningRate, 0, 20);
            Player.MaxSpeed    = m_Player_MaxSpeed = DebugGui.CreateSliderRow(4, "MaxSpeed", Player_MaxSpeed, 0, 50);
            Player.ThrustAmt   = m_Player_ThrustAmt = DebugGui.CreateSliderRow(5, "ThrustAmt", Player_ThrustAmt, 0, 500);

            GUI.EndGroup();

//            Player.RB.mass = m_Player_Mass;
//             Player.RB.drag = m_Player_Drag;
//            Player.TurningRate = m_Player_TurningRate;
//            Player.MaxSpeed = m_Player_MaxSpeed;
//            Player.ThrustAmt = m_Player_ThrustAmt;
        }
Esempio n. 5
0
 // Start is called before the first frame update
 void Start()
 {
     // Access the Player Pawn script
     playerPawn    = GetComponent <PlayerPawn>();
     pawn          = playerPawn;
     moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
 }
Esempio n. 6
0
    private PlayerPawn CreatePawn(int connectionId)
    {
        PlayerPawn pawn = new PlayerPawn(this, Vector2.zero, connectionId);

        pawn.OnDeath += OnPawnDeath;
        return(pawn);
    }
Esempio n. 7
0
    public bool IsPlayerAlive(int sessionId)
    {
        PlayerPawn pawn = null;

        m_players.TryGetValue(sessionId, out pawn);
        return(pawn != null && pawn.IsAlive);
    }
Esempio n. 8
0
    /// <summary>
    /// Function to spawn PlayerPawn. Based on predefined Spawnpoints in the Scene
    /// </summary>
    /// <param name="playerController"></param>
    void SpawnPlayerPlawn(PlayerControllerBase playerController)
    {
        if (gameState == GameState.GameEnded)
        {
            return;
        }

        List <SpawnPoint> availableSpawnpoints = new List <SpawnPoint>();

        foreach (SpawnPoint spawnPoint in spawnPoints)
        {
            if (!spawnPoint.isOccupied)
            {
                availableSpawnpoints.Add(spawnPoint);
            }
        }

        if (availableSpawnpoints.Count == 0)
        {
            Debug.LogError("No available spawnpoint found, make sure each level has more spawnpoints than max player count");
            return;
        }

        SpawnPoint randomSpawnpoint = availableSpawnpoints[Random.Range(0, availableSpawnpoints.Count)];

        PlayerPawn spawnedPawn = randomSpawnpoint.SpawnPawn(playerPawnPrefab);

        playerController.SetPawn(spawnedPawn);
    }
Esempio n. 9
0
 // Use this for initialization
 void Start()
 {
     // initialize variables
     playerPawn = (PlayerPawn)pawn;
     rb2d       = pawn.GetComponent <Rigidbody2D>();
     sr         = pawn.GetComponent <SpriteRenderer>();
 }
Esempio n. 10
0
    //Future implementation: target is marked as target. Animation happens, and when OnTriggerEnter() intersects with the collider of target, that is when target takes damage.
    protected override void Use(Pawn user)
    {
        if (_anim)
        {
            // OH GOD PLEASE CHANGE THIS
            Vector3 vel = user.GetComponent <Rigidbody>().velocity;
            _anim.SetFloat("Speed", new Vector2(vel.x, vel.z).magnitude);
        }

        if (!(user is PlayerPawn))
        {
            return;
        }

        PlayerPawn playerUser = user as PlayerPawn;

        GameObject target = null;

        if (playerUser.Raycaster.RaycastInfo.DidHit)
        {
            target = playerUser.Raycaster.RaycastInfo.GetHitGameObjectAtRange(reach);
        }

        DoAttack(target, user);
    }
Esempio n. 11
0
    public override PlayerPawn Create(LobbyClientHandler.LobbyPlayer lobbyPlayer)
    {
        PlayerPawn player = new PlayerPawn(lobbyPlayer.charName, maxHp);

        player.SetId(lobbyPlayer.id);
        int[]   affinityCounts = new int[Element.Count];
        Spell[] spellsToLearn  = REX.Choice(DB.BuyableSpells, 4);
        for (int i = 0; i < spellsToLearn.Length; i++)
        {
            ElementDisplay[] d = spellsToLearn[i].GetElementDisplays(RollContext.Null);
            for (int j = 0; j < d.Length; j++)
            {
                affinityCounts[d[j].element.GetId()]++;
            }
        }
        foreach (Spell spell in spellsToLearn)
        {
            player.AddSpell(spell);
        }
        for (int i = 0; i < Element.Count; i++)
        {
            if (affinityCounts[i] > 0)
            {
                player.Affinities[i].AddModifier(new AttributeModifier(GetName(), AttributeModifier.Operation.AddBase, affinityCounts[i]));
            }
        }
        return(player);
    }
Esempio n. 12
0
        public void PlayerPawnDontAddWhenMissingChannelTest()
        {
            var state = new FortPlayerState()
            {
                PlayerID    = 1,
                UniqueId    = "abc-123",
                BotUniqueId = "",
                bIsABot     = false,
                TeamIndex   = 1,
                HeroType    = new ItemDefinition()
                {
                    Name = "bandolier"
                }
            };

            builder.UpdatePlayerState(1, state);

            var pawn = new PlayerPawn()
            {
                PlayerState = 100,
                Pickaxe     = new ItemDefinition()
                {
                    Name = "raiders revenge"
                }
            };

            builder.UpdatePlayerPawn(2, pawn);
            builder.Build(replay);

            Assert.Null(replay.PlayerData.First().Cosmetics.Pickaxe);
        }
Esempio n. 13
0
    protected virtual void OnCollisionEnter2D(Collision2D otherObject)
    {
        PlayerPawn player = otherObject.gameObject.GetComponent <PlayerPawn>();

        if (!arrowStoped)
        {
            if (player)
            {
                bool isPlayerDead = player.OnShot(damage);
                Logger.Log(player.ToString() + isPlayerDead, this, LogLevel.Verbose);
                if (!isPlayerDead)
                {
                    PickupArrow(player);
                }
            }
            StopArrow();
            rb.Sleep();
        }
        else
        {
            if (player)
            {
                PickupArrow(player);
            }
        }
    }
Esempio n. 14
0
    private PlayerPawn TryGetPawn(int id)
    {
        PlayerPawn pawn = null;

        m_players.TryGetValue(id, out pawn);
        return(pawn);
    }
Esempio n. 15
0
    public void ShootLaser(SimpleRay2D ray, PlayerPawn owner)
    {
        List <PlayerPawn> playersHit = CastRay(ray);

        Network.Log("Laser hits " + playersHit.Count + " players.");
        float laserPower       = owner.GetLaserDamage();
        float powerAccumulator = 0.0f;

        for (int i = 0; i < playersHit.Count; ++i)
        {
            if (playersHit[i] == owner)
            {
                continue;
            }

            powerAccumulator += playersHit[i].ReceiveDamage(laserPower);
        }

        owner.AddPower(powerAccumulator);

        ShotEvent se = new ShotEvent();

        se.m_direction       = ray.direction;
        se.m_point           = owner.Position;
        se.m_who             = owner.Id;
        se.m_reliableEventId = Network.Server.GetNewReliableEventId();
        foreach (int id in m_players.Keys)
        {
            Network.Server.Send(se, id, true);
        }
    }
Esempio n. 16
0
    // Use this for initialization
    void Start()
    {
        enemyPawn  = (AIPawn)pawn;
        playerPawn = (PlayerPawn)GetComponent <PlayerController>().pawn;

        aiTransform = enemyPawn.GetComponent <Transform>();
        target      = playerPawn.GetComponent <Transform>();
    }
Esempio n. 17
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        PlayerPawn playerPawn = collider.GetComponent(typeof(PlayerPawn)) as PlayerPawn;

        if (playerPawn != null)
        {
        }
    }
Esempio n. 18
0
    public PlayerPawn AddPlayer(int sessionId)
    {
        PlayerPawn pawn = CreatePawn(sessionId);

        m_players[sessionId] = pawn;
        Console.WriteLine("Player pawn added with id: " + sessionId);
        return(pawn);
    }
Esempio n. 19
0
    public void OnOpenVendor(NetworkMessage msg)
    {
        PlayerPawn   pawn   = msg.ReadMessage <GameMsg.MsgPawn>().pawn as PlayerPawn;
        VendorScreen screen = new VendorScreen(game, RB.DisplaySize, pawn);

        game.OpenClientHandler(new VendorClientHandler(game, pawn, screen));
        game.OpenScreen(screen);
    }
Esempio n. 20
0
 public VendorScreen(Game game, Vector2i size, PlayerPawn pawn) : base(game, size)
 {
     this.pawn   = pawn;
     buyButtons  = new VendorButton[0];
     sellButtons = new VendorButton[0];
     UpdateSell(pawn.GetKnownSpellIds());
     vendorText.SetText(vendorText.GetText() + "\n\nYou can currently know @FFFFFF" + pawn.SpellSlotCount.GetValue() + "@- spells.");
 }
Esempio n. 21
0
 public void EquipGun(GameObject weaponType)
 {
     // play the designated audioclip
     AudioSource.PlayClipAtPoint(audio, transform.position, vol);
     // Create a weapon
     if (owner.tag == "Player")
     {
         playerPawn = owner.GetComponent <PlayerPawn>();
         if (playerPawn.weaponEquipped == true)
         {
             // do nothing if the player already has a weapon
             return;
         }
         GameObject gun = Instantiate(weaponType, playerPawn.attachPoint.position, Quaternion.identity) as GameObject;
         if (gun.tag == "Rifle")
         {
             weapon = gun.GetComponent <Rifle>();
         }
         else if (gun.tag == "RocketLauncher")
         {
             weapon = gun.GetComponent <RocketLauncher>();
         }
         // Make the gun a child of the owner
         gun.transform.SetParent(playerPawn.attachPoint, false);
         gun.transform.localPosition = weaponType.transform.localPosition;
         gun.transform.localRotation = weaponType.transform.localRotation;
         // Let Player Pawn know the player is using a weapon
         playerPawn.weaponEquipped = true;
         playerPawn.gun            = gun;
         playerPawn.weapon         = weapon;
     }
     else if (owner.tag == "Enemy")
     {
         if (enemyPawn.weaponEquipped == true)
         {
             // do nothing if the enemy already has a weapon
             return;
         }
         enemyPawn = owner.GetComponent <EnemyPawn>();
         GameObject gun = Instantiate(weaponType, enemyPawn.attachPoint.position, Quaternion.identity) as GameObject;
         if (gun.tag == "Rifle")
         {
             weapon = gun.GetComponent <Rifle>();
         }
         else if (gun.tag == "RocketLauncher")
         {
             weapon = gun.GetComponent <RocketLauncher>();
         }
         // Make the gun a child of the owner
         gun.transform.SetParent(enemyPawn.attachPoint, false);
         gun.transform.localPosition = weaponType.transform.localPosition;
         gun.transform.localRotation = weaponType.transform.localRotation;
         // Let Player Pawn know the player is using a weapon
         enemyPawn.weaponEquipped = true;
         enemyPawn.gun            = gun;
         enemyPawn.weapon         = weapon;
     }
 }
Esempio n. 22
0
        public void PawnDeath()
        {
            Debug.Log("[PlayerController] Destroying PlayerGameObject");
            Destroy(PlayerGameObject);
            PlayerPawn         = null;
            m_PlayerGameObject = null;

            onPlayerDeath();
        }
Esempio n. 23
0
 // Start is called before the first frame update
 public override void Start()
 {
     base.Start(); //Calling the parent start function
     if (controller == null)
     {
         controller = this;
     }
     player = FindObjectOfType <PlayerPawn>();
 }
Esempio n. 24
0
    protected virtual void PickupArrow(PlayerPawn player)
    {
        player.GetComponent <PlayerShooting>().AddArrows(1);

        GetComponent <BoxCollider2D>().enabled  = false;
        GetComponent <SpriteRenderer>().enabled = false;
        GetComponentInChildren <LightScript>().FadeAway(fadeTime);
        Destroy(gameObject, fadeTime);
    }
Esempio n. 25
0
    public virtual void Shoot(float speed, PlayerPawn owner)
    {
        this.owner = owner;
        Physics2D.IgnoreCollision(owner.GetComponent <Collider2D>(), GetComponent <Collider2D>());
        GetComponent <Collider2D>().enabled = true;
        Vector2 direction = transform.rotation * Vector2.right;

        rb.AddForce(direction * speed);
    }
Esempio n. 26
0
 /// <summary>Stores the pawn as holding pawn</summary>
 public void SetHoldingPawn(PlayerPawn pawn)
 {
     pawnHolding      = pawn;
     boxCollider.size = colliderSize * 0.5f;
     foreach (Material mat in materials)
     {
         mat.SetColor("_EmissionColor", defaultEmissionColor);
     }
 }
Esempio n. 27
0
    public override void OnEquipped(Pawn pawn)
    {
        PlayerPawn player = pawn as PlayerPawn;

        if (player != null)
        {
            player.EndOfBattleRestoration.AddModifier(new AttributeModifier(GetName(), AttributeModifier.Operation.MultiplyTotal, 2));
        }
    }
Esempio n. 28
0
    void OnTriggerExit2D(Collider2D collider)
    {
        PlayerPawn playerPawn = collider.GetComponent(typeof(PlayerPawn)) as PlayerPawn;

        if (playerPawn != null)
        {
            sighted = false;
        }
    }
Esempio n. 29
0
    public override void OnUnequipped(Pawn pawn)
    {
        PlayerPawn player = pawn as PlayerPawn;

        if (player != null)
        {
            player.EndOfBattleRestoration.RemoveModifier(GetName());
        }
    }
 void Start()
 {
     mManagerInstance       = this.GetComponent <GameMenuManager>();
     gAreaAnimator          = this.GetComponent <GameAreaAnimator>();
     playerPawn             = playerObject.GetComponent <PlayerPawn>();
     originalPlayerPosition = playerPawn.transform.position;
     // Second value is arbitrary and decided based on game feel.
     gAreaAnimator.SetReferences(groundObject, difficultyRamp * 4);
 }
Esempio n. 31
0
	// Use this for initialization
	void Start () 
	{
		playerPawn = player.GetComponent<PlayerPawn>();
		InvokeRepeating("IncrementTimer", 0.0f, 1.0f);
	}
Esempio n. 32
0
	void Start ()
	{
		player = GM.GetComponent<GameManager>().player.GetComponent<PlayerPawn>();
	}