コード例 #1
0
 protected override void Start()
 {
     base.Start();
     Instance = this;
     InitWidget();
     SetRoleInfo();
     SetPlayer(CharacterTemplate.Instance.jobId);
 }
コード例 #2
0
    //上下坐骑
    public void Ride(bool b, long mountId = 0, bool showEffect = true)
    {
        if (cs.pm.isRiding == b && mountedId == mountId)
        {
            return;
        }
        if (cs.CharData is HeroData)
        {
            if (!UIRole.CheckCanRide((HeroData)cs.CharData))
            {
                return;
            }
        }
        else
        {
            return;
        }
        isCountRandom = isRiding = b;
        ani.SetBool("isRiding", b);
        if (b)
        {
            // mountId = MountAndPetNodeData.Instance().goMountID;
            if (mountId <= 0)
            {
                return;
            }
            mountedId = mountId;
            UIMountNode mountNode = FSDataNodeTable <UIMountNode> .GetSingleton().DataNodeList[mountId];

            mount    = Resource.CreatPrefabs(mountNode.icon_name, gameObject, new Vector3(0f, -mountNode.ride_y, 0f), GameLibrary.Mount_URL);
            mountAni = mount.GetComponent <Animator>();
            cs.mShadowTrans.localPosition        = new Vector3(0f, -mountNode.ride_y, 0f);
            cs.mShadowTrans.localScale           = 1.5f * Vector3.one;
            cs.mHitPoint.transform.localPosition = new Vector3(cs.mOriginHitPos.x, cs.mOriginHitPos.y - mountNode.ride_y, cs.mOriginHitPos.z);
            nav.baseOffset = mountNode.ride_y;
            cs.moveSpeed   = mountNode.movement_speed + cs.moveInitSpeed;
            if (showEffect)
            {
                if (mountEffect == null)
                {
                    mountEffect = Resource.CreatPrefabs("ShangMa_01", gameObject, new Vector3(0f, 0f, 0f), "Effect/Prefabs/Item/");
                }
                else
                {
                    BattleUtil.PlayParticleSystems(mountEffect);
                }
            }
            if (cs == CharacterManager.playerCS && ThirdCamera.instance != null)
            {
                ThirdCamera.instance._heightOfSet = 0.18f - mountNode.ride_y;
            }
            if (cs.cc != null)
            {
                cs.cc.center = new Vector3(cs.cc.center.x, 0.3f - mountNode.ride_y, cs.cc.center.z);
            }
        }
        else
        {
            if (cs == CharacterManager.playerCS && ThirdCamera.instance != null)
            {
                ThirdCamera.instance._heightOfSet = 0.18f;
            }
            cs.mShadowTrans.localPosition = Vector3.zero;
            cs.mShadowTrans.localScale    = Vector3.one;
            nav.baseOffset = 0f;
            cs.mHitPoint.transform.localPosition = cs.mOriginHitPos;
            cs.moveSpeed = cs.moveInitSpeed;
            if (mount != null)
            {
                mountedId = 0;
                Destroy(mount.gameObject);
            }
            if (cs.cc != null)
            {
                cs.cc.center = new Vector3(cs.cc.center.x, 0.3f, cs.cc.center.z);
            }
        }
        if (transform.GetComponent <SetMainHeroName>() != null)
        {
            transform.GetComponent <SetMainHeroName>().SetHeadBuffPos(b);
        }
        else if (transform.GetComponent <OtherPlayer>() != null)
        {
            transform.GetComponent <OtherPlayer>().SetHeadBuffPos(b);
        }
        InvokeRepeating("CheckRidingState", Time.fixedDeltaTime, Time.fixedDeltaTime);
    }
コード例 #3
0
ファイル: UIRole.cs プロジェクト: moto2002/moba
 public UIRole()
 {
     instance = this;
 }