示例#1
0
    void initSkill()
    {
        //Stretch skill selected
        float ratio = GameSupportor.getRatioAspect(PlayDragonInfoController.Instance.tempSkill, PlayDragonInfoController.Instance.renderUlti) * 100;

        PlayDragonInfoController.Instance.renderUlti.transform.localScale = new Vector3(ratio, ratio, ratio);

        bool   hasUlti = false;
        string branch  = PlayerInfo.Instance.dragonInfo.id;
        int    length  = PlayDragonInfoController.Instance.Skills.Length;
        int    count   = ReadDatabase.Instance.DragonInfo.Player[branch].Skills.Count - 1;

        if (ReadDatabase.Instance.DragonInfo.Player[branch].Skills.Count > 0)
        {
            for (int i = 0; i < length; i++)
            {
                PlayDragonInfoController.Instance.Skills[i].gameObject.SetActive(true);
            }

            foreach (DragonPlayerSkillData skillData in ReadDatabase.Instance.DragonInfo.Player[branch].Skills)
            {
                PlayDragonInfoSkillController skill = PlayDragonInfoController.Instance.Skills[count].GetComponent <PlayDragonInfoSkillController>();
                SkillData data = ReadDatabase.Instance.SkillInfo[skillData.ID.ToUpper()];
                skill.ID           = skillData.ID;
                skill.CooldownTime = data.Cooldown;
                skill.Type         = data.Type;
                skill.Ability      = data.Ability;
                skill.ManaValue    = data.Mana;

                skill.initalize();

                string path = "Image/Dragon/Player/" + ConvertSupportor.convertUpperFirstChar(branch) + "/Skill/" + skillData.ID;
                skill.sprite.mainTexture = Resources.Load <Texture>(path);
                count--;

                if (skillData.Ulti)
                {
                    PlayDragonInfoController.Instance.renderUlti.gameObject.SetActive(true);
                    UIAnchor anchor = PlayDragonInfoController.Instance.renderUlti.GetComponent <UIAnchor>();
                    anchor.container = skill.gameObject;
                    anchor.enabled   = true;
                    hasUlti          = true;
                }
            }
        }

        if (hasUlti == false && PlayDragonInfoController.Instance.renderUlti.gameObject.activeSelf)
        {
            PlayDragonInfoController.Instance.renderUlti.gameObject.SetActive(false);
        }

        count = ReadDatabase.Instance.DragonInfo.Player[branch].Skills.Count;
        if (count < length)
        {
            for (int i = count; i < length; i++)
            {
                PlayDragonInfoController.Instance.Skills[i].gameObject.SetActive(false);
            }
        }
    }
示例#2
0
    void OnClick()
    {
        if (type == ETargetType.NONE)
        {
            type = ETargetType.CHOOSSED;

            PlayManager.Instance.resetBuilding();
            //// reset range tower
            PlayManager.Instance.resetRangeTower();
            PlayManager.Instance.selectedTowerBuild.SetActive(false);
            PlayManager.Instance.objectBuild.Target = rootTower;
            PlayManager.Instance.resetUpgrade();

            PlayManager.Instance.chooseTarget.transform.parent        = transform;
            PlayManager.Instance.chooseTarget.transform.localScale    = Vector3.one;
            PlayManager.Instance.chooseTarget.transform.localPosition = new Vector3(3.5f, -30, 0);
            PlayManager.Instance.chooseTarget.transform.GetChild(0).renderer.material.renderQueue = transform.GetChild(0).renderer.material.renderQueue - 1;
            PlayManager.Instance.chooseTarget.SetActive(true);

            if (SceneState.Instance.State == ESceneState.ADVENTURE)
            {
                if (PlayTouchManager.Instance.skillTarget != null)
                {
                    if (PlayTouchManager.Instance.skillTarget != this.gameObject)
                    {
                        PlayDragonInfoSkillController temp = PlayTouchManager.Instance.skillTarget.GetComponent <PlayDragonInfoSkillController>();
                        temp.selected.GetComponent <TweenScale>().PlayReverse();
                        temp.selected.GetComponent <TweenAlpha>().PlayReverse();

                        temp.typeSprite.GetComponent <TweenPosition>().PlayReverse();
                        temp.typeSprite.GetComponent <TweenAlpha>().PlayReverse();
                        temp.isTap = false;

                        PlayTouchManager.Instance.skillTarget = null;
                        PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.AOE);
                    }
                }
            }

            // set tutorial cho lan dau tien
            if (PlayerInfo.Instance.tutorialInfo.tutorial_build == 0 && WaveController.Instance.currentMap == 1 &&
                SceneState.Instance.State == ESceneState.ADVENTURE)
            {
                PlayerInfo.Instance.tutorialInfo.tutorial_build = 1;
                PlayerInfo.Instance.tutorialInfo.Save();

                PlayManager.Instance.tutorial.SetActive(true);
                UIButtonTutorialPlay.Instance.StartTutorialBuildTower();
            }
        }
    }
示例#3
0
    void OnClick()
    {
        if (type == ETowerType.NONE && houseAction.isActivity)
        {
            PlayManager playManager = PlayManager.Instance;
            if (playManager.objectUpgrade.Tower != houseController.gameObject)
            {
                playManager.resetUpgrade();
            }

            type = ETowerType.CHOOSED;

            panelTween.PlayForward();
            playManager.tempInit.panelDragonInfo.GetComponent <TweenPosition>().PlayReverse();

            playManager.objectUpgrade.Tower = houseController.gameObject;
            playManager.resetBuilding();

            // set range for tower
            playManager.setRangeTower(0, this.gameObject);

            // get range of tower current
            playManager.towerInfoController.rangeCurrent = 0;

            try
            {
                DragonHouseData nextLV = ReadDatabase.Instance.DragonInfo.House[houseController.ID.Level + 1];

                playManager.towerInfoController.setHouseInfo(houseController);
                playManager.towerInfoController.setNextHouseIcon(new STowerID(ETower.DRAGON, houseController.ID.Level + 1));

                // get range of tower next level
                playManager.towerInfoController.rangeUpgrade = 0;
            }
            catch
            {
                playManager.towerInfoController.setHouseInfo(houseController);
            }

            // show tutorial upgrade neu lan dau tien su dung
            if (PlayerInfo.Instance.tutorialInfo.tutorial_upgrade == 0 && WaveController.Instance.currentMap == 1)
            {
                PlayerInfo.Instance.tutorialInfo.tutorial_upgrade = 1;
                PlayerInfo.Instance.tutorialInfo.Save();

                playManager.tutorial.SetActive(true);
                UIButtonTutorialPlay.Instance.startTutorialUpgrade();
            }

            if (SceneState.Instance.State == ESceneState.ADVENTURE)
            {
                if (PlayTouchManager.Instance.skillTarget != null)
                {
                    if (PlayTouchManager.Instance.skillTarget != this.gameObject)
                    {
                        PlayDragonInfoSkillController temp = PlayTouchManager.Instance.skillTarget.GetComponent <PlayDragonInfoSkillController>();
                        temp.selected.GetComponent <TweenScale>().PlayReverse();
                        temp.selected.GetComponent <TweenAlpha>().PlayReverse();

                        temp.typeSprite.GetComponent <TweenPosition>().PlayReverse();
                        temp.typeSprite.GetComponent <TweenAlpha>().PlayReverse();
                        temp.isTap = false;

                        PlayTouchManager.Instance.skillTarget = null;
                        PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.AOE);
                    }
                }
            }
        }
    }
    void Update()
    {
        if (Input.GetMouseButtonDown(0) || (Input.touchCount > 0 &&
                                            Input.touches[0].phase == TouchPhase.Began))
        {
            if (dragonController.HP <= 0 || dragonController.isCopulate)
            {
                return;
            }

            if (dragonController.isSelected)
            {
                if (!UICamera.hoveredObject.name.Equals("Drag Camera"))
                {
                    return;
                }

                if (PlayDragonManager.Instance.currentHouse != null)
                {
                    PlayDragonManager.Instance.currentHouse.GetComponent <HouseController>().StateAction = EHouseStateAction.CLOSE;
                    PlayDragonManager.Instance.currentHouse = null;
                }

                Vector3 touchPos = cameraRender.ScreenToWorldPoint(Input.mousePosition);

                GameObject f = Instantiate(PlayManager.Instance.modelPlay.Flag) as GameObject;
                f.transform.parent     = PlayManager.Instance.Temp.Flag.transform;
                f.transform.localScale = Vector3.one;
                f.transform.position   = touchPos;

                //set render queue
                f.transform.GetChild(0).GetChild(0).GetComponent <SpriteRenderer>().material.renderQueue = GameConfig.RenderQueueFlag;
                //stretch
                f.transform.GetChild(0).GetComponent <UIStretch>().container = PlayManager.Instance.tempInit.uiRoot;

                dragonController.StateAction            = EDragonStateAction.MOVE;
                dragonController.stateMove.destPosition = touchPos;
                dragonController.stateMove.destFrag     = f;
                dragonController.stateMove.Movement     = EDragonMovement.MOVE_TOUCH;
                dragonController.StateOffense           = EDragonStateOffense.NONE;
                dragonController.isSelected             = false;
                EffectSupportor.Instance.fadeOutWithEvent(dragonController.selected.transform.GetChild(0).gameObject, ESpriteType.UI_SPRITE, 0.1f, new EventDelegate(unenableSelectedSprite));

                if (dragonController.stateMove.preFrag == null)
                {
                    dragonController.stateMove.preFrag = f;
                }

                //add to list
                frags.Add(f);

                if (touchPos.x < dragonController.transform.position.x)
                {
                    dragonController.StateDirection = EDragonStateDirection.LEFT;
                }
                else if (touchPos.x > dragonController.transform.position.x)
                {
                    dragonController.StateDirection = EDragonStateDirection.RIGHT;
                }
            }
            else
            {
                if (skillTarget != null)
                {
                    PlayDragonInfoSkillController infoController = skillTarget.GetComponent <PlayDragonInfoSkillController>();

                    if (infoController.Type == ESkillType.TARGET)
                    {
                        if ((ESkillOffense)infoController.Ability == ESkillOffense.SINGLE)
                        {
                            if (UICamera.hoveredObject.tag.Equals(TagHashIDs.Enemy))
                            {
                                if (PlayDragonManager.Instance.PlayerDragon.GetComponent <DragonController>().attribute.MP.Current >= infoController.ManaValue)
                                {
                                    infoController.cooldown.gameObject.SetActive(true);
                                    infoController.cooldown.fillAmount = 1.0f;
                                    infoController.isEnable            = false;
                                    infoController.StartCoroutine(infoController.runCooldown());
                                }

                                //invi selected
                                infoController.selected.GetComponent <TweenScale>().PlayReverse();
                                infoController.selected.GetComponent <TweenAlpha>().PlayReverse();
                                infoController.StartCoroutine(infoController.invisibleSelectedSkill());

                                infoController.typeSprite.GetComponent <TweenPosition>().PlayReverse();
                                infoController.typeSprite.GetComponent <TweenAlpha>().PlayReverse();

                                Vector3 touchPos = cameraRender.ScreenToWorldPoint(Input.mousePosition);
                                PlayDragonManager.Instance.initSkill(infoController.ID, infoController.ManaValue,
                                                                     infoController.Type, ESkillOffense.SINGLE, new object[] { UICamera.hoveredObject.gameObject });
                                setCurrentOffenseType(ESkillOffense.AOE);
                            }
                        }
                        else
                        {
                            if (PlayDragonManager.Instance.PlayerDragon.GetComponent <DragonController>().attribute.MP.Current >= infoController.ManaValue)
                            {
                                infoController.cooldown.gameObject.SetActive(true);
                                infoController.cooldown.fillAmount = 1.0f;
                                infoController.isEnable            = false;
                                infoController.StartCoroutine(infoController.runCooldown());
                            }

                            //invi selected
                            infoController.selected.GetComponent <TweenScale>().PlayReverse();
                            infoController.selected.GetComponent <TweenAlpha>().PlayReverse();
                            infoController.StartCoroutine(infoController.invisibleSelectedSkill());

                            infoController.typeSprite.GetComponent <TweenPosition>().PlayReverse();
                            infoController.typeSprite.GetComponent <TweenAlpha>().PlayReverse();

                            Vector3 touchPos = cameraRender.ScreenToWorldPoint(Input.mousePosition);
                            PlayDragonManager.Instance.initSkill(infoController.ID, infoController.ManaValue,
                                                                 infoController.Type, ESkillOffense.AOE, new object[] { touchPos });
                            setCurrentOffenseType(ESkillOffense.AOE);
                        }
                    }
                }
            }
        }
    }
示例#5
0
    void OnClick()
    {
        if (isEnable)
        {
            if (Type == ESkillType.TARGET)
            {
                if (PlayTouchManager.Instance.skillTarget != null && PlayTouchManager.Instance.skillTarget != this.gameObject)
                {
                    PlayDragonInfoSkillController temp = PlayTouchManager.Instance.skillTarget.GetComponent <PlayDragonInfoSkillController>();
                    temp.selected.GetComponent <TweenScale>().PlayReverse();
                    temp.selected.GetComponent <TweenAlpha>().PlayReverse();

                    temp.typeSprite.GetComponent <TweenPosition>().PlayReverse();
                    temp.typeSprite.GetComponent <TweenAlpha>().PlayReverse();
                    temp.isTap = false;

                    PlayTouchManager.Instance.skillTarget = null;
                    PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.AOE);
                }

                if (isTap)
                {
                    selected.GetComponent <TweenScale>().PlayReverse();
                    selected.GetComponent <TweenAlpha>().PlayReverse();

                    typeSprite.GetComponent <TweenPosition>().PlayReverse();
                    typeSprite.GetComponent <TweenAlpha>().PlayReverse();

                    isTap = false;
                    PlayTouchManager.Instance.skillTarget = null;
                    PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.AOE);
                }
                else
                {
                    isTap = true;

                    //--show selected sprite
                    selected.SetActive(true);
                    //-Anchor
                    UIAnchor anchor = selected.GetComponent <UIAnchor>();
                    anchor.container = this.gameObject;
                    anchor.enabled   = true;
                    //-Tween
                    selected.GetComponent <TweenScale>().PlayForward();
                    selected.GetComponent <TweenAlpha>().PlayForward();

                    //--show type sprite
                    typeSprite.gameObject.SetActive(true);
                    typeSprite.GetComponent <TweenPosition>().PlayForward();
                    typeSprite.GetComponent <TweenAlpha>().PlayForward();

                    PlayTouchManager.Instance.skillTarget = this.gameObject;

                    if ((ESkillOffense)Ability == ESkillOffense.SINGLE)
                    {
                        PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.SINGLE);
                    }
                    else
                    {
                        PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.AOE);
                    }
                }
            }
            else // BUFF & GLOBAL
            {
                if (PlayTouchManager.Instance.skillTarget != null)
                {
                    if (PlayTouchManager.Instance.skillTarget != this.gameObject)
                    {
                        PlayDragonInfoSkillController temp = PlayTouchManager.Instance.skillTarget.GetComponent <PlayDragonInfoSkillController>();
                        temp.selected.GetComponent <TweenScale>().PlayReverse();
                        temp.selected.GetComponent <TweenAlpha>().PlayReverse();

                        temp.typeSprite.GetComponent <TweenPosition>().PlayReverse();
                        temp.typeSprite.GetComponent <TweenAlpha>().PlayReverse();
                        temp.isTap = false;

                        PlayTouchManager.Instance.skillTarget = null;
                        PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.AOE);
                    }
                }

                if (isTap)
                {
                    selected.GetComponent <TweenScale>().PlayReverse();
                    selected.GetComponent <TweenAlpha>().PlayReverse();

                    typeSprite.GetComponent <TweenPosition>().PlayReverse();
                    typeSprite.GetComponent <TweenAlpha>().PlayReverse();

                    if (PlayDragonManager.Instance.PlayerDragon.GetComponent <DragonController>().attribute.MP.Current >= ManaValue)
                    {
                        cooldown.gameObject.SetActive(true);
                        cooldown.fillAmount = 1.0f;
                        isTap    = false;
                        isEnable = false;
                        StartCoroutine(runCooldown());
                    }
                    PlayDragonManager.Instance.initSkill(ID, ManaValue, Type, Ability, null);
                }
                else
                {
                    isTap = true;

                    //--show selected sprite
                    selected.SetActive(true);
                    //-Anchor
                    UIAnchor anchor = selected.GetComponent <UIAnchor>();
                    anchor.container = this.gameObject;
                    anchor.enabled   = true;
                    //-Tween
                    selected.GetComponent <TweenScale>().PlayForward();
                    selected.GetComponent <TweenAlpha>().PlayForward();

                    //--show type sprite
                    typeSprite.gameObject.SetActive(true);
                    typeSprite.GetComponent <TweenPosition>().PlayForward();
                    typeSprite.GetComponent <TweenAlpha>().PlayForward();

                    PlayTouchManager.Instance.skillTarget = this.gameObject;
                    PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.AOE);
                }
            }
        }
    }
示例#6
0
    void OnClick()
    {
        if (type == ETowerType.NONE && towerAction.isActivity)
        {
            PlayManager playManager = PlayManager.Instance;
            if (playManager.objectUpgrade.Tower != towerController.gameObject)
            {
                playManager.resetUpgrade();
            }

            type = ETowerType.CHOOSED;

            panelTween.PlayForward();

            if (playManager.tempInit.panelDragonInfo != null)
            {
                playManager.tempInit.panelDragonInfo.GetComponent <TweenPosition>().PlayReverse();
            }

            playManager.objectUpgrade.Tower = towerController.gameObject;
            playManager.resetBuilding();

            // set range for tower
            playManager.setRangeTower(towerController.attribute.Range, this.gameObject);

            // get range of tower current
            playManager.towerInfoController.rangeCurrent = towerController.attribute.Range;

            if (towerController is TowerPassiveController)
            {
                TowerPassiveController towerPassiveController = (TowerPassiveController)towerController;
                TowerPassiveController nextLV = (TowerPassiveController)towerPassiveController.nextLevel;

                if (nextLV != null)
                {
                    playManager.towerPassiveInfoController.setTowerInfo(towerPassiveController);

                    playManager.towerPassiveInfoController.setNextTowerIcon(nextLV.ID);
                    playManager.towerPassiveInfoController.setValueInfo(towerPassiveController.ID, towerPassiveController.passiveAttribute.Describe
                                                                        );
                }
                else
                {
                    playManager.towerPassiveInfoController.setTowerInfo(towerPassiveController);
                    playManager.towerPassiveInfoController.setValueInfo(towerPassiveController.ID, towerPassiveController.passiveAttribute.Describe);
                }
            }
            else
            {
                TowerController nextLV = towerController.nextLevel;
                if (nextLV != null)
                {
                    playManager.towerInfoController.setTowerInfo(towerController);

                    playManager.towerInfoController.setNextTowerIcon(nextLV.ID);
                    playManager.towerInfoController.setBulletInfo(towerController.ID, towerController.attackType.ToString(), towerController.bullet);
                    // get range of tower next level
                    playManager.towerInfoController.rangeUpgrade = nextLV.attribute.Range;
                }
                else
                {
                    playManager.towerInfoController.setTowerInfo(towerController);
                    playManager.towerInfoController.setBulletInfo(towerController.ID, towerController.attackType.ToString(), towerController.bullet);
                }
            }
            // show tutorial upgrade neu lan dau tien su dung
            if (PlayerInfo.Instance.tutorialInfo.tutorial_upgrade == 0 && WaveController.Instance.currentMap == 1 &&
                SceneState.Instance.State == ESceneState.ADVENTURE)
            {
                PlayerInfo.Instance.tutorialInfo.tutorial_upgrade = 1;
                PlayerInfo.Instance.tutorialInfo.Save();

                playManager.tutorial.SetActive(true);
                UIButtonTutorialPlay.Instance.startTutorialUpgrade();
            }

            if (SceneState.Instance.State == ESceneState.ADVENTURE)
            {
                if (PlayTouchManager.Instance.skillTarget != null)
                {
                    if (PlayTouchManager.Instance.skillTarget != this.gameObject)
                    {
                        PlayDragonInfoSkillController temp = PlayTouchManager.Instance.skillTarget.GetComponent <PlayDragonInfoSkillController>();
                        temp.selected.GetComponent <TweenScale>().PlayReverse();
                        temp.selected.GetComponent <TweenAlpha>().PlayReverse();

                        temp.typeSprite.GetComponent <TweenPosition>().PlayReverse();
                        temp.typeSprite.GetComponent <TweenAlpha>().PlayReverse();
                        temp.isTap = false;

                        PlayTouchManager.Instance.skillTarget = null;
                        PlayTouchManager.Instance.setCurrentOffenseType(ESkillOffense.AOE);
                    }
                }
            }
        }
    }