public override bool IsEnable(Asderek player)
 {
     if (manager.getSelectedWeapon() == Commandments.Element.WATER.toWeapon())
     {
         return(true);
     }
     return(false);
 }
Пример #2
0
 void Start()
 {
     colors       = null;
     manager      = UIManager.GetInstance();
     gameManager  = GameManager.GetInstance();
     player       = GameObject.FindGameObjectWithTag("Player");
     playerScript = player.GetComponent <Asderek>();
     startTime    = transitionTime;
     gameLoaded   = true;
 }
    public void setPlayer(Asderek script)
    {
        player = script;


        GameObject obj = script.gameObject;

        while (obj.transform.parent != null)
        {
            obj = obj.transform.parent.gameObject;
        }
        obj.transform.parent = transform;
    }
Пример #4
0
 private void CheckDisplayOnScreen(Collider2D colisor)
 {
     if (Assets.Scripts.Utilities.HitAsderek(colisor))
     {
         if (enabled == true)
         {
             player = colisor.gameObject.GetComponentInParent <Asderek>();
             if (player.IsAvailable())
             {
                 if (IsEnable(player))
                 {
                     HandlePlayerInteraction();
                 }
             }
         }
     }
 }
Пример #5
0
    protected override void Start()
    {
        base.Start();
        editorStartPosition = transform.position;
        attackType          = 0;

        lastAttack = -globalCD;
        lastSort   = -sortCD;
        for (int i = 0; i < attacks.Length; i++)
        {
            attacks[i].lastAttack = -attacks[i].CD;

            if (attacks[i].ranged == false)
            {
                if (maxMeleeRange.x < attacks[i].range.x)
                {
                    maxMeleeRange.x = attacks[i].range.x;
                }

                if (maxMeleeRange.y < attacks[i].range.y)
                {
                    maxMeleeRange.y = attacks[i].range.y;
                }
            }
        }


        player         = UIManager.GetInstance().GetPlayer().gameObject;
        playerScript   = UIManager.GetInstance().GetPlayer();
        gameObject.tag = "Enemy";

        if (attacks.Length != 0)
        {
            distanceToKeep = attacks[0].range.x;
            foreach (Attack attack in attacks)
            {
                if (distanceToKeep > attack.range.x)
                {
                    distanceToKeep = attack.range.x;
                }
            }
        }

        rigidBody.gravityScale = 3;
    }
Пример #6
0
 protected virtual void OnTriggerEnter2D(Collider2D colisor) //attack
 {
     if (colisor.gameObject.tag == "PlayerSpriteTag" && colisor.gameObject != null)
     {
         Asderek enemy = colisor.gameObject.GetComponentInParent <Asderek>();
         foreach (Collider2D col in colliders)
         {
             if (col.isActiveAndEnabled)
             {
                 if (enemy.ColliderContains(col))
                 {
                     if (CanDealDamage())
                     {
                         OnCollisionWithPlayer();
                     }
                 }
             }
         }
     }
 }
    void Awake()
    {
        if (manager == null)
        {
            manager = this;
        }

        GlobalGreenBall = Instantiate(GreenBallObj, Vector3.zero, Quaternion.identity);

        player        = GameObject.FindGameObjectWithTag("Player").GetComponent <Asderek>();
        pause         = gameObject.GetComponentInChildren <PauseMenu>();
        hp            = gameObject.GetComponentInChildren <BarDisplay>();
        weapon        = gameObject.GetComponentInChildren <Weapons>();
        ability       = gameObject.GetComponentInChildren <Ability>();
        interaction   = gameObject.GetComponentInChildren <Interaction>();
        beastiary     = gameObject.GetComponentInChildren <Beastiary>();
        progress      = gameObject.GetComponentInChildren <Progress>();
        buttonManager = gameObject.GetComponentInChildren <ButtonManager>();
        warp          = gameObject.GetComponentInChildren <Warp>();
        start         = gameObject.GetComponentInChildren <StarMenu>();
    }
Пример #8
0
    // Use this for initialization
    void Start()
    {
        player = (GameObject.FindGameObjectWithTag("Player")).GetComponent <Asderek>();


        ultTabArea.SetParent(playTotalArea);
        ultAnimalArea.SetParent(ultTabArea);
        barsArea.SetParent(playTotalArea);
        hpBarBGArea.SetParent(barsArea);
        mpBarBGArea.SetParent(barsArea);
        hpBarArea.SetParent(hpBarBGArea);
        mpBarArea.SetParent(mpBarBGArea);

        manager = UIManager.GetInstance();
        manager.weapon.ChangeUlt(1);
        playTotalArea.AdjustToSquare();

        /***********************************/
        buffArea.SetParent(playTotalArea);
        buffLine   = new Area(0.5f, 0.25f, 1, 0.5f);
        deBuffLine = new Area(0.5f, 0.75f, 1, 0.5f);

        buffLine.SetParent(buffArea);
        deBuffLine.SetParent(buffArea);
        firstLine = new List <Area>();
        for (int i = 0; i < maxBuffsCount; i++)
        {
            firstLine.Add(new Area((float)i / (float)maxBuffsCount, 0.5f, 1.0f / (float)maxBuffsCount, 1));
            firstLine[i].SetParent(buffLine);
        }
        secondLine = new List <Area>();
        for (int i = 0; i < maxBuffsCount; i++)
        {
            secondLine.Add(new Area((float)i / (float)maxBuffsCount, 0.5f, 1.0f / (float)maxBuffsCount, 1));
            secondLine[i].SetParent(deBuffLine);
        }
        /***********************************/
    }
    protected override void HandleEdge()
    {
        if ((steps[steps.Count - 1].position.x - steps[steps.Count - 2].position.x) > 0)
        {
            player.gameObject.transform.eulerAngles = new Vector2(0, 0);
            //vira asderek pra direita
        }
        else
        {
            player.gameObject.transform.eulerAngles = new Vector2(0, 180);
        }

        player.ReceiveNotification(Asderek.Notification.Return);



        GameObject obj = player.gameObject;

        while (obj.transform.parent != transform && (obj.transform.parent != null))
        {
            obj = obj.transform.parent.gameObject;
        }
        obj.transform.parent = null;

        player = null;


        if (currentStep <= 0)
        {
            currentStep        = steps.Count - 1;
            transform.position = steps[steps.Count - 1].position;
        }
        else if (currentStep >= steps.Count)
        {
            currentStep        = 0;
            transform.position = steps[0].position;
        }
    }
Пример #10
0
    protected virtual void OnTriggerEnter2D(Collider2D colisor) //attack
    {
        if (colisor.GetComponent <Floor>() != null && colisor.gameObject != null)
        {
            ////print(("Floor");
            if (GetComponent <Rigidbody2D>() != null)
            {
                floorRotation = (int)colisor.GetComponent <Floor>().GetRotation(transform.position.x);

                GetComponent <Rigidbody2D>().velocity    = Vector2.zero;
                GetComponent <Rigidbody2D>().isKinematic = true;
            }
        }


        if (Utilities.HitAsderek(colisor))
        {
            Asderek enemy = colisor.gameObject.GetComponentInParent <Asderek>();

            float weakness = enemy.getDamageModifier(Commandments.Element.FIRE);

            enemy.ReceiveDamage(Utilities.standardVector(colisor.transform.position.x - transform.position.x), damageForce, attackDamage);
        }
    }
Пример #11
0
    protected virtual void FollowTarget(MonoBehaviour target)
    {
        float   newX;
        float   newY;
        Vector3 novaPosicao;

        Asderek playerScript = target.GetComponent <Asderek>();

        if (playerScript != null)
        {
            float state = playerScript.StateOfAnimation("dying");

            /*if (state > 0)
             * {
             *  newX = target.transform.position.x - (cameraPosition.x + screenSize.x * staticTargetPositionX) + transform.position.x;
             *  newY = target.transform.position.y - (cameraPosition.y + screenSize.y * staticTargetPositionY) + transform.position.y;
             *
             *  novaPosicao = new Vector3(newX, newY, transform.position.z) - auxVector;
             *  transform.position = Vector3.Lerp(transform.position, novaPosicao, Mathf.Min((state),1));
             *  return;
             * }*/

            state = playerScript.StateOfAnimation("sitting_neutral");
            if (state > 0)
            {
                newX = target.transform.position.x - (cameraPosition.x + screenSize.x * staticTargetPositionX) + transform.position.x;
                newY = target.transform.position.y - (cameraPosition.y + screenSize.y * staticTargetPositionY) + transform.position.y;

                novaPosicao        = new Vector3(newX, newY, transform.position.z) - auxVector;
                transform.position = Vector3.Lerp(transform.position, novaPosicao, Mathf.Min(2 * state, 1));
                return;
            }

            state = playerScript.StateOfAnimation("seated");
            if (state > 0)
            {
                newX = target.transform.position.x - (cameraPosition.x + screenSize.x * staticTargetPositionX) + transform.position.x;
                newY = target.transform.position.y - (cameraPosition.y + screenSize.y * staticTargetPositionY) + transform.position.y;

                transform.position = new Vector3(newX, newY, transform.position.z) - auxVector;
                return;
            }
        }


        if (target.GetComponent <Rigidbody2D>() == null)
        {
            SetGoToLocation(target.transform.position);
            ClearTempTarget();
            return;
        }


        float desvioX = target.transform.position.x - (cameraPosition.x + screenSize.x * staticTargetPositionX);
        float desvioY = target.transform.position.y - (cameraPosition.y + screenSize.y * staticTargetPositionY);

        Vector2 cam = myCamera.orthographicSize * myCamera.rect.size;

        newX = transform.position.x;
        newY = transform.position.y;

        if (target.GetComponent <Rigidbody2D>().velocity.x > GameManager.globalZero)
        {
            allignLeft = false;
            if (target.transform.position.x > (cameraPosition.x + screenSize.x * cameraXThreashold) || allignRight) //Se eu tiver que corrigir
            {
                newX        = target.transform.position.x - (cameraPosition.x + screenSize.x * movingTargetPositionX) + transform.position.x;
                allignRight = true;
            }
        }
        else if (target.GetComponent <Rigidbody2D>().velocity.x < -GameManager.globalZero)
        {
            allignRight = false;
            if (target.transform.position.x < (cameraPosition.x + screenSize.x * (1 - cameraXThreashold)) || allignLeft)
            {
                newX       = target.transform.position.x - (cameraPosition.x + screenSize.x * (1 - movingTargetPositionX)) + transform.position.x;
                allignLeft = true;
            }
        }
        else
        {
            allignLeft = allignRight = false;
            if (transform.position.x != target.transform.position.x)
            {
                newX = target.transform.position.x - (cameraPosition.x + screenSize.x * staticTargetPositionX) + transform.position.x;
            }
        }


        if (target.GetComponent <Rigidbody2D>().velocity.y > GameManager.globalZero)
        {
            //print("velocidade ,aopr");

            /*allignDown = false;
             * if ((transform.position.y <= (target.transform.position.y - cam.y * 0.35f)) || allignUp)
             * {
             *  newY += desvioY * 0.05f;
             *  newY += target.GetComponent<Rigidbody2D>().velocity.y * 0.02f;
             *  allignUp = true;
             * }*/
            allignDown = false;
            if (target.transform.position.y > (cameraPosition.y + screenSize.y * (cameraYThreashold)) || allignUp) //Se eu tiver que corrigir
            {
                //print("posicao maior");
                newY     = target.transform.position.y - (cameraPosition.y + screenSize.y * (movingTargetPositionY)) + transform.position.y;
                allignUp = true;
            }
        }
        else if (target.GetComponent <Rigidbody2D>().velocity.y < -GameManager.globalZero)
        {
            //print("velocidade menor");

            /*allignUp = false;
             * if ((transform.position.y >= (target.transform.position.y + cam.y * 0.35f)) || allignDown)
             * {
             *
             *  newY += desvioY * 0.05f;
             *  newY += target.GetComponent<Rigidbody2D>().velocity.y * 0.02f;
             *  allignDown = true;
             * }*/
            allignUp = false;
            if (target.transform.position.y < (cameraPosition.y + screenSize.y * (1 - cameraYThreashold)) || allignDown) //Se eu tiver que corrigir
            {
                //print("posicao menor");
                newY       = target.transform.position.y - (cameraPosition.y + screenSize.y * (1 - movingTargetPositionY)) + transform.position.y;
                allignDown = true;
            }
        }
        else
        {
            allignUp = allignDown = false;
            if (transform.position.y != target.transform.position.y)
            {
                newY = target.transform.position.y - (cameraPosition.y + screenSize.y * staticTargetPositionY) + transform.position.y;
            }
        }



        novaPosicao        = new Vector3(newX, transform.position.y, transform.position.z);
        transform.position = Vector3.Lerp(transform.position, novaPosicao, velocity.x * Time.deltaTime);

        novaPosicao        = new Vector3(transform.position.x, newY, transform.position.z);
        transform.position = Vector3.Lerp(transform.position, novaPosicao, velocity.y * Time.deltaTime);
    }
Пример #12
0
 public virtual bool IsEnable(Asderek player)
 {
     return(true);
 }
Пример #13
0
 public void RegisterPlayer(Asderek player)
 {
     this.player = player;
 }