Example #1
0
        public IMessageWriter getWriter()
        {
            MessageWriter writer = new MessageWriter();

            writer.onWriteTo += delegate(BinaryWriter bw)
            {
                Yggdrasil.AsgardPose pose = Yggdrasil.Instance.getAsgardPose(new Yggdrasil.WorldPose(this._transform));
                bw.Write(pose.asgardPosition);
                bw.Write(pose.asgardRotation);
                bw.Write(pose.asgardScale);
            };
            return(writer);
        }
Example #2
0
        /*
         * public void setupMark(TransformData data) {
         *  data.write(ref _mark, TransformData.Type.Local);
         * }*/
        public void setup(Transform hero, Transform qrmark)
        {
            Yggdrasil.AsgardPose ap = Yggdrasil.WorldToAsgard(new Yggdrasil.WorldPose(Yggdrasil.Instance.transform), hero);


            this.transform.position = qrmark.position;
            this.transform.rotation = qrmark.rotation;


            Yggdrasil.WorldPose wp = Yggdrasil.AsgardToWorld(ap, this.transform);
            this.transform.position = wp.position;
            this.transform.rotation = Quaternion.LookRotation(wp.forward, wp.up);
        }
Example #3
0
 private void dataChange(Yggdrasil.AsgardPose oldValue, Yggdrasil.AsgardPose newValue)
 {
     if (!this.hasAuthority)
     {
         Yggdrasil.WorldPose world = Yggdrasil.Instance.getWorldPose(newValue);
         if (_interpolation && Vector3.Distance(world.position, getTransform().position) < 0.3f)
         {
             TweenTransformData.Begin(getTransform().gameObject, 0.1f, world.position, Quaternion.LookRotation(world.forward, world.up), world.scale);
         }
         else
         {
             getTransform().position = world.position;
             getTransform().rotation = Quaternion.LookRotation(world.forward, world.up);
             getTransform().setGlobalScale(world.scale);
         }
     }
 }
Example #4
0
        private void Update()
        {

            if (isLocalPlayer)
            {
                transform.position = Camera.main.transform.position;
                transform.rotation = Camera.main.transform.rotation;

                Yggdrasil.AsgardPose aPose = Yggdrasil.Instance.getAsgardPose(new Yggdrasil.WorldPose(this.transform));
                CmdTransform(aPose.asgardPosition, aPose.asgardRotation);
              


            }
            else
            {
                Yggdrasil.WorldPose wPost = Yggdrasil.Instance.getWorldPose(new Yggdrasil.AsgardPose(asgardPosition, asgardRotation, Vector3.one));
                transform.position = Vector3.Lerp(transform.position, wPost.position, 0.3f);
                transform.rotation = wPost.rotation;
            }
        }
Example #5
0
 // Use this for initialization
 void Start()
 {
     asgardPose_ = Yggdrasil.WorldToAsgard(new Yggdrasil.WorldPose(this.getTransform()), this._target);
     mount();
 }
Example #6
0
 public void CmdSetPose(Yggdrasil.AsgardPose pose)
 {
     _pose = pose;
 }