internal void Initialize(MainModule mainModule, RenderingModule renderingModule, MaterialModule materialModule) { _mainModule = mainModule; _renderingModule = renderingModule; _materialModule = materialModule; _mesh = new Mesh(); _mesh.hideFlags = HideFlags.HideAndDontSave; _maskBefore = CreateMaskObject(isBeforeMask: true); _maskAfter = CreateMaskObject(isBeforeMask: false); SetupMesh(); #if !UNITY_EDITOR SetupMaterials(); _maskBefore.gameObject.SetActive(_isActive); _maskAfter.gameObject.SetActive(_isActive); #endif #if UNITY_EDITOR _materialModule.OnRenderQueueChange += UpdateSortingProperties; #endif _mainModule.OnGameobjectLayerChange += UpdateMaskObjectsLayers; }
void ParseContent(string c) { UnityAction <string, string> PrintConsole = (content, info) => { var s = content + "\n" + info + "\n"; m_page.content.text += s; }; var text = m_page.input.text; string[] split = text.Split(','); switch (split[0]) { case "AddCurrency": /// Add Currency if (split.Length != 2) { PrintConsole(c, "Input Error"); break; } var value = Utility.TryParseInt(split[1]); PlayerManager.Instance.AddCurrency_Current(value); break; case "AddMaterial": if (split.Length != 3) { PrintConsole(c, "Input Error"); break; } var materialID = Utility.TryParseInt(split[1]); if (MaterialModule.GetMaterialByMaterialID(materialID) == null) { PrintConsole(c, "MaterialID Not Found!"); break; } var valueMa = Utility.TryParseInt(split[2]); PlayerManager.Instance.AddMaterialData(materialID, (ushort)valueMa); break; case "ShowEvent": if (split.Length != 2) { PrintConsole(c, "Input Error"); break; } var EventID = Utility.TryParseInt(split[1]); if (ExploreModule.GetExploreEventDataByKey(EventID) == null) { PrintConsole(c, "EventID Not Found!"); break; } UIGuide.Instance.ShowRandomEventDialog(EventID, 0, 0, 0); break; } }
public void SetMaterialData(Material ma, int amount = 1) { this.Amount = amount; if (amount == 0) { //destory Destroy(this.gameObject); } ItemImage.sprite = MaterialModule.GetMaterialSprite(ma.MaterialID); transform.Find("AmountBG/Amount").GetComponent <Text>().text = amount.ToString(); }
/// <summary> /// 方法说明:获取下层PBOM /// 作 者:jason.tang /// 完成时间:2013-08-30 /// </summary> /// <param name="parentNode">父节点</param> /// <param name="childId">子节点ID</param> private void ShowPbomChildNode(TreeNode parentNode, string childId) { //根据物料类型查找物料分类 List <Model.MaterialVersionModule> versionModuleList = MaterialModuleBLL.GetChildPbomMaterialByPbomId(childId); if (versionModuleList.Count > 0) { versionModuleList.ForEach((v) => { TreeNode nod = new TreeNode(); MaterialModule mod = new MaterialModule(); mod.code = v.Code; mod.name = v.Name; mod.materialverid = v.MaterialVerId; mod.baseid = v.BaseId; mod.productname = v.ProductId; mod.pbomid = v.ChildId; nod.Text = string.Format("{0}({1})", v.Name, v.Code); //nod.Tag = v; nod.Tag = mod; nod.Name = v.ChildId; nod.ImageKey = "materialC"; ShowPbomChildNode(nod, v.ChildId); List <Model.ProcessCard> materialCardRelations = MaterialCardRelationBLL.GetProcessCardByMaterialId(v.BaseId, 2); if (materialCardRelations.Count > 0) { materialCardRelations.ForEach((m) => { TreeNode nd = new TreeNode(); nd.Text = m.Name; nd.Tag = m.ID; nd.Name = m.ID.ToString(); nd.ImageKey = "card"; nod.Nodes.Add(nd); nod.ImageKey = "materialCard"; }); } parentNode.Nodes.Add(nod); if (nod.ImageKey == "materialCard") { parentNode.ImageKey = nod.ImageKey; } }); } }
/// <summary> /// 方法说明:根据MaterialId和ProcessCardId删除物料下的卡片 /// 作 者:jason.tang /// 完成时间:2013-08-10 /// </summary> /// <param name="Id">业务ID</param> private void RemoveTreeNode(TreeNode currentNode) { if (currentNode == null || currentNode.Parent.Tag == null) { return; } string processCardId = currentNode.Tag.ToString(); MaterialModule materialModule = (MaterialModule)currentNode.Parent.Tag; string materialId = materialModule.baseid; TreeView treeView = new TreeView(); int type = 1; if (tcDesignView.SelectedTab == tbMaterial) { treeView = tvMaterialDesign; } else { treeView = tvMaterialPBom; type = 2; } bool result = MaterialCardRelationBLL.DeleteMaterialCard(materialId, processCardId, type); if (result) { if (!string.IsNullOrEmpty(currentNode.Parent.ImageKey)) { //tvMaterialDesign.SelectedNode = currentNode.Parent; //tvMaterialDesign.SelectedImageKey = currentNode.Parent.ImageKey; treeView.SelectedNode = currentNode.Parent; treeView.SelectedImageKey = currentNode.Parent.ImageKey; } else { //tvMaterialDesign.SelectedNode = tvMaterialDesign.Nodes[0]; ///// 如果选中的节点为空,默认为卡片 //tvMaterialDesign.SelectedImageKey = tvMaterialDesign.Nodes[0].ImageKey; treeView.SelectedNode = tvMaterialDesign.Nodes[0]; treeView.SelectedImageKey = tvMaterialDesign.Nodes[0].ImageKey; } //Remove treeview //tvMaterialDesign.Nodes.Remove(currentNode); //tvMaterialDesign.SelectedNode.Expand(); treeView.Nodes.Remove(currentNode); treeView.SelectedNode.Expand(); } }
private Material GetRailMaterial() { StandardMaterial mat = MaterialModule.GetRailBase().Clone(); this.railTextures.Apply(mat); foreach (MaterialModifier mod in this.materialModifiers[SniperMaterial.Rail]) { mod(mat); } SniperMain.AddMaterial(mat, String.Format("{0} {1}", this.name, "Railgun")); return(mat.material); }
private Material GetThrowKnifeMaterial() { StandardMaterial mat = MaterialModule.GetThrowKnifeBase().Clone(); this.throwKnifeTextures.Apply(mat); foreach (MaterialModifier mod in this.materialModifiers[SniperMaterial.ThrowKnife]) { mod(mat); } SniperMain.AddMaterial(mat, String.Format("{0} {1}", this.name, "ThrowKnife")); return(mat.material); }
private Material GetEmissiveMaterial() { StandardMaterial mat = MaterialModule.CreateSniperBase().Clone(); this.sniperTextures.Apply(mat); foreach (MaterialModifier mod in this.materialModifiers[SniperMaterial.Emissive]) { mod(mat); } SniperMain.AddMaterial(mat, String.Format("{0} {1}", this.name, "Emissive")); return(mat.material); }
private Material GetKnifeMaterial() { // FUTURE: Knife base material StandardMaterial mat = MaterialModule.CreateSniperBase().Clone(); this.knifeTextures.Apply(mat); foreach (MaterialModifier mod in this.materialModifiers[SniperMaterial.Knife]) { mod(mat); } SniperMain.AddMaterial(mat, String.Format("{0} {1}", this.name, "Knife")); return(mat.material); }
public void ShouldGetMaterial() { MockedDatabase <Material> database; MaterialModule module; Material result; database = new MockedDatabase <Material>(false, 1, (t) => new Material() { MaterialID = t }); module = new MaterialModule(NullLogger.Instance, database); result = module.GetMaterial(1); Assert.IsNotNull(result); Assert.AreEqual(0, result.MaterialID); }
/// <summary> /// 材料定额 /// </summary> private void tsmnuMaterialQuota_Click(object sender, EventArgs e) { object obj = tvMaterialDesign.SelectedNode.Tag; if (obj == null) { return; } using (MaterialQuotaToolFrm form = new MaterialQuotaToolFrm()) { MaterialModule materia = (MaterialModule)obj; form.MaterialVerId = materia.materialverid; form.ShowDialog(); } }
public void ShouldCreateMaterial() { MockedDatabase <Material> database; MaterialModule module; Material result; database = new MockedDatabase <Material>(false, 1, (t) => new Material() { MaterialID = t }); module = new MaterialModule(NullLogger.Instance, database); result = module.CreateMaterial(BuildingTypeIDs.Forest, ResourceTypeIDs.Wood, 1); Assert.IsNotNull(result); Assert.AreEqual(ResourceTypeIDs.Wood, result.ResourceTypeID); Assert.AreEqual(1, database.InsertedCount); }
public void ShouldNotGetMaterialsAndLogError() { MockedDatabase <Material> database; MaterialModule module; MemoryLogger logger; logger = new MemoryLogger(); database = new MockedDatabase <Material>(true, 3, (t) => new Material() { MaterialID = t }); module = new MaterialModule(logger, database); Assert.ThrowsException <PIODataException>(() => module.GetMaterials(BuildingTypeIDs.Sawmill)); Assert.IsNotNull(logger.Logs.FirstOrDefault(item => (item.Level == LogLevels.Error) && (item.ComponentName == module.ModuleName))); }
public void ShouldNotCreateMaterialAndLogError() { MockedDatabase <Material> database; MaterialModule module; MemoryLogger logger; logger = new MemoryLogger(); database = new MockedDatabase <Material>(true, 1, (t) => new Material() { MaterialID = t }); module = new MaterialModule(logger, database); Assert.ThrowsException <PIODataException>(() => module.CreateMaterial(BuildingTypeIDs.Forest, ResourceTypeIDs.Wood, 1)); Assert.IsNotNull(logger.Logs.FirstOrDefault(item => (item.Level == LogLevels.Error) && (item.ComponentName == module.ModuleName))); Assert.AreEqual(0, database.InsertedCount); }
public void ShouldGetMaterials() { MockedDatabase <Material> database; MaterialModule module; Material[] results; database = new MockedDatabase <Material>(false, 3, (t) => new Material() { MaterialID = t, BuildingTypeID = BuildingTypeIDs.Sawmill }); module = new MaterialModule(NullLogger.Instance, database); results = module.GetMaterials(BuildingTypeIDs.Sawmill); Assert.IsNotNull(results); Assert.AreEqual(3, results.Length); for (int t = 0; t < 3; t++) { Assert.IsNotNull(results[t]); Assert.AreEqual(t, results[t].MaterialID); Assert.AreEqual(BuildingTypeIDs.Sawmill, results[t].BuildingTypeID); } }
private static ParticleSystemRenderer BurnRenderer(this ParticleSystemRenderer psr) { psr.renderMode = ParticleSystemRenderMode.Mesh; psr.mesh = AssetsCore.LoadAsset <Mesh>(MeshIndex.Quad); psr.material = MaterialModule.GetPlasmaBurnMaterial().material; psr.trailMaterial = null; psr.sortMode = ParticleSystemSortMode.None; psr.sortingFudge = 0; psr.alignment = ParticleSystemRenderSpace.Local; psr.flip = Vector3.zero; psr.enableGPUInstancing = true; psr.pivot = Vector3.zero; psr.maskInteraction = SpriteMaskInteraction.None; psr.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; psr.receiveShadows = false; psr.motionVectorGenerationMode = MotionVectorGenerationMode.Object; psr.sortingLayerID = LayerIndex.defaultLayer.intVal; psr.sortingOrder = 0; psr.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off; psr.reflectionProbeUsage = UnityEngine.Rendering.ReflectionProbeUsage.Off; return(psr); }
internal void CreateAndAddSkin(CharacterModel model, String nameToken, String unlockableName, Sprite icon) { var rampTex = this.knifeTrail.OutputTextureAndDispose(); using (var skin = Skin.Create(model)) { var snipermeshInd = -1; var throwkinfeInd = -1; var knifeInd = -1; var railgunInd = -1; var gaussgunInd = -1; var ammomeshInd = -1; var armormeshInd = -1; var bodymeshInd = -1; var cloakmeshInd = -1; var emismeshInd = -1; var classicRifleInd = -1; var classicMeshInd = -1; CharacterModel.RendererInfo[] rendInfos = skin.rendererInfos; for (Int32 i = 0; i < rendInfos.Length; ++i) { CharacterModel.RendererInfo info = rendInfos[i]; Renderer smr = info.renderer; switch (smr.name) { default: #if ASSERT Log.Warning(String.Format("{0} is not a handled renderer name", smr.name)); #endif info.defaultMaterial = null; break; case "SniperMesh": info.defaultMaterial = null; snipermeshInd = i; break; case "ThrowKnife": info.defaultMaterial = this.throwknifeMat; throwkinfeInd = i; break; case "Knife": info.defaultMaterial = this.isTrash ? null : this.knifeMat; knifeInd = i; break; case "RailGun": info.defaultMaterial = this.isTrash ? null : this.railMat; railgunInd = i; break; case "GaussGun": info.defaultMaterial = null; gaussgunInd = i; break; case "AmmoMesh": info.defaultMaterial = this.isTrash ? null : this.ammoMat; ammomeshInd = i; break; case "ArmorMesh": info.defaultMaterial = this.isTrash ? null : this.armorMat; armormeshInd = i; break; case "BodyMesh": info.defaultMaterial = this.isTrash ? null : this.bodyMat; bodymeshInd = i; break; case "CloakMesh": info.defaultMaterial = this.isTrash ? null : this.cloakMat; cloakmeshInd = i; break; case "EmissionMesh": info.defaultMaterial = this.isTrash ? null : this.emisMat; emismeshInd = i; break; case "ClassicRifle": info.defaultMaterial = !this.isTrash ? null : this.railMat; classicRifleInd = i; break; case "ClassicMesh": info.defaultMaterial = !this.isTrash ? null : this.armorMat; classicMeshInd = i; break; } rendInfos[i] = info; } skin.rendererInfos = rendInfos; skin.projectileGhostReplacements = new[] { new SkinDef.ProjectileGhostReplacement { projectilePrefab = ProjectileModule.GetKnifeProjectile(), projectileGhostReplacementPrefab = ProjectileGhostModule.GetKnifeGhost(this.throwknifeMat, MaterialModule.GetKnifeTrailMaterial(rampTex).material), }, }; if (this.isTrash) { skin.gameObjectActivations = new[] { new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[armormeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[ammomeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[bodymeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[cloakmeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[emismeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[railgunInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[knifeInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[classicMeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[classicRifleInd].renderer.gameObject, } }; } else { skin.gameObjectActivations = new[] { new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[armormeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[ammomeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[bodymeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[cloakmeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[emismeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[railgunInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = true, gameObject = rendInfos[knifeInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[classicMeshInd].renderer.gameObject, }, new SkinDef.GameObjectActivation { shouldActivate = false, gameObject = rendInfos[classicRifleInd].renderer.gameObject, } }; } skin.icon = icon; skin.nameToken = nameToken; skin.unlockableName = unlockableName; } var index = model.GetComponent <ModelSkinController>().skins.Length - 1; var material = MaterialModule.GetSlashMaterial(rampTex); VFXModule.AddKnifePickupSlash((UInt32)index, material); }
internal static GameObject CreatePlasmaAmmoTracer() { GameObject obj = CreateBaseAmmoTracer(MaterialModule.GetPlasmaTracerMaterial().material, MaterialModule.GetPlasmaTracerTrailMaterial().material); return(obj); }
internal static GameObject CreateScatterAmmoTracer() { GameObject obj = CreateSmallAmmoTracer(MaterialModule.GetScatterTracerMaterial().material, MaterialModule.GetScatterTracerTrailMaterial().material); return(obj); }
/// <summary> /// 方法说明:根据根节点加载子节点 /// 作 者:jason.tang /// 完成时间:2013-03-05 /// </summary> /// <param name="parentNode"></param> private void LoadPbomChildNode(string categoryid, string code) { //查找根节点(物料)下的子节点 materialModuleList = MaterialModuleBLL.GetMaterialModuleListByCategoryId(CategoryTypeIds[0], CategoryTypeIds[1]); if (materialModuleList.Count <= 0) { return; } List <string> listBaseIds = new List <string>(); foreach (MaterialModule material in materialModuleList) { listBaseIds.Add(string.Format("'{0}'", material.baseid)); } string baseIds = string.Join(",", listBaseIds.ToArray()); List <PBomModule> pbomModuleList = MaterialModuleBLL.GetPBomModuleListByBaseId(baseIds); if (pbomModuleList.Count <= 0) { return; } pbomModuleList.ForEach((o) => { TreeNode node = new TreeNode(); node.Text = o.FolderName; node.Tag = o.VerId; node.Name = o.VerId; node.ImageKey = "materialG"; node.ExpandAll(); //根据物料类型查找物料分类 List <Model.MaterialVersionModule> versionModuleList = MaterialModuleBLL.GetChildPbomMaterialByPbomId(o.VerId); if (versionModuleList.Count > 0) { versionModuleList.ForEach((v) => { TreeNode nod = new TreeNode(); MaterialModule mod = new MaterialModule(); mod.code = v.Code; mod.name = v.Name; mod.materialverid = v.MaterialVerId; mod.baseid = v.BaseId; mod.productname = v.ProductId; mod.pbomid = v.ChildId; nod.Text = string.Format("{0}({1})", v.Name, v.Code); //nod.Tag = v; nod.Tag = mod; nod.Name = v.ChildId; nod.ImageKey = "materialC"; ShowPbomChildNode(nod, v.ChildId); List <Model.ProcessCard> materialCardRelations = MaterialCardRelationBLL.GetProcessCardByMaterialId(v.BaseId, 2); if (materialCardRelations.Count > 0) { materialCardRelations.ForEach((m) => { TreeNode nd = new TreeNode(); nd.Text = m.Name; nd.Tag = m.ID; nd.Name = m.ID.ToString(); nd.ImageKey = "card"; nod.Nodes.Add(nd); nod.ImageKey = "materialCard"; }); } node.Nodes.Add(nod); if (nod.ImageKey == "materialCard") { node.ImageKey = nod.ImageKey; } }); } ////if (versionModuleList.Count > 0) ////{ //// versionModuleList.ForEach((v) => //// { //// TreeNode nod = new TreeNode(); //// MaterialModule mod = new MaterialModule(); //// mod.code = v.Code; //// mod.name = v.Name; //// mod.materialverid = v.MaterialVerId; //// mod.baseid = v.BaseId; //// mod.productname = v.ProductId; //// nod.Text = string.Format("{0}({1})", v.Code, v.Name); //// //nod.Tag = v; //// nod.Tag = mod; //// nod.Name = v.BaseId; //// nod.ImageKey = "materialC"; //// List<Model.ProcessCard> materialCardRelations = //// MaterialCardRelationBLL.GetProcessCardByMaterialId(v.BaseId, 2); //// if (materialCardRelations.Count > 0) //// { //// materialCardRelations.ForEach((m) => //// { //// TreeNode nd = new TreeNode(); //// nd.Text = m.Name; //// nd.Tag = m.ID; //// nd.Name = m.ID.ToString(); //// nd.ImageKey = "card"; //// nod.Nodes.Add(nd); //// }); //// } //// node.Nodes.Add(nod); //// }); ////} tvMaterialPBom.Nodes.Add(node); }); }
/// <summary> /// 方法说明:增加关系对象记录 /// 作 者:jason.tang /// 完成时间:2013-09-17 /// </summary> /// <param name="verId">版本ID</param> /// <returns></returns> private static bool AddRelationObject(string verId, MaterialModule materialModule, string pbomid) { string materialVerId = string.Empty; string materialBaseId = string.Empty; string routingId = string.Empty; if (materialModule != null) { materialVerId = materialModule.materialverid; materialBaseId = materialModule.baseid; if (string.IsNullOrEmpty(pbomid)) { pbomid = materialModule.pbomid; } } if (!string.IsNullOrEmpty(pbomid)) { DataSet ds = MaterialModuleDAL.GetRoutingByPBomId(pbomid); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { return(false); } routingId = ds.Tables[0].Rows[0]["RoutingId"].ToString(); } string strsql = @" INSERT INTO [PLM].[dbo].[SYS_RelationObject] ([KeyId] ,[SrcObjectType] ,[SrcObjectId] ,[DesObjectType] ,[DesObjectId] ,[RelationType] ,[OriginalVerId] ,[OriginalMode] ,[SrcBasetId] ,[DesBasetId]) VALUES (@KeyId ,@SrcObjectType ,@SrcObjectId ,@DesObjectType ,@DesObjectId ,0 ,null ,0 ,@SrcBasetId ,@DesBasetId) "; using (DbCommand cmd = db.GetSqlStringCommand(strsql)) { Guid id = Guid.NewGuid(); db.AddInParameter(cmd, "@KeyId", DbType.Guid, id); db.AddInParameter(cmd, "@SrcObjectType", DbType.Int32, 30); db.AddInParameter(cmd, "@DesObjectType", DbType.Int32, 30); if (!string.IsNullOrEmpty(routingId)) { db.AddInParameter(cmd, "@SrcObjectId", DbType.String, routingId); db.AddInParameter(cmd, "@SrcBasetId", DbType.String, routingId); } else { db.AddInParameter(cmd, "@SrcObjectId", DbType.String, materialVerId); db.AddInParameter(cmd, "@SrcBasetId", DbType.String, materialBaseId); } db.AddInParameter(cmd, "@DesObjectId", DbType.String, verId); db.AddInParameter(cmd, "@DesBasetId", DbType.String, verId); return(db.ExecuteNonQuery(cmd) > 0); } }
internal static GameObject CreateExplosiveAmmoTracer() { GameObject obj = CreateBaseAmmoTracer(MaterialModule.GetExplosiveTracerMaterial().material, MaterialModule.GetExplosiveTracerTrailMaterial().material); return(obj); }
/// <summary> /// 方法说明:卡片版本新增 /// 作 者:jason.tang /// 完成时间:2013-08-23 /// </summary> /// <param name="version">卡片版本实体</param> /// <returns>True/False</returns> public static bool AddProcessVersion(ProcessVersion version, object material) { bool result = false; string strsql = @"INSERT INTO [PP_PCVersion] ([VerId] ,[BaseId] ,[VerCode] ,[VerName] ,[Code] ,[Name] ,[CategoryId] ,[MajorVer] ,[MinorVer] ,[State] ,[Creator] ,[CreateDate] ,[Updater] ,[UpdateDate] ,[CheckOutPerson] ,[CheckOutDate] ,[ArchiveDate] ,[ReleaseDate] ,[Remark] ,[IsChange] ,[IsEffective] ,[IsInFlow] ,[IsShow] ,[FolderId] ,[ObjectStatePath] ,[ObjectIconPath]) VALUES (@VerId, @BaseId, @VerCode, @VerName, @Code, @Name, @CategoryId, @MajorVer, @MinorVer, @State, @Creator, @CreateDate, @Updater, @UpdateDate, @CheckOutPerson, @CheckOutDate, @ArchiveDate, @ReleaseDate, @Remark, @IsChange, @IsEffective, @IsInFlow, @IsShow, @FolderId, @ObjectStatePath, @ObjectIconPath)"; using (DbCommand cmd = db.GetSqlStringCommand(strsql)) { string categroyId = GetCategroyByFolderId(version.FolderId); if (string.IsNullOrEmpty(categroyId)) { categroyId = "ceff050d-31bd-47dd-b282-3a68729db064"; } string code = GetCode(version.Code, version.Name); Guid id = Guid.NewGuid(); db.AddInParameter(cmd, "@VerId", DbType.Guid, id); db.AddInParameter(cmd, "@BaseId", DbType.String, version.BaseId); db.AddInParameter(cmd, "@VerCode", DbType.String, version.VerCode); db.AddInParameter(cmd, "@VerName", DbType.String, version.VerName); db.AddInParameter(cmd, "@Code", DbType.String, code); db.AddInParameter(cmd, "@Name", DbType.String, version.Name); db.AddInParameter(cmd, "@CategoryId", DbType.String, categroyId); db.AddInParameter(cmd, "@MajorVer", DbType.Int32, version.MajorVer); db.AddInParameter(cmd, "@MinorVer", DbType.Int32, version.MinorVer); db.AddInParameter(cmd, "@State", DbType.Int32, version.State); db.AddInParameter(cmd, "@Creator", DbType.String, version.Creator); db.AddInParameter(cmd, "@CreateDate", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmd, "@Updater", DbType.String, version.Updater); db.AddInParameter(cmd, "@UpdateDate", DbType.String, version.UpdateDate); db.AddInParameter(cmd, "@CheckOutPerson", DbType.String, version.CheckOutPerson); db.AddInParameter(cmd, "@CheckOutDate", DbType.String, version.CheckOutDate); db.AddInParameter(cmd, "@ArchiveDate", DbType.String, version.ArchiveDate); db.AddInParameter(cmd, "@ReleaseDate", DbType.String, version.ReleaseDate); db.AddInParameter(cmd, "@Remark", DbType.String, version.Remark); db.AddInParameter(cmd, "@IsChange", DbType.Boolean, version.IsChange); db.AddInParameter(cmd, "@IsEffective", DbType.Boolean, true); db.AddInParameter(cmd, "@IsInFlow", DbType.Boolean, version.IsInFlow); db.AddInParameter(cmd, "@IsShow", DbType.Int32, version.IsShow); db.AddInParameter(cmd, "@FolderId", DbType.String, version.FolderId); db.AddInParameter(cmd, "@ObjectStatePath", DbType.String, "../skins/ObjectState/2.gif"); db.AddInParameter(cmd, "@ObjectIconPath", DbType.String, "../skins/ObjectIcon/materialCard.PNG"); if (db.ExecuteNonQuery(cmd) > 0) { AddFolderRelation(version.BaseId, version.FolderId); if (material != null) { MaterialModule materialModule = null; string pbomId = string.Empty; if (material.GetType() == typeof(MaterialModule)) { materialModule = (MaterialModule)material; } else if (material.GetType() == typeof(String)) { pbomId = material.ToString(); } AddRelationObject(id.ToString(), materialModule, pbomId); } result = true; } } return(result); }
internal static GameObject CreateStandardAmmoTracer() { GameObject obj = CreateBaseAmmoTracer(MaterialModule.GetStandardTracerMaterial().material, MaterialModule.GetStandardTracerTrailMaterial().material); return(obj); }
static void Main(string[] args) { ILogger logger; VersionControlModule versionControlModule; ServiceHostModule pioServiceHostModule; ServiceHostModule taskCallbackServiceHostModule; SchedulerModule schedulerModule; IPIOService pioService; ITaskCallbackService taskCallbackService; IDatabase database; IConnectionFactory connectionFactory; ICommandBuilder commandBuilder; IDatabaseCreator databaseCreator; IPlanetGeneratorModule planetGeneratorModule; IPhraseModule phraseModule; IPlanetModule planetModule; ICellModule cellModule; IBuildingModule buildingModule; IWorkerModule workerModule; IBuilderModule factoryBuilderModule; IStackModule stackModule; IResourceTypeModule resourceTypeModule; IBuildingTypeModule buildingTypeModule; ITaskTypeModule taskTypeModule; IMaterialModule materialModule; IIngredientModule ingredientModule; IProductModule productModule; ITaskModule taskModule; IIdlerModule idlerModule; IResourceCheckerModule resourceCheckerModule; ILocationCheckerModule locationCheckerModule; IProducerModule producerModule; IHarvesterModule harvesterModule; IMoverModule moverModule; ITakerModule takerModule; IStorerModule storerModule; quitEvent = new AutoResetEvent(false); Console.CancelKeyPress += new ConsoleCancelEventHandler(Console_CancelKeyPress); //logger = new ConsoleLogger(new DefaultLogFormatter()); logger = new UnicastLogger(IPAddress.Loopback, Properties.Settings.Default.UnicastPort); //logger = new FileLogger(new DefaultLogFormatter(), "PIO.ServerHost.Log"); databaseCreator = new SqlDatabaseCreator(Properties.Settings.Default.Server, Properties.Settings.Default.DatabaseName); connectionFactory = new SqlConnectionFactory(Properties.Settings.Default.Server, Properties.Settings.Default.DatabaseName); commandBuilder = new SqlCommandBuilder(); database = new Database(connectionFactory, commandBuilder); versionControlModule = new VersionControlModule(logger, databaseCreator, new PIOVersionControl(database)); if (!versionControlModule.InitializeDatabase(Properties.Settings.Default.DropDatabase)) { return; } phraseModule = new PhraseModule(logger, database); planetModule = new PlanetModule(logger, database); cellModule = new CellModule(logger, database); buildingModule = new BuildingModule(logger, database); workerModule = new WorkerModule(logger, database); stackModule = new StackModule(logger, database); resourceTypeModule = new ResourceTypeModule(logger, database); buildingTypeModule = new BuildingTypeModule(logger, database); taskTypeModule = new TaskTypeModule(logger, database); materialModule = new MaterialModule(logger, database); ingredientModule = new IngredientModule(logger, database); productModule = new ProductModule(logger, database); taskModule = new TaskModule(logger, database); factoryBuilderModule = new BuilderModule(logger, taskModule, workerModule, buildingModule, buildingTypeModule, stackModule, materialModule);; idlerModule = new IdlerModule(logger, taskModule, workerModule); resourceCheckerModule = new ResourceCheckerModule(logger, buildingModule, stackModule, ingredientModule, materialModule); locationCheckerModule = new LocationCheckerModule(logger, workerModule, buildingModule); producerModule = new ProducerModule(logger, taskModule, workerModule, buildingModule, buildingTypeModule, stackModule, ingredientModule, productModule); harvesterModule = new HarvesterModule(logger, taskModule, workerModule, buildingModule, buildingTypeModule, stackModule, productModule); moverModule = new MoverModule(logger, taskModule, workerModule, buildingModule); takerModule = new TakerModule(logger, taskModule, workerModule, buildingModule, stackModule); storerModule = new StorerModule(logger, taskModule, workerModule, buildingModule, stackModule); planetGeneratorModule = new PlanetGeneratorModule(logger, phraseModule, resourceTypeModule, buildingTypeModule, taskTypeModule, materialModule, ingredientModule, productModule, planetModule, cellModule, buildingModule, workerModule); if (!planetGeneratorModule.Generate()) { return; } schedulerModule = new SchedulerModule(logger, taskModule, idlerModule, producerModule, harvesterModule, moverModule, takerModule, storerModule, factoryBuilderModule); schedulerModule.Start(); pioService = new PIOService( logger, phraseModule, planetModule, cellModule, buildingModule, workerModule, stackModule, resourceTypeModule, buildingTypeModule, taskTypeModule, materialModule, ingredientModule, productModule, taskModule, schedulerModule, resourceCheckerModule, locationCheckerModule, idlerModule, producerModule, harvesterModule, moverModule, takerModule, storerModule, factoryBuilderModule); pioServiceHostModule = new ServiceHostModule(logger, pioService); pioServiceHostModule.Start(); taskCallbackService = new TaskCallbackService(logger, schedulerModule); taskCallbackServiceHostModule = new ServiceHostModule(logger, taskCallbackService); taskCallbackServiceHostModule.Start(); WaitHandle.WaitAny(new WaitHandle[] { quitEvent }, -1); taskCallbackServiceHostModule.Stop(); pioServiceHostModule.Stop(); schedulerModule.Stop(); Console.CancelKeyPress -= new ConsoleCancelEventHandler(Console_CancelKeyPress); }
/// <summary> /// 方法说明:根据根节点加载子节点 /// 作 者:jason.tang /// 完成时间:2013-03-05 /// </summary> /// <param name="parentNode"></param> private void LoadMaterialChildNode(string categoryid, string code) { //if (parentNode == null) return; //parentNode.Nodes.Clear(); //查找根节点(物料)下的子节点 materialModuleList = MaterialModuleBLL.GetMaterialModuleListByCategoryId(categoryid, code); if (materialModuleList.Count <= 0) { return; } materialModuleList.ForEach((o) => { TreeNode node = new TreeNode(); node.Text = string.Format("({0})", o.name); node.Tag = o; node.Name = o.baseid; switch (o.TypeId) { case "1": node.ImageKey = "materialG"; break; case "2": node.ImageKey = "materialS"; break; case "3": node.ImageKey = "materialC"; break; case "4": node.ImageKey = "materialC"; break; default: break; } node.ExpandAll(); //根据物料类型查找物料分类 List <Model.MaterialVersionModule> versionModuleList = MaterialModuleBLL.GetChildMaterialByVersionId(o.materialverid); if (versionModuleList.Count > 0) { versionModuleList.ForEach((v) => { TreeNode nod = new TreeNode(); MaterialModule mod = new MaterialModule(); mod.code = v.Code; mod.name = v.Name; mod.materialverid = v.MaterialVerId; mod.baseid = v.BaseId; mod.productname = v.ProductId; nod.Text = string.Format("{0}({1})", v.Name, v.Code); //nod.Tag = v; nod.Tag = mod; nod.Name = v.MaterialVerId; nod.ImageKey = "materialC"; //TreeNode nod = new TreeNode(); //nod.Text = string.Format("{0}({1})", v.Code, v.Name); //nod.Tag = v.MaterialVerId; //nod.Name = v.BaseId; //nod.ImageKey = "materialC"; ShowMaterialChildNode(nod, v.MaterialVerId); List <Model.ProcessCard> materialCardRelations = MaterialCardRelationBLL.GetProcessCardByMaterialId(v.BaseId, 1); if (materialCardRelations.Count > 0) { materialCardRelations.ForEach((m) => { TreeNode nd = new TreeNode(); nd.Text = m.Name; nd.Tag = m.ID; nd.Name = m.ID.ToString(); nd.ImageKey = "card"; nod.Nodes.Add(nd); nod.ImageKey = "materialCard"; }); } node.Nodes.Add(nod); if (nod.ImageKey == "materialCard") { node.ImageKey = nod.ImageKey; } }); } //parentNode.Nodes.Add(node); tvMaterialDesign.Nodes.Add(node); }); }