public static void InitNodePinTypes(CodeGenerateSystem.Base.ConstructionParams smParam) { var splits = smParam.ConstructParam.Split(','); var valueType = splits[0]; CollectLinkPinInfo(smParam, "OutLink", LinkPinControl.GetLinkTypeFromTypeString(valueType), enBezierType.Right, enLinkOpType.Start, true); }
public static void InitNodePinTypes(CodeGenerateSystem.Base.ConstructionParams smParam) { CollectLinkPinInfo(smParam, "mAlbedo", LinkPinControl.GetLinkTypeFromTypeString("float3"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mNormal", LinkPinControl.GetLinkTypeFromTypeString("float3"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mMetallic", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mRough", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mAbsSpecular", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mTransmit", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mEmissive", LinkPinControl.GetLinkTypeFromTypeString("float3"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mFuzz", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mIridescence", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mDistortion", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mAlpha", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mAlphaTest", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mVertexOffset", LinkPinControl.GetLinkTypeFromTypeString("float3"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mSubAlbedo", LinkPinControl.GetLinkTypeFromTypeString("float3"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mAO", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mMask", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mShadowColor", LinkPinControl.GetLinkTypeFromTypeString("float3"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mDeepShadow", LinkPinControl.GetLinkTypeFromTypeString("float"), enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, "mMoodColor", LinkPinControl.GetLinkTypeFromTypeString("float3"), enBezierType.Left, enLinkOpType.End, false); }
public static void InitNodePinTypes(CodeGenerateSystem.Base.ConstructionParams smParam) { var splits = smParam.ConstructParam.Split('|'); var include = splits[0]; if (include.Contains(":")) { include = EngineNS.CEngine.Instance.FileManager._GetRelativePathFromAbsPath(include, EngineNS.CEngine.Instance.FileManager.Bin); } include = include.Replace("\\", "/"); if (include.Contains("bin/")) { var nIdx = include.IndexOf("bin/"); include = include.Substring(nIdx + 4); } System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(splits[1]); var tempElements = xmlDoc.GetElementsByTagName("Param"); if (tempElements.Count > 0) { var cpInfos = new List <CodeGenerateSystem.Base.CustomPropertyInfo>(); var paramInElm = tempElements[0]; foreach (System.Xml.XmlElement node in paramInElm.ChildNodes) { var strType = node.GetAttribute("Type"); var nameStr = node.GetAttribute("Name"); var strAttr = node.GetAttribute("Attribute"); if (string.IsNullOrEmpty(strAttr)) { var linkType = LinkPinControl.GetLinkTypeFromTypeString(strType); switch (linkType) { case enLinkType.Int32: case enLinkType.Int64: case enLinkType.Single: case enLinkType.Double: case enLinkType.Byte: case enLinkType.SByte: case enLinkType.Int16: case enLinkType.UInt16: case enLinkType.UInt32: case enLinkType.UInt64: case enLinkType.Float1: linkType = enLinkType.NumbericalValue | enLinkType.Float1 | enLinkType.Float2 | enLinkType.Float3 | enLinkType.Float4; break; case enLinkType.Float2: linkType = enLinkType.Float2 | enLinkType.Float3 | enLinkType.Float4; break; case enLinkType.Float3: linkType = enLinkType.Float3 | enLinkType.Float4; break; } CollectLinkPinInfo(smParam, strType + "_" + nameStr, linkType, enBezierType.Left, enLinkOpType.End, false); } else if (strAttr == "out") { CollectLinkPinInfo(smParam, strType + "_" + nameStr, LinkPinControl.GetLinkTypeFromTypeString(strType), enBezierType.Right, enLinkOpType.Start, true); } else if (strAttr == "inout") { var linkType = LinkPinControl.GetLinkTypeFromTypeString(strType); switch (linkType) { case enLinkType.Int32: case enLinkType.Int64: case enLinkType.Single: case enLinkType.Double: case enLinkType.Byte: case enLinkType.SByte: case enLinkType.Int16: case enLinkType.UInt16: case enLinkType.UInt32: case enLinkType.UInt64: case enLinkType.Float1: linkType = enLinkType.Float1 | enLinkType.Float2 | enLinkType.Float3 | enLinkType.Float4; break; case enLinkType.Float2: linkType = enLinkType.Float2 | enLinkType.Float3 | enLinkType.Float4; break; case enLinkType.Float3: linkType = enLinkType.Float3 | enLinkType.Float4; break; } CollectLinkPinInfo(smParam, strType + "_" + nameStr + "_in", linkType, enBezierType.Left, enLinkOpType.End, false); CollectLinkPinInfo(smParam, strType + "_" + nameStr + "_out", linkType, enBezierType.Right, enLinkOpType.Start, true); } else if (strAttr == "return") { CollectLinkPinInfo(smParam, strType + "_" + nameStr, LinkPinControl.GetLinkTypeFromTypeString(strType), enBezierType.Right, enLinkOpType.Start, true); } } } }