Пример #1
0
		public AnimSkin(IResourceManager resourceManager, ManagedList<AnimBone> b)
		{
			this.bones = b;
			this.resourceManager = resourceManager;
			this.skeleton = new ResourceReference(AnimSkel.TypeHash, resourceManager, this);
			this.skeletonModel = new ResourceReference(Model.TypeHash, resourceManager, this);
		}
Пример #2
0
		public void CopyFrom(ResourceReference newR)
		{
			if (!string.IsNullOrEmpty(newR.fileReference))
			{
				this.FileReference = newR.fileReference;
				return;
			}
			if (!string.IsNullOrEmpty(newR.nameReference))
			{
				this.NameReference = newR.nameReference;
				return;
			}
			this.HashReference = newR.hashReference;
		}
Пример #3
0
		public ResourceReference Clone()
		{
			var r = new ResourceReference(this.type, this.resourceManager, this.Container);
			r.fileReference = this.fileReference;
			r.nameReference = this.nameReference;
			r.hashReference = this.hashReference;
			r.resource = this.resource;
			return r;
		}
Пример #4
0
		public Material(IResourceManager resourceManager)
		{
			this.resourceManager = resourceManager;
			this.texture0 = new ResourceReference(Texture.TypeHash, resourceManager, this);
			this.texture0.ReferenceChanged += (s, a) => this.RaisePropertyChanged(Texture0EventArgs.Changed);

			this.texture1 = new ResourceReference(Texture.TypeHash, resourceManager, this);
			this.texture1.ReferenceChanged += (s, a) => this.RaisePropertyChanged(Texture1EventArgs.Changed);

			this.texture2 = new ResourceReference(Texture.TypeHash, resourceManager, this);
			this.texture2.ReferenceChanged += (s, a) => this.RaisePropertyChanged(Texture2EventArgs.Changed);

			this.texture3 = new ResourceReference(Texture.TypeHash, resourceManager, this);
			this.texture3.ReferenceChanged += (s, a) => this.RaisePropertyChanged(Texture3EventArgs.Changed);

			this.shaderTechnique = new ResourceReference(IwGx.ShaderTechnique.TypeHash, resourceManager, this);
			this.shaderTechnique.ReferenceChanged += (s, a) => this.RaisePropertyChanged(ShaderTechniqueEventArgs.Changed);
		}
Пример #5
0
		public Surface(IResourceManager resourceManager)
		{
			this.material = new ResourceReference(IwGx.Material.TypeHash, resourceManager, this);
		}
Пример #6
0
			public SetReferenceCommand(ResourceReference target, ResourceReference newR, ResourceReference oldR)
			{
				this.target = target;
				this.newR = newR;
				this.oldR = oldR;
			}
Пример #7
0
		protected virtual void SetNewValue(IResourceItem item)
		{
			var t = this.context.ResolveKeyed<IResourceType>(this.Type);
			ResourceReference newR;
			if (item == null)
			{
				newR = new ResourceReference(this.Type, this.resourceManager, this.Reference.Container);
			}
			else
			{
				newR = t.BuildReference(item, this.fileReferencesAllowed);
			}
			var oldR = this.Reference.Clone();
			var setReferenceCommand = new SetReferenceCommand(this.Reference, newR, oldR);
			this.history.RegisterAction(setReferenceCommand);
			setReferenceCommand.Redo();
		}
Пример #8
0
		public void ConsumeResourceReference(ResourceReference resourceReference, string folder)
		{
			var l = this.Lexem;
			this.Consume();
			if (l.IndexOfAny(new[] { '\\', '/' }, 0) >= 0)
			{
				resourceReference.FileReference = l;
				return;
			}
			if (File.Exists(Path.Combine(this.BasePath, l)))
			{
				resourceReference.FileReference = l;
				return;
			}
			if (folder != null)
			{
				var combinedPath = Path.Combine(folder, l);
				if (File.Exists(Path.Combine(this.BasePath, combinedPath)))
				{
					resourceReference.FileReference = combinedPath;
					return;
				}
			}
			resourceReference.NameReference = l;
		}
Пример #9
0
		public void ConsumeResourceReference(ResourceReference resourceReference)
		{
			this.ConsumeResourceReference(resourceReference, null);
		}
Пример #10
0
		public Anim(IResourceManager resourceManager)
		{
			this.resourceManager = resourceManager;
			this.skeleton = new ResourceReference(AnimSkel.TypeHash, resourceManager, this);
		}