Ejemplo n.º 1
0
        /// <summary>
        /// 实际创建Actor
        /// </summary>
        protected override void CreateActor()
        {
            base.CreateActor();

            // 位置这里先填Vector3.zero,等创建好之后再直接设置其移动信息
            ActorManager.Instance.PushUnitCacheData(ActorHelper.CreateUnitCacheInfo(Info, Vector3.zero));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 实际创建Actor
        /// </summary>
        protected override void CreateActor()
        {
            base.CreateActor();

            Vector3 pos_born = Vector3.zero;

            if (AppearInfo != null)
            {
                var unit_scale = GlobalConst.UnitScale;
                var x          = AppearInfo.pos.px * unit_scale;
                var z          = AppearInfo.pos.py * unit_scale;
                pos_born = new Vector3(x, RoleHelp.GetHeightInScene(Info.actor_id, x, z), z);
            }

            var cache_info = ActorHelper.CreateUnitCacheInfo(Info, pos_born);

            ActorManager.Instance.PushUnitCacheData(cache_info);
        }
Ejemplo n.º 3
0
        protected virtual UnitCacheInfo CreateUnitCacheData(S2CNwarInitInfo player_info)
        {
            var born_pos  = RoleHelp.GetPositionInScene(ActorHelper.RoleIdToTypeId(player_info.brief.rid), player_info.init_pos.px * GlobalConst.UnitScale, player_info.init_pos.py * GlobalConst.UnitScale);
            var init_data = ActorHelper.CreateUnitCacheInfo(player_info.brief, born_pos);

            // 读取出生点朝向
            List <Neptune.Tag> tags = Neptune.DataHelper.GetTagListByType(Neptune.DataManager.Instance.Data, "born_pos");

            if (tags.Count > 0)
            {
                init_data.Rotation = tags[0].Rotation;
            }
            if (LocalPlayerManager.Instance.BornRotation.Equals(Quaternion.identity) == false)
            {
                init_data.Rotation = LocalPlayerManager.Instance.BornRotation;
                LocalPlayerManager.Instance.BornRotation = Quaternion.identity;
            }

            return(init_data);
        }