Beispiel #1
0
    private void ChangeCameraData(int level, bool enter = false)
    {
        DOTween.Kill(uiCamera);

        var info = ConfigManager.Get <ShowCreatureInfo>(modulePlayer.proto);

        if (!info || info.forData.Length < 0)
        {
            return;
        }

        ShowCreatureInfo.SizeAndPos data = null;
        for (int i = 0; i < info.forData.Length; i++)
        {
            if (info.forData[i].index == level)
            {
                data = info.forData[i].data[0];
                break;
            }
        }
        if (enter)
        {
            uiCamera.transform.position    = data.pos;
            uiCamera.transform.eulerAngles = data.rotation;
        }
        else
        {
            uiCamera.transform.DOLocalMove(data.pos, 0.2f).SetEase(Ease.Linear);
            uiCamera.transform.DOLocalRotate(data.rotation, 0.2f).SetEase(Ease.Linear);
        }

        changeSlider.value = 0.25f * level;
    }
Beispiel #2
0
    private void HideOthers()
    {
        var level = Level.current as Level_Home;

        if (level == null)
        {
            return;
        }
        if (!level.master)
        {
            level.rankCamera.cullingMask &= ~(Layers.MASK_MODEL | Layers.MASK_WEAPON | Layers.MASK_JEWELRY);
            level.pvpCamera.cullingMask  &= ~(Layers.MASK_MODEL | Layers.MASK_WEAPON | Layers.MASK_JEWELRY);
            return;
        }

        List <string> excludes = new List <string>();

        excludes.Add(Module_Home.FIGHTING_PET_OBJECT_NAME);
        excludes.Add(Module_Home.PLAYER_OBJECT_NAME);
        if (enemy != null)
        {
            excludes.Add(enemy.uiName);
        }
        if (enemyPet != null)
        {
            excludes.Add(enemyPet.uiName);
        }

        var info = ConfigManager.Get <ShowCreatureInfo>(11);

        ShowCreatureInfo.SizeAndPos size = null;
        if (info != null)
        {
            for (int i = 0; i < info.forData.Length; i++)
            {
                if (info.forData[i].index == modulePlayer.proto)
                {
                    size = info.forData[i].data[0];
                    break;
                }
            }
        }

        moduleHome.DispatchEvent(Module_Home.EventSetMasterPosition, Event_.Pop(size));
        moduleHome.HideOthersBut(excludes.ToArray());
    }
Beispiel #3
0
    private void SetWeaponInfo(GameObject weaponInstance, ShowCreatureInfo.SizeAndPos data, int layer, EquipType type = EquipType.Weapon)
    {
        if (weaponInstance == null || data == null)
        {
            return;
        }

        weaponInstance.transform.SetParent(Level.current.startPos);
        weaponInstance.SetActive(true);
        //为了避免跟人物用相同的
        Util.SetLayer(weaponInstance, layer);
        weaponInstance.transform.localPosition    = data.pos;
        weaponInstance.transform.localEulerAngles = data.rotation;
        var c = weaponInstance.GetComponentDefault <WeaponRotation>();

        c.type = type;
    }
Beispiel #4
0
    private ShowCreatureInfo.SizeAndPos GetTransform(int index)
    {
        var info = ConfigManager.Get <ShowCreatureInfo>(index == 0 ? 11 : 10);

        ShowCreatureInfo.SizeAndPos t = null;
        if (info != null)
        {
            for (int i = 0; i < info.forData.Length; i++)
            {
                if (info.forData[i].index == modulePlayer.proto)
                {
                    t = info.forData[i].data[0];
                    break;
                }
            }
        }
        return(t);
    }