Beispiel #1
0
        private TargetChangeCheck GetFromTarget(CameraTarget target)
        {
            if (target == null)
            {
                return(new TargetChangeCheck());
            }

            var obj  = target.Object;
            var root = target.StabilizeRootNode;
            var head = target.HeadNode;

            var c = new TargetChangeCheck();

            if (obj != null)
            {
                c.FormId = obj.FormId;
            }
            if (root != null)
            {
                c.RootName = (root.Name.Text ?? string.Empty).ToLowerInvariant() + "_" + root.Address.ToHexString();
            }
            if (head != null)
            {
                c.HeadName = (head.Name.Text ?? string.Empty).ToLowerInvariant() + "_" + head.Address.ToHexString();
            }
            return(c);
        }
        internal CameraStabilize(CameraMain cameraMain, CameraTarget target)
        {
            if (cameraMain == null)
            {
                throw new ArgumentNullException("cameraMain");
            }

            if (target == null)
            {
                throw new ArgumentNullException("target");
            }

            CameraMain = cameraMain;

            if (Allocation == null)
            {
                Allocation = Memory.Allocate(0x60);
            }

            TempPoint           = MemoryObject.FromAddress <NiPoint3>(Allocation.Address);
            TempTransform       = MemoryObject.FromAddress <NiTransform>(Allocation.Address + 0x10);
            TempTransform.Scale = 1.0f;
            TweenPoint          = MemoryObject.FromAddress <NiPoint3>(Allocation.Address + 0x50);

            ForTarget = GetFromTarget(target);
        }
Beispiel #3
0
            internal bool IsEqual(TargetChangeCheck other)
            {
                if (other == null)
                {
                    return(false);
                }

                return(this.FormId == other.FormId && this.RootName == other.RootName && this.HeadName == other.HeadName);
            }