Inheritance: CollidingObject
Exemplo n.º 1
0
    void Start()
    {
        gear     = GetComponent <PlayerGear>();
        anim     = GetComponent <Animator>();
        stats    = GetComponent <StickStats>();
        movement = GetComponent <MovementController>();
        cursor   = GameObject.FindObjectOfType <CursorTag>().gameObject;
        registry = GameObject.FindObjectOfType <Registry>().GetComponent <Registry>();
        registry.damageAcceptors.AddDamageAcceptor(this);
        slevel         = GetComponent <SticknessLevel>();
        ui             = GameObject.Find("UI");
        deadStickyNote = ui.transform.Find("DeadStickyNote").gameObject;

        gpParent    = GameObject.Find("GeneralPurposeParent");
        health      = ui.transform.Find("Health").GetComponent <Text>();
        health.text = ((int)(stats.currentHitPoints)).ToString();

        originalMoveSpeed = movement.moveSpeed;
        originalJumpSpeed = movement.jumpSpeed;

        groups = new List <string>();
        groups.Add("players");
        stats.currentHitPoints   = stats.totalHitPoints;
        stats.currentArmorPoints = stats.totalArmorPoints;

        Time.timeScale = 1f;

        if (findStartPoint)
        {
            this.enabled = false;
            InvokeRepeating("WaitForStartPoint", 0.1f, 0.1f);
        }
    }
Exemplo n.º 2
0
 public override void Attach(PlayerController controller, PlayerGear gear)
 {
     _collider.enabled = false;
     PlayerController  = controller;
     PlayerGear        = gear;
     PlayerRigidbody   = controller.Rigidbody;
 }
Exemplo n.º 3
0
 public void OnTriggerEnter2D(Collider2D coll)
 {
     // go forwards, if possible
     PlayerGear player = coll.GetComponent<PlayerGear>();
     if (player) {
         SetState(2);
         this.player = player;
         //print("OnTriggerEnter2D: "+name);
     }
 }
Exemplo n.º 4
0
 public void TryOpen(PlayerGear playerGear)
 {
     if (playerGear.Buy(cost))
     {
         anim.Play("Open");
         opened = true;
         GameManager.Instance.UpdateAccessibleRooms(this);
     }
     else
     {
         Debug.Log("Not enough money to open door");
     }
 }
Exemplo n.º 5
0
    public override void Interact(GameObject playerRoot)
    {
        if (opened)
        {
            return;
        }

        PlayerGear playerGear = playerRoot.GetComponent <PlayerGear>();

        if (playerGear)
        {
            TryOpen(playerGear);
        }
        else
        {
            Debug.LogError("Can't find PlayerGear in " + playerRoot.name);
        }
    }
Exemplo n.º 6
0
    private void Update()
    {
        if (!_hasJumped)
        {
            return;
        }

        if (_detachTimer > 0)
        {
            _detachTimer -= Time.deltaTime;
            return;
        }

        if (PlayerRigidbody.velocity.y < 0)
        {
            PlayerGear.DetachLegs(this);
        }

        // Recycle powerup
    }
Exemplo n.º 7
0
    public override void Interact(GameObject playerRoot)
    {
        PlayerGear playerMoney = playerRoot.GetComponent <PlayerGear>();

        if (playerMoney)
        {
            if (playerMoney.Buy(repairCost))
            {
                repairBarricade();
            }
            else
            {
                Debug.Log("Not enough money to repair");
            }
        }
        else
        {
            Debug.LogError("Can't find PlayerGear in " + playerRoot.name);
        }
    }
Exemplo n.º 8
0
    private void Update()
    {
        sliderHealth.value = GameManager.Instance.player.stats.CurrentHealth;
        sliderArmor.value  = GameManager.Instance.player.stats.armor.GetValue();

        PlayerShooter shooter = GameManager.Instance.player.GetComponent <PlayerShooter>();

        if (shooter.CurrentWeapon)
        {
            bulletMagazineText.text = $"{shooter.CurrentWeapon.LoaderAmount}/{shooter.CurrentWeapon.BulletsAmount}";
        }
        else
        {
            bulletMagazineText.text = "";
        }

        PlayerGear playerGear = GameManager.Instance.player.GetComponent <PlayerGear>();

        moneyText.text = $"${playerGear.CurrentMoney}";
    }
Exemplo n.º 9
0
    public override void Interact(GameObject playerRoot)
    {
        PlayerShooter playerShooter = playerRoot.GetComponent <PlayerShooter>();
        PlayerGear    playerGear    = playerRoot.GetComponent <PlayerGear>();

        if (playerShooter && playerGear)
        {
            if (playerGear.Buy(weaponPrefab.data.cost))
            {
                playerShooter.PickUpWeapon(weaponPrefab);
            }
            else
            {
                Debug.Log("Not enough money to buy " + weaponPrefab.data.name);
            }
        }
        else
        {
            Debug.LogError("Can't find PlayerShooter or PlayerGear in " + playerRoot.name);
        }
    }
Exemplo n.º 10
0
    public void TakeHit(int damages)
    {
        CurrentHealth -= damages;

        if (CurrentHealth <= 0)
        {
            PlayerGear gear = GameManager.Instance.player.GetComponent <PlayerGear>();
            if (gear)
            {
                gear.AddMoney(rewardAmount);
            }

            Destroy(gameObject);
            UIManager.Instance.IncrementScore();
        }
        else if (CurrentHealth <= maxHealth.GetValue() * 0.33f)
        {
            ChangeColor(damaged33Color);
        }
        else if (CurrentHealth <= maxHealth.GetValue() * 0.66f)
        {
            ChangeColor(damaged66Color);
        }
    }
Exemplo n.º 11
0
 private void Finish()
 {
     PlayerController.ExitBoost();
     PlayerGear.DetachBody(this);
     _isBoosting = false;
 }
Exemplo n.º 12
0
 public abstract void Attach(PlayerController controller, PlayerGear gear);
Exemplo n.º 13
0
 void Awake()
 {
     pGear = GetComponent <PlayerGear>();
     pGear.SetPlayer(player);
 }
Exemplo n.º 14
0
        public SpawnPlayer(Character Character, bool isPlayerPlayer)
            : base(0x32)
        {
            SetCapacity((ushort)(59 + Character.Player.Name.Length));

            writer.Write(Character.WorldId);
            writer.Write(Character.Player.Name.ToCharArray());
            writer.Write((byte)0);

            if (isPlayerPlayer)
            {
                writer.Write((byte)((byte)0x80 | (byte)Character.Player.Class));
            }
            else
            {
                writer.Write((byte)Character.Player.Class);
            }

            //Coordinates
            writer.Write(Character.Position.X);
            writer.Write(Character.Position.Y);
            writer.Write(Character.Position.Z);

            writer.Write((short)1);

            if (Character.IsAlive)
            {
                writer.Write((byte)0);             // Alive
            }
            else
            {
                writer.Write((byte)2);             // Dead
            }

            writer.Write((short)0);
            writer.Write((byte)0);

            ///
            /// Gear
            ///
            PlayerGear gear = Character.Gear as PlayerGear;

            writer.Write(gear.Slots[1]);
            writer.Write(gear.Slots[2]);
            writer.Write(gear.Slots[3]);
            writer.Write(gear.Slots[4]);
            writer.Write(gear.Slots[5]);
            writer.Write(gear.Slots[6]);
            writer.Write(gear.Slots[7]);

            ///
            /// Look
            ///
            writer.Write((byte)Character.Player.Face);
            writer.Write((byte)Character.Player.Hair);

            for (int i = 0; i < 19; i++)
            {
                writer.Write((byte)0);
            }
        }
Exemplo n.º 15
0
 public override void Attach(PlayerController controller, PlayerGear gear)
 {
     PlayerController = controller;
     PlayerGear       = gear;
     PlayerRigidbody  = controller.Rigidbody;
 }