コード例 #1
0
ファイル: GameManager.cs プロジェクト: Fabpk90/GGJ2020
    private void InputManagerOnonPlayerJoined(PlayerInput obj)
    {
        if (playerIndex == 0)
        {
            player1Fight             = obj.GetComponent <PlayerFight>();
            player1Fight.playerIndex = playerIndex;
            player1Fight.healthBar   = healthPlayer1;

            player1        = obj.GetComponent <PlayerManager>();
            player1.wallet = wallet1;
            obj.GetComponent <PlayerFight>().robot     = robotPlayer1;
            robotPlayer1.GetComponent <Robot>().player = player1Fight;
        }
        else
        {
            player2Fight             = obj.GetComponent <PlayerFight>();
            player2Fight.playerIndex = playerIndex;
            player2Fight.healthBar   = healthPlayer2;

            player2        = obj.GetComponent <PlayerManager>();
            player2.wallet = wallet2;
            obj.GetComponent <PlayerFight>().robot     = robotPlayer2;
            robotPlayer2.GetComponent <Robot>().player = player2Fight;
        }

        obj.GetComponent <PlayerManager>().playerIndex = playerIndex;
        playerIndex++;

        animator.SetInteger(PlayerCount, playerIndex);
    }
コード例 #2
0
ファイル: Arrow.cs プロジェクト: menji40ji26/Chentu_final
 void DealDamage(Collision2D other)
 {
     if (!stop)
     {
         totalDamage = basicDamage + (rb.velocity.magnitude / 60) * basicDamage - shieldArmor;
         if (totalDamage < 0)
         {
             totalDamage = 0;
         }
         HitHorse(other);
         HitWheel(other);
         HitVehicle(other);
         HitAnimal(other);
         if (other.collider.CompareTag("Enemy"))
         {
             aifight     = other.collider.GetComponent <AIFight>();
             aifight.hp -= totalDamage;
             BleedEffect();
             SendReport(aifight);
         }
         else if (other.collider.CompareTag("Ally"))
         {
             aifight     = other.collider.GetComponent <AIFight>();
             aifight.hp -= totalDamage;
             BleedEffect();
             SendReport(aifight);
         }
         else if (other.collider.CompareTag("Player"))
         {
             playerFight     = other.collider.GetComponent <PlayerFight>();
             playerFight.hp -= totalDamage;
             BleedEffect();
         }
     }
 }
コード例 #3
0
    // Start is called before the first frame update
    void Start()
    {
        playerFight = GetComponent <PlayerFight>();

        input = GetComponent <PlayerInput>();
        input.SwitchCurrentActionMap("SelectionPart");

        input.currentActionMap["Direction"].started += OnDirection;
        input.currentActionMap["Selection"].started += OnSelection;

        input.SwitchCurrentActionMap("SelectionWallet");

        input.currentActionMap["Direction"].started += OnDirectionWallet;
        input.currentActionMap["Selection"].started += OnSelectionWallet;

        wallet.player = this;

        input.SwitchCurrentActionMap("Fight");

        input.currentActionMap["Weapon1"].started    += OnWeapon1Used;
        input.currentActionMap["Weapon2"].started    += OnWeapon2Used;
        input.currentActionMap["Direction"].started  += OnDirectionFight;
        input.currentActionMap["Direction"].canceled += OnDirectionFight;
        input.currentActionMap["Jump"].started       += OnJump;
    }
コード例 #4
0
    // Use this for initialization
    void Start()
    {
        //Components refs
        gameManager = GameManager.Singleton;
        controller  = GetComponent <Controller2D>();
        animator    = GetComponent <Animator>();
        playerFight = GetComponent <PlayerFight>();

        inputs           = gameManager.inputControler;
        cameraController = Camera.main.GetComponent <CameraController>();
        camera2D         = cameraController.GetComponent <Camera2D>();

        StartCoroutine(UpdateLastGroundedPos());
    }
コード例 #5
0
    // ----------------------------------------------------------------------- **

    // Use this for initialization
    private void Start()
    {
        hudManager  = HudManager.Singleton;
        inventoryUI = HudManager.Singleton.inventoryUI;
        inventory   = GameManager.Singleton.playerInventory;

        player      = GameManager.Singleton.Player;
        playerFight = player.GetComponent <PlayerFight>();

        canvasGroup       = GetComponent <CanvasGroup>();
        animator          = GetComponent <Animator>();
        canvasGroup.alpha = 0;

        state = EquipmentState.Close;
        InitWeelAndSlots();
        selectedSlotIndex = -1;
    }
コード例 #6
0
    void ClearTarget()
    {
        if (!aiMovement.inRange)
        {
            aimming = false;
        }

        if (playerFight)
        {
            if (gameObject.CompareTag("Enemy") & target.CompareTag("Player"))
            {
                if (playerFight.dead)
                {
                    target            = null;
                    aiMovement.target = null;
                    hasTarget         = false;
                    aiFight           = null;
                }
            }
        }
        else if (aiFight)
        {
            if (gameObject.CompareTag("Enemy") | target.CompareTag("Ally"))
            {
                if (aiFight.dead)
                {
                    target            = null;
                    aiMovement.target = null;
                    hasTarget         = false;
                    playerFight       = null;
                }
            }
            else if (gameObject.CompareTag("Ally") | target.CompareTag("Enemy"))
            {
                if (aiFight.dead)
                {
                    target            = null;
                    aiMovement.target = null;
                    hasTarget         = false;
                }
            }
        }
    }
コード例 #7
0
ファイル: PlayerFight.cs プロジェクト: Fabpk90/GGJ2020
    public void GetTheDump(List <Item> walletItems)
    {
        foreach (Item item in walletItems)
        {
            switch (item.GetItemType())
            {
            case Item.EType.Weapon:
                if (!weapon1)
                {
                    weapon1 = item as Weapon;
                    robot.GetComponent <Robot>().weapon1Sprite.sprite =
                        weapon1.GetComponent <SpriteRenderer>().sprite;
                }

                else
                {
                    weapon2 = item as Weapon;
                    robot.GetComponent <Robot>().weapon2Sprite.sprite =
                        weapon2.GetComponent <SpriteRenderer>().sprite;
                }
                break;

            case Item.EType.Armor:
                armor = item as Armor;
                break;

            case Item.EType.Boots:
                print("we don't that sorry");
                break;
            }
        }

        items.AddRange(walletItems);

        foreach (Item item in walletItems)
        {
            //useless mess
            PlayerFight fight = this;
            item.Equip(ref fight);
        }
    }
コード例 #8
0
ファイル: AIClass.cs プロジェクト: menji40ji26/Chentu_final
    void Start()
    {
        GetSprite();
        //SetItemList();
        armor          = GetComponent <Armor>();
        animator       = GetComponent <Animator>();
        thisMan        = GetComponent <AIFight>();
        thisPlayer     = GetComponent <PlayerFight>();
        aiMovement     = GetComponent <AIMovement>();
        playerMovement = GetComponent <PlayerMovements>();
        offHand.GetComponent <SpriteRenderer>().sprite   = null;
        mainHand.GetComponent <SpriteRenderer>().sprite  = null;
        bodyArmor.GetComponent <SpriteRenderer>().sprite = null;
        back.GetComponent <SpriteRenderer>().sprite      = null;
        back2.GetComponent <SpriteRenderer>().sprite     = null;
        bowLeft.GetComponent <SpriteRenderer>().sprite   = null;
        bowRight.GetComponent <SpriteRenderer>().sprite  = null;
        SetLevel();


        CheckClass();
    }
コード例 #9
0
ファイル: TestWeapon.cs プロジェクト: Fabpk90/GGJ2020
 public override void UnEquip(ref PlayerFight robot)
 {
     throw new System.NotImplementedException();
 }
コード例 #10
0
ファイル: Weapon.cs プロジェクト: menji40ji26/Chentu_final
    //DataBase
    public void CheckType()
    {
        if (GameObject.FindWithTag("Player"))
        {
            playerFight = GameObject.FindWithTag("Player").GetComponent <PlayerFight>();
        }


        isBlunt = false;
        if (tagName == "Sword")
        {
            if (type == 0 | name == "RingHeadedSword")
            {
                minDamage   = 2f;
                maxDamage   = 6f;
                attackSpeed = 1.3f;
                range       = 0.5f;
            }
            else if (type == 1 | name == "BronzeSword")
            {
                minDamage   = 3f;
                maxDamage   = 7f;
                attackSpeed = 1.5f;
                range       = 0.5f;
                type        = 1;
            }
        }

        else if (bow)
        {
            ammo = 12;
            if (type == 0)
            {
                name        = "Bow";
                minDamage   = 3f;
                maxDamage   = 8f;
                attackSpeed = 2.2f;
                range       = 10f;
                price       = 27;
            }
        }

        else if (crossbow)
        {
            ammo = 9;
            if (type == 0)
            {
                name        = "Crossbow";
                minDamage   = 7f;
                maxDamage   = 12f;
                attackSpeed = 3f;
                range       = 8f;
                price       = 39;
            }
        }

        else if (spear)
        {
            if (type == 0)
            {
                name        = "Spear";
                minDamage   = 2f;
                maxDamage   = 9f;
                attackSpeed = 2f;
                range       = 1.5f;
                price       = 18;
            }
            else if (type == 1)
            {
                name        = "ShortSpear";
                minDamage   = 1.5f;
                maxDamage   = 6f;
                attackSpeed = 1.6f;
                range       = 0.9f;
                price       = 12;
            }
            else if (type == 2)
            {
                name        = "WoodSpear";
                minDamage   = 0.5f;
                maxDamage   = 2f;
                attackSpeed = 1.4f;
                range       = 0.8f;
                price       = 3;
            }
        }


        else if (axe)
        {
            if (type == 0)
            {
                name        = "Club";
                minDamage   = 0.5f;
                maxDamage   = 1.2f;
                attackSpeed = 1.5f;
                range       = 0.4f;
                isBlunt     = true;
                price       = 1;
            }
            else if (type == 1)
            {
                name        = "Axe";
                minDamage   = 4f;
                maxDamage   = 6f;
                attackSpeed = 1.9f;
                range       = 0.4f;
            }
        }

        else if (twohand)
        {
            if (type == 0)
            {
                name        = "Shu";
                minDamage   = 4f;
                maxDamage   = 5f;
                attackSpeed = 1.8f;
                range       = 0.8f;
                isBlunt     = true;
                price       = 1;
            }
            else if (type == 1)
            {
                name        = "HengDao";
                minDamage   = 2f;
                maxDamage   = 9f;
                attackSpeed = 1.3f;
                range       = 0.6f;
                price       = 1;
            }
        }

        else
        {
            name        = "Fist";
            minDamage   = 0.1f;
            maxDamage   = 0.9f;
            attackSpeed = 1.0f;
            range       = 0.3f;
            isBlunt     = true;
            price       = 0;
        }

        SetInfo();
    }
コード例 #11
0
ファイル: PlayerMove.cs プロジェクト: Dante304/Barbarian_Demo
 void Start()
 {
     playerRigidbody = GetComponent <Rigidbody2D>();
     playerAnimation = GetComponentInChildren <PlayerAnimation>();
     playerFight     = GetComponent <PlayerFight>();
 }
コード例 #12
0
ファイル: Armor.cs プロジェクト: Fabpk90/GGJ2020
 public override void UnEquip(ref PlayerFight robot)
 {
 }
コード例 #13
0
ファイル: Weapon.cs プロジェクト: Fabpk90/GGJ2020
 public override void Equip(ref PlayerFight robot)
 {
     fighter = robot;
 }
コード例 #14
0
 public abstract void UnEquip(ref PlayerFight robot);
コード例 #15
0
    void FindTargetWithTag()
    {
        if (gameObject.CompareTag("Ally"))
        {
            allTargets = GameObject.FindGameObjectsWithTag("Enemy");
        }
        else if (gameObject.CompareTag("Enemy"))
        {
            allTargets = GameObject.FindGameObjectsWithTag("Ally");
        }

        for (int i = 0; i < allTargets.Length; i++)
        {
            distance = Vector2.Distance(allTargets[i].transform.position, transform.position);
            if (i - 1 >= 0)
            {
                lastDistance = Vector2.Distance(allTargets[i - 1].transform.position, transform.position);
                if (allTargets.Length - 1 > nearestTargetNumber)
                {
                    if (distance < lastDistance
                        & distance < Vector2.Distance(allTargets[nearestTargetNumber].transform.position, transform.position)
                        & !allTargets[i].GetComponent <AIFight>().dead)
                    {
                        nearestTarget       = allTargets[i].transform;
                        nearestTargetNumber = i;
                    }
                }
                else
                {
                    nearestTargetNumber -= 1;
                }
            }
        }
        if (allTargets.Length - 1 >= nearestTargetNumber)
        {
            nearestTarget = allTargets[nearestTargetNumber].transform;
        }

        if (allTargets.Length == 1)
        {
            nearestTarget = allTargets[0].transform;
        }
        else if (allTargets.Length == 0)
        {
            nearestTarget = null;
            hasTarget     = false;
        }

        if (gameObject.CompareTag("Enemy"))
        {
            GameObject player;
            player = null;
            player = GameObject.FindGameObjectWithTag("Player");

            if (player)
            {
                playerDistance = Vector2.Distance(player.transform.position, transform.position);
            }


            if (allTargets.Length == 1 & !player)
            {
                nearestTarget = allTargets[0].transform;
                hasTarget     = true;
            }
            else if (allTargets.Length == 0 & !player)
            {
                nearestTarget = null;
                hasTarget     = false;
            }

            if (player & nearestTarget)
            {
                if (playerDistance < Vector2.Distance(nearestTarget.transform.position, transform.position))
                {
                    nearestTarget = player.transform;
                    hasTarget     = true;
                }
            }
            else if (player)
            {
                nearestTarget = player.transform;
                hasTarget     = true;
            }
        }



        if (!movingToSpot & nearestTarget)
        {
            if (gameObject.CompareTag("Ally") & nearestTarget.CompareTag("Enemy"))
            {
                if (!nearestTarget.GetComponent <AIFight>().dead)
                {
                    target            = nearestTarget.GetComponent <Transform>();
                    aiFight           = target.GetComponent <AIFight>();
                    aiMovement.target = target;
                    hasTarget         = true;
                    playerFight       = null;
                }
            }
            else if (gameObject.CompareTag("Enemy") & nearestTarget.CompareTag("Ally"))
            {
                if (!nearestTarget.GetComponent <AIFight>().dead)
                {
                    target            = nearestTarget.GetComponent <Transform>();
                    aiFight           = target.GetComponent <AIFight>();
                    aiMovement.target = target;
                    hasTarget         = true;
                    playerFight       = null;
                }
            }
            else if (gameObject.CompareTag("Enemy") & nearestTarget.CompareTag("Player"))
            {
                if (!nearestTarget.GetComponent <PlayerFight>().dead)
                {
                    target            = nearestTarget.GetComponent <Transform>();
                    playerFight       = target.GetComponent <PlayerFight>();
                    aiMovement.target = target;
                    hasTarget         = true;
                    aiFight           = null;
                }
            }

            //Spearman targets horse first
            nearestTargetDistance = Vector2.Distance(nearestTarget.transform.position, transform.position);

            if (aiClass.useSpear)
            {
                if (nearestTargetDistance > aiClass.spear.nearestHorseDistance & aiClass.spear.horse)
                {
                    target            = aiClass.spear.target;
                    aiMovement.target = aiClass.spear.target;
                }
            }
        }
    }
コード例 #16
0
 void Start()
 {
     animator = GetComponent <Animator>();
     position = transform.position;
     fight    = GetComponent <PlayerFight>();
 }