Exemple #1
0
    public void AngelSpecial(float channelingTime)
    {
        if (!channelingSpecial)
        {
            return;
        }
        channelingSpecial = false;
        Invoke("SpecialCD", 10);
        GameManager.instance.specialCD.GetComponent <Cooldownimage>().StartCooldown(10f);
        ChannelingSphere();
        GameObject channelingBoom = Instantiate(stunRelease, gameObject.transform.position, stunRelease.transform.rotation);

        Destroy(channelingBoom, 2f);

        ac.SetBool("IsDoingSpecial", false);

        List <UnitCreepController> angelFriends = new List <UnitCreepController>();

        Collider[] hitColliders = Physics.OverlapSphere(gameObject.transform.position, 5f);

        GameObject enemyHero = null;

        foreach (Collider target in hitColliders)
        {
            GameObject obj = target.gameObject;
            Debug.Log("Osui" + obj.name);
            Healthbar bar = target.GetComponent <Healthbar>();

            if (bar != null)
            {
                if (bar.enemyType == "Hero" && bar.side != GetComponent <Healthbar>().side)
                {
                    float stunTime = channelingTime / 2;
                    bar.photonView.RPC("RpcStun", RpcTarget.All, stunTime);
                    enemyHero = bar.gameObject;
                }
                else if (bar.enemyType == "Creep" && bar.side != GetComponent <Healthbar>().side)
                {
                    float stunTime = channelingTime;
                    bar.photonView.RPC("RpcStun", RpcTarget.All, stunTime);
                }
                else if (bar.enemyType == "Creep" && bar.side == GetComponent <Healthbar>().side&& angelFriends.Count < 3)
                {
                    angelFriends.Add(bar.GetComponent <UnitCreepController>());
                }
            }
        }
        if (enemyHero != null)
        {
            foreach (UnitCreepController item in angelFriends)
            {
                item.currentTarget = enemyHero;
            }
        }
    }
Exemple #2
0
 public void Damage(float damage, Vector2 knockback, bool isSystemDamage)
 {
     if (!isSystemDamage)
     {
         if (invincible)
         {
             return;
         }
         damage *= player.PlayerDamageRate();
         damage /= GS.EnemyDefRate;
     }
     health -= damage;
     StartCoroutine(FlashCoroutine());
     Debug.Log("damage:" + damage.ToString());
     GetComponent <Rigidbody2D>().AddForce(knockback, ForceMode2D.Impulse);
     Healthbar.GetComponent <EnemyHealthbar>().Set(health / maxHealth);
 }
Exemple #3
0
    // Start is called before the first frame update
    void Start()
    {
        GS     = FindObjectOfType <GameSystem>();
        player = FindObjectOfType <Player>();
        body   = GetComponent <Rigidbody2D>();
        if (transform.Find("Stunned"))
        {
            stunnedObj = transform.Find("Stunned").gameObject;
            stunnedObj.SetActive(false);
        }
        if (transform.Find("Sprite"))
        {
            spriteObj = transform.Find("Sprite").gameObject;
        }
        if (transform.Find("Shadow"))
        {
            shadowObj = transform.Find("Shadow").gameObject;
        }
        if (transform.Find("SpawnMask"))
        {
            maskObj = transform.Find("SpawnMask").gameObject;
        }
        if (!GetComponent <Mole>() && !GetComponent <SplitedGhost>() && !GetComponent <SplitedWisp>() &&
            !fromTrunk && !isBoss)
        {
            startingStun = true;
            Stun(1F);
            StartCoroutine(SpawnEmitCoroutine());
        }

        EnemyHealthbarPrefab = Resources.Load <GameObject>("Prefabs/Enemies/EnemyHealthbar");
        Healthbar            = GameObject.Instantiate(EnemyHealthbarPrefab, Vector3.zero, Quaternion.identity);
        Healthbar.GetComponent <EnemyHealthbar>().Init(gameObject, isBoss, spawnEmitDist);
        maxHealth = health;
        enemyCnt++;
    }
Exemple #4
0
    void Start()
    {
        Curtain.Play();
        Finish = false;
        Lives  = PlayerPrefs.GetInt("PLives");
        Score  = PlayerPrefs.GetInt("PScore");
        Game   = PlayerPrefs.GetInt("CurrentGame");

        if (Score >= 20)
        {
            S1.GetComponent <SpriteRenderer>().sprite = n2;
        }
        else if (Score >= 10)
        {
            S1.GetComponent <SpriteRenderer>().sprite = n1;
        }
        else
        {
            S1.GetComponent <SpriteRenderer>().sprite = n0;
        }

        if (Score % 10 == 9)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n9;
        }
        else if (Score % 10 == 8)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n8;
        }
        else if (Score % 10 == 7)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n7;
        }
        else if (Score % 10 == 6)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n6;
        }
        else if (Score % 10 == 5)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n5;
        }
        else if (Score % 10 == 4)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n4;
        }
        else if (Score % 10 == 3)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n3;
        }
        else if (Score % 10 == 2)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n2;
        }
        else if (Score % 10 == 1)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n1;
        }
        else if (Score % 10 == 0)
        {
            S2.GetComponent <SpriteRenderer>().sprite = n0;
        }


        if (Lives >= 10)
        {
            L1.GetComponent <SpriteRenderer>().sprite = n1;
        }
        else
        {
            L1.GetComponent <SpriteRenderer>().sprite = n0;
        }

        if (Lives % 10 == 9)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n9;
        }
        else if (Lives % 10 == 8)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n8;
        }
        else if (Lives % 10 == 7)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n7;
        }
        else if (Lives % 10 == 6)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n6;
        }
        else if (Lives % 10 == 5)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n5;
        }
        else if (Lives % 10 == 4)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n4;
        }
        else if (Lives % 10 == 3)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n3;
        }
        else if (Lives % 10 == 2)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n2;
        }
        else if (Lives % 10 == 1)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n1;
        }
        else if (Lives % 10 == 0)
        {
            L2.GetComponent <SpriteRenderer>().sprite = n0;
        }

        if (Lives >= 3)
        {
            Healthbar = hp3;
        }
        else if (Lives == 2)
        {
            Healthbar = hp2;
        }
        else
        {
            Healthbar = hp1;
        }
        Healthbar.SetActive(true);
        Healthbar.GetComponent <PlayableDirector>().Play();
        timecheck = -1;
    }
Exemple #5
0
    void Update()
    {
        if (Curtain.time >= 3.4 || (timecheck == Curtain.time && timecheck != 0))
        {
            Finish = false;
            StageSetUp.SetActive(false);

            if (Score >= 20)
            {
                Self.GetComponent <GameVote>().enabled = true;
            }
            else if (Game == 0)
            {
                Self.GetComponent <GolfGameplay>().enabled = true;
            }
            else if (Game == 1)
            {
                Self.GetComponent <GamePhone>().enabled = true;
            }
            else if (Game == 2)
            {
                Self.GetComponent <GameSodaTap>().enabled = true;
            }

            else if (Game == 3)
            {
                Self.GetComponent <GameBuildWall>().enabled = true;
            }
            else if (Game == 4)
            {
                Self.GetComponent <GameGrabWoman>().enabled = true;
            }

            else if (Game == 5)
            {
                Self.GetComponent <GameSteak>().enabled = true;
            }

            else if (Game == 6)
            {
                Self.GetComponent <GameButin>().enabled = true;
            }

            else if (Game == 7)
            {
                Self.GetComponent <GameComb>().enabled = true;
            }

            else if (Game == 8)
            {
                Self.GetComponent <GameGrabWoman>().enabled = true;
            }
            else if (Game == 9)
            {
                Self.GetComponent <GameEarth>().enabled = true;
            }
            else if (Game == 10)
            {
                Self.GetComponent <GamePipe>().enabled = true;
            }
            else if (Game == 11)
            {
                Self.GetComponent <GameMoney>().enabled = true;
            }
            else if (Game == 12)
            {
                Self.GetComponent <GameHome>().enabled = true;
            }
            else if (Game == 13)
            {
                Self.GetComponent <GameAirport>().enabled = true;
            }
            else if (Game == 14)
            {
                Self.GetComponent <GameKeys>().enabled = true;
            }

            Liveshow.GetComponent <SpriteRenderer>().enabled  = false;
            Scoreshow.GetComponent <SpriteRenderer>().enabled = false;
            Ruleshow.GetComponent <SpriteRenderer>().enabled  = false;
            L1.GetComponent <SpriteRenderer>().enabled        = false;
            L2.GetComponent <SpriteRenderer>().enabled        = false;
            S1.GetComponent <SpriteRenderer>().enabled        = false;
            S2.GetComponent <SpriteRenderer>().enabled        = false;
            Healthbar.GetComponent <PlayableDirector>().Stop();
            Healthbar.SetActive(false);

            Self.GetComponent <RaiseCurtain>().enabled = false;
        }
        timecheck = Curtain.time;
    }