public static void Reflect(TagManager dest, TagTreeViewItemModelManager source)
        {
            foreach (var deletedTag in source.DeletedTags)
            {
                dest.Remove(deletedTag.Id);
            }

            dest.ReconnectAllToBaseTag();

            foreach (var tag in source.AddedTags)
            {
                var addNewTag = new TagModel(tag.Id) { Name = tag.Name };
                dest.Add(addNewTag);
                dest.ConnectTags(dest.GetBaseTag(), addNewTag);
            }

            foreach (var tag in dest.TagDictionary.Values)
            {
                if (tag.IsBase())
                {
                    continue;
                }

                var sourceTag = source.TagDictionary[tag.Id];

                var parent = dest.TagDictionary[sourceTag.Parent.Id];

                dest.DisconnectFromParent(tag);
                dest.ConnectTags(parent, tag);
                tag.Name = sourceTag.Name;
            }
        }
 public void Init()
 {
     tagMgr = TagManager.Instance;
     tag_google = tagMgr.GetOrCreateTag (TAG_NAME_GOOGLE);
     tag_school = new Tag ("School");
     note = TesterNote.GetTesterNote ();
     note.Tags.Add ("School", tag_school);
 }
        public static TagTreeViewItemModelManager Convert(TagManager source)
        {
            TagTreeViewItemModelManager result = new TagTreeViewItemModelManager();

            var baseTag = source.GetBaseTag();

            var addBaseTag = ConvertTagToTagTreeViewItemModel.ConvertBaseTag(baseTag);

            result.Add(addBaseTag);
            ExpandChild(addBaseTag, baseTag, ref result);

            return result;
        }
Beispiel #4
0
    private static void getArticleListByDynamicSearch()
    {
        output += "getArticleListByDynamicSearch\n";

        // add tags
        string name = "测试 样例";
        Tag    t    = new Tag(name, name, primaryGroup.GroupId, DateTime.Now, 0);

        t.TagId = TagManager.addTag(t);
        if (t.TagId < 0)
        {
            output += "Error! 新增Tag\"" + name + "\"失败!返回值为" + t.TagId + "\n";
            errorCount++;
            return;
        }

        // Test
        GroupNode gn = new GroupNode();

        gn.Id = t.TagId;
        List <Article> list = NewsAssist.getArticleListByDynamicSearch(gn);

        if (list == null)
        {
            output += "Error! getArticleListByDynamicSearch失败,返回null。\n";
            errorCount++;
            return;
        }
        if (list.Count < count)
        {
            output += "Error! 返回列表长度(=" + list.Count + ")小于测试用例数量!\n";
            errorCount++;
        }
        else
        {
            output += "Ok! 返回列表长度(=" + list.Count + ")不少于测试用例数量!\n";
        }

        // delete tag
        if (!TagManager.deleteTag(t))
        {
            output += "Error! 删除Tag(id为\"" + t.TagId + "\")失败!\n";
            errorCount++;
            return;
        }
    }
Beispiel #5
0
    public void Show(string displayTitle)
    {
        TagManager.Inject(ref displayTitle); //Inject to be able to properly call from CACHE
        title = displayTitle;

        if (isRevealing)
        {
            StopCoroutine(revealing);
        }

        if (!cachedBannerPos)
        {
            cachedBannerOriginalPosition = banner.transform.position;
        }

        revealing = StartCoroutine(Revealing());
    }
Beispiel #6
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        audioSource.Play();
        TagManager tm = collision.gameObject.GetComponent <TagManager>();

        if (tm == null)
        {
            return;
        }

        Tag tag = tm.myTag;

        if (tag.Equals(Tag.BOMB))
        {
            player.MakeScore();
        }
    }
    public override void DoPostConfigureComplete(GameObject go)
    {
        go.GetComponent <KAnimControllerBase>().initialAnim = "off";
        go.GetComponent <KPrefabID>().AddTag(TagManager.Create("Bed"), false);
        Clinic clinic = go.AddOrGet <Clinic>();

        clinic.doctorVisitInterval = 300f;
        clinic.workerInjuredAnims  = new KAnimFile[1]
        {
            Assets.GetAnim("anim_healing_bed_kanim")
        };
        clinic.workerDiseasedAnims = new KAnimFile[1]
        {
            Assets.GetAnim("anim_interacts_med_cot_sick_kanim")
        };
        clinic.workLayer = Grid.SceneLayer.BuildingFront;
        string text  = "MedicalCot";
        string text2 = "MedicalCotDoctored";

        clinic.healthEffect              = text;
        clinic.doctoredHealthEffect      = text2;
        clinic.diseaseEffect             = text;
        clinic.doctoredDiseaseEffect     = text2;
        clinic.doctoredPlaceholderEffect = "DoctoredOffCotEffect";
        RoomTracker roomTracker = go.AddOrGet <RoomTracker>();

        roomTracker.requiredRoomType   = Db.Get().RoomTypes.Hospital.Id;
        roomTracker.requirement        = RoomTracker.Requirement.CustomRecommended;
        roomTracker.customStatusItemID = Db.Get().BuildingStatusItems.ClinicOutsideHospital.Id;
        Sleepable sleepable = go.AddOrGet <Sleepable>();

        sleepable.overrideAnims = new KAnimFile[1]
        {
            Assets.GetAnim("anim_interacts_med_cot_sick_kanim")
        };
        DoctorChoreWorkable doctorChoreWorkable = go.AddOrGet <DoctorChoreWorkable>();

        doctorChoreWorkable.overrideAnims = new KAnimFile[1]
        {
            Assets.GetAnim("anim_interacts_med_cot_doctor_kanim")
        };
        doctorChoreWorkable.workTime = 45f;
        Ownable ownable = go.AddOrGet <Ownable>();

        ownable.slotID = Db.Get().AssignableSlots.Clinic.Id;
    }
Beispiel #8
0
        public static NoteData ToNoteData(NoteInfo noteInfo)
        {
            // NOTE: For now, we absolutely require values for
            //       Guid, Title, NoteContent, and NoteContentVersion
            // TODO: Is this true? What happens if dates are excluded?
            NoteData noteData = new NoteData(NoteUriFromGuid(noteInfo.Guid));

            noteData.Title = noteInfo.Title
                             .Replace("&amp;", "&")
                             .Replace("&lt;", "<")
                             .Replace("&gt;", ">")
                             .Replace("&quot;", "\"")
                             .Replace("&apos;", "\'");
            noteData.Text = string.Format("<note-content version=\"{0}\">{1}\n\n{2}</note-content>",
                                          noteInfo.NoteContentVersion,
                                          noteInfo.Title,
                                          noteInfo.NoteContent);
            if (noteInfo.LastChangeDate.HasValue)
            {
                noteData.ChangeDate = noteInfo.LastChangeDate.Value;
            }
            if (noteInfo.LastMetadataChangeDate.HasValue)
            {
                noteData.MetadataChangeDate = noteInfo.LastMetadataChangeDate.Value;
            }
            if (noteInfo.CreateDate.HasValue)
            {
                noteData.CreateDate = noteInfo.CreateDate.Value;
            }
            if (noteInfo.OpenOnStartup.HasValue)
            {
                noteData.IsOpenOnStartup = noteInfo.OpenOnStartup.Value;
            }
            // TODO: support Pinned -- http://bugzilla.gnome.org/show_bug.cgi?id=433412

            if (noteInfo.Tags != null)
            {
                foreach (string tagName in noteInfo.Tags)
                {
                    Tag tag = TagManager.GetOrCreateTag(tagName);
                    noteData.Tags [tag.NormalizedName] = tag;
                }
            }

            return(noteData);
        }
 public DocumentPickerController(
     IFolderManager <FileDocument> folderManager,
     IDocumentService <FileDocument> documentService,
     IOptions <DriveOptions> driveOptions,
     TagManager tagManager,
     DbLoggerProvider log,
     DbLogService logFetcher,
     ILogger <DocumentPickerController> logger) : base()
 {
     _folderManager   = folderManager;
     _documentService = documentService;
     _driveOptions    = driveOptions.Value;
     _tagManager      = tagManager;
     _log             = log;
     _logFetcher      = logFetcher;
     _logger          = logger;
 }
Beispiel #10
0
    /// <summary>
    /// 绑定实体
    /// </summary>
    protected void BindPost()
    {
        PostInfo p = PostManager.GetPost(postId);

        if (p != null)
        {
            txtTitle.Text             = StringHelper.HtmlDecode(p.Title);
            txtSummary.Text           = p.Summary;
            txtContents.Text          = p.Content;
            chkStatus.Checked         = p.Status == 1 ? true : false;
            ddlCategory.SelectedValue = p.CategoryId.ToString();
            chkCommentStatus.Checked  = p.CommentStatus == 1 ? true : false;

            txtCustomUrl.Text = StringHelper.HtmlDecode(p.Slug);

            chkTopStatus.Checked  = p.TopStatus == 1 ? true : false;
            chkRecommend.Checked  = p.Recommend == 1 ? true : false;
            chkHideStatus.Checked = p.HideStatus == 1 ? true : false;

            ddlUrlType.SelectedValue  = p.UrlFormat.ToString();
            ddlTemplate.SelectedValue = p.Template;

            //绑定标签,需改进
            string tag = p.Tag;
            tag = tag.Replace("{", "");
            string[] taglist = tag.Split('}');
            foreach (string tagId in taglist)
            {
                TagInfo taginfo = TagManager.GetTag(StringHelper.StrToInt(tagId, 0));

                //  string tagName = Tags.GetTagName(Convert.ToInt32(tagID));

                if (taginfo != null)
                {
                    txtTags.Text += taginfo.Name + ",";
                }
            }
            txtTags.Text = txtTags.Text.TrimEnd(',');

            if (p.UserId != PageUtils.CurrentUser.UserId && PageUtils.CurrentUser.Type != (int)UserType.Administrator)
            {
                Response.Redirect("postlist.aspx?result=444");
            }
        }
    }
Beispiel #11
0
        public GameObject CreatePrefab()
        {
            ComplexRecipe.RecipeElement[] ingredients = new ComplexRecipe.RecipeElement[4]
            {
                new ComplexRecipe.RecipeElement((Tag)DreckoConfig.EGG_ID, 2f),
                new ComplexRecipe.RecipeElement((Tag)RawEggConfig.ID, (float)(5)),
                new ComplexRecipe.RecipeElement(SimHashes.Algae.CreateTag(), 5000f),
                new ComplexRecipe.RecipeElement(SimHashes.ToxicSand.CreateTag(), 1000f),
            };
            ComplexRecipe.RecipeElement[] results = new ComplexRecipe.RecipeElement[1]
            {
                new ComplexRecipe.RecipeElement((Tag)EGG_ID, 1f)
            };
            var r = new ComplexRecipe(ComplexRecipeManager.MakeRecipeID(ID, (IList <ComplexRecipe.RecipeElement>)ingredients,
                                                                        (IList <ComplexRecipe.RecipeElement>)results), ingredients, results, 0)
            {
                time        = 80f / 8,
                description = BabyDescription,
                nameDisplay = ComplexRecipe.RecipeNameDisplay.Result
            };

            r.fabricators = new List <Tag>()
            {
                TagManager.Create(SupermaterialRefineryConfig.ID)
            };
            return(EntityTemplates.ExtendEntityToFertileCreature(
                       CreateCritter(
                           id: ID,
                           name: Name,
                           desc: Description,
                           anim_file:
                           "adult_algae_drecko_kanim",
                           is_baby: false
                           ),
                       EGG_ID,
                       EggName,
                       Description,
                       "egg_algae_drecko_kanim",
                       DreckoTuning.EGG_MASS,
                       BabyId,
                       FertilityCycles,
                       IncubationCycles,
                       EggChances,
                       EGG_SORT_ORDER));
        }
Beispiel #12
0
        private void OnTriggerEnter2D(Collider2D other)
        {
            if (other.gameObject.CompareTag(TagManager.GetTag(TagType.DeathZone)) ||
                other.gameObject.CompareTag(TagManager.GetTag(TagType.Enemy)) ||
                other.gameObject.CompareTag(TagManager.GetTag(TagType.Player)))
            {
                if (_vfxSpawner != null)
                {
                    _vfxSpawner.PlayKilledVFX();
                }

                if (gameObject.CompareTag(TagManager.GetTag(TagType.Player)))
                {
                    restartButton.gameObject.SetActive(true);
                    gameObject.GetComponent <Rigidbody2D>().gravityScale = 0;
                }
            }
        }
Beispiel #13
0
        /// <summary>
        /// Returns the details for a question
        /// </summary>
        /// <param name="questionid">Question ID</param>
        /// <returns></returns>
        public ActionResult GetQuestion(int id)
        {
            var actQues = QuestionManager.GetQuestion(id);
            var model   = new GetQuestionModel();

            model.CurrentQuestion = actQues;

            //Get the vote of the question
            model.Vote = QuestionManager.GetVote(model.CurrentQuestion.Id);
            //List the tags of the question
            model.QuestionTags = TagManager.GetAllTagToOneQuestion(id);

            model.QuestionUser = UserManager.GetUserById(model.CurrentQuestion.UserId);



            return(View(model));
        }
Beispiel #14
0
 public IHttpActionResult GetTag(int id)
 {
     try
     {
         TagManager manager = new TagManager();
         var        tag     = manager.Obtener(id);
         if (tag != null)
         {
             return(Ok(tag));
         }
         else
         {
             return(BadRequest());
         }
     }catch (Exception e) {
         return(NotFound());
     }
 }
Beispiel #15
0
    public static GameObject CreateLightBug(string id, string name, string desc, string anim_file, bool is_baby)
    {
        GameObject prefab = BaseLightBugConfig.BaseLightBug(id, name, desc, anim_file, "LightBugBaseTrait", LIGHT2D.LIGHTBUG_COLOR, DECOR.BONUS.TIER4, is_baby, null);

        EntityTemplates.ExtendEntityToWildCreature(prefab, LightBugTuning.PEN_SIZE_PER_CREATURE, 25f);
        Trait trait = Db.Get().CreateTrait("LightBugBaseTrait", name, name, null, false, null, true, true);

        trait.Add(new AttributeModifier(Db.Get().Amounts.Calories.maxAttribute.Id, LightBugTuning.STANDARD_STOMACH_SIZE, name, false, false, true));
        trait.Add(new AttributeModifier(Db.Get().Amounts.Calories.deltaAttribute.Id, (0f - LightBugTuning.STANDARD_CALORIES_PER_CYCLE) / 600f, name, false, false, true));
        trait.Add(new AttributeModifier(Db.Get().Amounts.HitPoints.maxAttribute.Id, 5f, name, false, false, true));
        trait.Add(new AttributeModifier(Db.Get().Amounts.Age.maxAttribute.Id, 25f, name, false, false, true));
        HashSet <Tag> hashSet = new HashSet <Tag>();

        hashSet.Add(TagManager.Create(PrickleFruitConfig.ID));
        hashSet.Add(TagManager.Create("GrilledPrickleFruit"));
        hashSet.Add(SimHashes.Phosphorite.CreateTag());
        return(BaseLightBugConfig.SetupDiet(prefab, hashSet, Tag.Invalid, CALORIES_PER_KG_OF_ORE));
    }
        public void GetTagsForBlog_NoTags()
        {
            using (var db = new Db
            {
                new DbItem("blog1")
            })
            {
                var blogItem = db.GetItem("/sitecore/content/blog1");

                var entryManager = MockEntryManager(blogItem, new Entry(), new Entry());

                var sut = new TagManager(entryManager);

                var tags = sut.GetTagsForBlog(blogItem);

                Assert.That(tags, Is.Empty);
            }
        }
Beispiel #17
0
 bool GetIsOnLadder(List <ContactPoint> wallPoints, out SurfacePoint ladderPoint)
 {
     for (int i = 0; i < wallPoints.Count; i++)
     {
         ContactPoint point = wallPoints[i];
         if (TagManager.CompareTag("Ladder", point.otherCollider.gameObject))
         {
             float ladderAngle = Vector3.Angle(point.normal, rb.transform.up);
             if (ladderAngle < 91f)
             {
                 ladderPoint = new SurfacePoint(point, rb.transform.up);
                 return(true);
             }
         }
     }
     ladderPoint = null;
     return(false);
 }
Beispiel #18
0
        public MusicCollectionModel BuildMusicCollectionModel()
        {
            var tagManager = new TagManager {
                Tags = new List <BasicTag> {
                }
            };
            var trackManager = new TrackManager {
                Tracks = new List <TrackElement> {
                    new TrackElement {
                        Name = "First", Tags = new List <BasicTag>()
                    }
                }
            };

            return(new MusicCollectionModel {
                MainTagManager = tagManager, MainTrackManager = trackManager
            });
        }
Beispiel #19
0
 public void OnTriggerEnter(Collider other)
 {
     if (other.tag != TagManager.Get(Tag.Player))
     {
         return;
     }
     if (GameState.HasEnded)
     {
         UIGame.GetInstance().FadeToBlack(2.5f, () => {
             Application.OpenURL("https://twitter.com/intent/tweet?button_hashtag=MusesSexton&text="
                                 + Player.GetInstance().GetPlayerTombVerse()
                                 + "%0D" + Player.GetInstance().GetPlayerTombVerse()
                                 + "%0D" + Player.GetInstance().GetPlayerTombVerse()
                                 + "%0D");
             Application.Quit();
         });
     }
 }
Beispiel #20
0
        /// <summary>
        /// From list of the question make a QuestionIndexModel list to index page
        /// </summary>
        /// <param name="questions">Question list</param>
        /// <returns></returns>
        public static List <QuestionIndexModel> ToQuestionIndexModel(IEnumerable <Question> questions)
        {
            List <QuestionIndexModel> qim = new List <QuestionIndexModel>();

            foreach (var item in questions)
            {
                var add = new QuestionIndexModel();
                add.Question     = item;
                add.Answers      = AnswerManager.GetAllAnswerToOneQuestion(item.Id).Count;
                add.Vote         = QuestionManager.GetVote(item.Id);
                add.Tags         = TagManager.GetAllTagToOneQuestion(item.Id);
                add.QuestionUser = UserManager.GetUserById(item.UserId);

                qim.Add(add);
            }

            return(qim);
        }
Beispiel #21
0
    /// <summary>
    /// Raised right before the game is saved.
    /// </summary>
    /// <param name="sender">Unknown, used by SMAPI.</param>
    /// <param name="e">Event arguments.</param>
    /// <remarks>Used to handle day-end events.</remarks>
    private void Saving(object?sender, SavingEventArgs e)
    {
        this.Monitor.DebugLog("Event Saving raised");

        DialogueManager.Save(); // Save dialogue
        DialogueManager.ClearDelayedDialogue();

        if (Context.IsSplitScreen && Context.ScreenId != 0)
        {// Some properties only make sense for a single player to handle in splitscreen.
            return;
        }

        TagManager.ResetRandom();
        StatsManager.ClearProperties(); // clear property cache, repopulate at next use
        RecentSOManager.GrabNewRecentlyCompletedOrders();
        RecentSOManager.DayUpdate(Game1.stats.daysPlayed);
        RecentSOManager.Save();
    }
Beispiel #22
0
 /// <summary>
 /// The one and only ctor
 /// </summary>
 public BlepOut()
 {
     //TODO: add first time launch scanning for game folder
     InitializeComponent();
     this.Text = this.Text.Replace("<VersionNumber>", VersionNumber);
     firstshow = true;
     MaskModeSelect.Items.AddRange(new object[] { Maskmode.Names, Maskmode.Tags, Maskmode.NamesAndTags });
     MaskModeSelect.SelectedItem = Maskmode.NamesAndTags;
     outrmixmods = new List <string>();
     TagManager.ReadTagsFromFile(tagfilePath);
     BoiConfigManager.ReadConfig();
     RootPath = BoiConfigManager.TarPath;
     //if (File.Exists("changelog.txt"))
     //{
     //    System.Diagnostics.Process.Start("changelog.txt");
     //}
     firstshow = false;
 }
Beispiel #23
0
        public GameObject CreatePrefab()
        {
            string    id          = ID;
            string    name        = "Tooth Fossil";//"Primitive Hatch Fossil";
            string    desc        = "Primitive Hatch Fossil";
            float     mass        = 1f;
            bool      unitMass    = false;
            KAnimFile anim        = Assets.GetAnim("bark_skin_kanim");
            string    initialAnim = "object";

            Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front;
            EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.CIRCLE;
            float      width          = 0.35f;
            float      height         = 0.35f;
            bool       isPickupable   = true;
            List <Tag> additionalTags = new List <Tag>
            {
                GameTags.IndustrialIngredient,
                GameTags.Organics,
                TagManager.Create("FossilStone")
            };
            GameObject gameObject = EntityTemplates.CreateLooseEntity(id, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, SimHashes.Creature, additionalTags);

            gameObject.AddOrGet <EntitySplitter>();
            gameObject.AddOrGet <SimpleMassStatusItem>();

            var input        = new[] { new ComplexRecipe.RecipeElement(HatchConfig.EGG_ID, 1f), new ComplexRecipe.RecipeElement(RawEggConfig.ID, 1f) };
            var output       = new[] { new ComplexRecipe.RecipeElement(SturdyHatchConfig.EGG_ID, 1f) };
            var fabricatorId = Buildings.GeneticSamplerConfig.ID;
            var recipeId     = ComplexRecipeManager.MakeRecipeID(fabricatorId, input, output);
            var Recipe       = new ComplexRecipe(recipeId, input, output)
            {
                time        = 100f,
                description = RecipeDescription,
                nameDisplay = ComplexRecipe.RecipeNameDisplay.Result,
                fabricators = new List <Tag>
                {
                    fabricatorId
                },
                sortOrder = 120
            };

            return(gameObject);
        }
Beispiel #24
0
 public static void Postfix()
 {
     AddComplexRecipe(
         input: new[]
     {
         new ComplexRecipe.RecipeElement(SimHashes.Diamond.CreateTag(), 50f),
         new ComplexRecipe.RecipeElement(BasicFabricConfig.ID.ToTag(), 10f)
     },
         output: new[]
     {
         new ComplexRecipe.RecipeElement(TagManager.Create(FervineConfig.SeedId), 1f)
     },
         fabricatorId: SupermaterialRefineryConfig.ID,
         productionTime: 50f,
         recipeDescription: "Plant + shiny = ?",
         nameDisplayType: ComplexRecipe.RecipeNameDisplay.Result,
         sortOrder: 1000
         );
 }
Beispiel #25
0
        public ActionResult TagList()
        {
            var model = new TagListModel();

            model.dataSourceItem = Context.Database.GetItem(RenderingContext.Current.Rendering.DataSource);
            BlogSettings settingsItem = DataManager.GetBlogSettingsItem(model.dataSourceItem != null ? model.dataSourceItem : Context.Item);

            model.tagCount = TagManager.GetTagCloud(model.dataSourceItem != null ? model.dataSourceItem : Context.Item);
            if (settingsItem.OrderTagOnCount)
            {
                model.tags = TagManager.GetTagsOrderedByCount(model.tagCount);
            }
            else
            {
                model.tags = TagManager.GetTags(model.dataSourceItem != null ? model.dataSourceItem : Context.Item);
            }

            return(this.View("~/Areas/XBlog/Views/XBlog/Callouts/TagList.cshtml", model));
        }
Beispiel #26
0
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value == null)
            {
                return(null);
            }

            ObservableCollection <String> collection = value as ObservableCollection <String>;

            if (collection == null)
            {
                return(null);
            }

            List <object> toret = new List <object>();

            /*foreach (ObjectStructure os in collection.)
             * {
             *  toret.Add(os);
             * }*/

            for (int i = 0; i < collection.Count; i++)
            {
                MaterialDesignThemes.Wpf.Chip chip = new MaterialDesignThemes.Wpf.Chip();
                chip.Height      = 24;
                chip.IsDeletable = true;
                chip.Content     = collection[i];

                Brush brush = chip.Background;
                if (TagManager.isTag("Global", collection[i]))
                {
                    brush = new SolidColorBrush(TagManager.tagColor("Global", collection[i]));
                    //TODO: Handle tag image
                }

                chip.Background   = brush;
                chip.DeleteClick += delete;

                toret.Add(chip);
            }

            return(toret);//collection[idx.Value].Name;
        }
Beispiel #27
0
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            var tagContext = string.Empty;

            if (_attributeValues != null)
            {
                tagContext = _attributeValues.TagContext;
            }

            TagContext.Value = tagContext;
            ValueField.Attributes.Add("autocomplete", "off");

            var tags    = TagManager.GetTags(tagContext);
            var tagList = string.Join(",", tags.Tags.Select(t => "'" + t.Value.TagName + "'"));

            Script.Text = @"<script> $(document).ready(function() { var tags = [" + tagList + "]; var tags = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), queryTokenizer: Bloodhound.tokenizers.whitespace, local: $.map(tags, function(state) { return { value: state }; }) }); tags.initialize(); $('#" + ValueField.ClientID + "').tagsinput({ tagClass: 'label label-primary', typeaheadjs: {  name: 'tags', displayKey: 'value', valueKey: 'value', source: tags.ttAdapter() } }); });</script>";
        }
Beispiel #28
0
        /// <summary>Initializes a new instance of the <see cref="RepositoryDetails"/> class.</summary>
        /// <param name="repositoryPath">The path to the repository.</param>
        public RepositoryDetails(string repositoryPath)
        {
            if (Directory.Exists(repositoryPath) == false)
            {
                throw new ArgumentException(nameof(repositoryPath));
            }

            RepositoryPath = repositoryPath;

            var gitProcessManager = new GitProcessManager(repositoryPath);

            BranchManager     = new BranchManager(gitProcessManager);
            RebaseManager     = new RebaseManager(gitProcessManager, BranchManager);
            RefLogManager     = new RefLogManager(gitProcessManager);
            GitObjectManager  = new GitObjectManager(gitProcessManager);
            TagManager        = new TagManager(gitProcessManager);
            FriendlyName      = Path.GetFileName(repositoryPath);
            RepositoryManager = gitProcessManager;
        }
Beispiel #29
0
    // Update is called once per frame

    //collision adlı nesne diğer nesne, topun çarptığı duvarlar yani;
    private void OnCollisionEnter2D(Collision2D collision)
    {
        //TagManager adlı scriptten nesne oluşturduk ve içinde tagları çekicez;
        TagManager tagManager = collision.gameObject.GetComponent <TagManager>();

        //ses için;
        GetComponent <AudioSource>().Play();

        //tag yoksa null döndürür;
        if (tagManager == null)
        {
            return;
        }

        //TagManager den oluşturduğumuz enum=Tag ondan nesne oluşturduk tag isimli,
        //ve tagManager adlı nesnemiz için myTagleri çektik;
        Tag tag = tagManager.myTag;

        //sol duvara çarparsa top sağ raket kazanacak;
        if (tag.Equals(Tag.Left_Wall))
        {
            //right side will win
            rightRacket.makeScore();
        }

        //sağ duvara çarparsa top sol raket kazanacak;
        if (tag.Equals(Tag.Right_Wall))
        {
            //left side will win
            leftRacket.makeScore();
        }

        //topun raketlere çarptığı yere göre farklı açılarda gitmesi için;
        if (tag.Equals(Tag.Left_Racket))
        {
            SpinPositionCalculate(collision, 1);
        }
        //topun raketlere çarptığı yere göre farklı açılarda gitmesi için;
        else if (tag.Equals(Tag.Right_Racket))
        {
            SpinPositionCalculate(collision, -1);
        }
    }
Beispiel #30
0
    private void Start()
    {
        _isStucked              = false;
        CustomWebPosition       = new Vector3(0, 0, -0.3f);   // прибавляется к кординатам предмета и в этих кординатах спавнится паутина
        _playerTransform        = GameObject.FindGameObjectWithTag(TagManager.GetTag(TagType.Player)).transform;
        _animator               = GetComponent <Animator>();
        _capsuleRigidBody       = GetComponent <Rigidbody>();
        _capsuleCollider        = GetComponent <CapsuleCollider>();
        _bombCollider           = Bomb.GetComponent <Collider>();
        _bombCollider.isTrigger = true;
        _bombRigidBody          = Bomb.GetComponent <Rigidbody>();

        int num = 0;

        Rigidbody[] ragdollRigidBodyes = GetComponentsInChildren <Rigidbody>();
        _ragdollRigidBodyes = new Rigidbody[ragdollRigidBodyes.Length - 1];
        for (int i = 0; i < ragdollRigidBodyes.Length; i++)
        {
            if (ragdollRigidBodyes[i] != _bombRigidBody)
            {
                _ragdollRigidBodyes[num] = ragdollRigidBodyes[i];
                num++;
            }
        }

        num = 0;
        Collider[] ragdollColliders = GetComponentsInChildren <Collider>();
        _ragdollColliders = new Collider[ragdollColliders.Length - 1];
        for (int i = 0; i < ragdollColliders.Length; i++)
        {
            if (ragdollColliders[i] != _bombCollider)
            {
                _ragdollColliders[num] = ragdollColliders[i];
                num++;
            }
        }

        _mainGameController = FindObjectOfType <MainGameController>();
        HipsRigidBody.gameObject.AddComponent <RagdollCollisionChecker>().SetParametrs(this);
        HeadRigidBody.gameObject.AddComponent <RagdollCollisionChecker>().SetParametrs(this);
        SpineRigidBody.gameObject.AddComponent <RagdollCollisionChecker>().SetParametrs(this);
        TurnOffRagdoll();
    }
        /// <summary>
        /// Sets datasource of listview.
        /// </summary>
        /// <remarks>
        /// Loads tags form Content Repository and adds the following properties of them to a datatable:
        /// DisplayName, Created By, Creation Date, Modification Date, Reference Count, Path, Is Blacklisted an Node ID.
        /// Sets this datatable as datasource to the listview.
        /// </remarks>
        private void SetDataSource()
        {
            var refCounts = TagManager.GetTagOccurrencies();
            var dt        = new DataTable();

            _tagsInRepository = new List <string>();

            dt.Columns.AddRange(new[] {
                new DataColumn("DisplayName", typeof(String)),
                new DataColumn("CreatedBy", typeof(String)),
                new DataColumn("CreationDate", typeof(DateTime)),
                new DataColumn("ModificationDate", typeof(DateTime)),
                new DataColumn("RefCount", typeof(Int32)),
                new DataColumn("Path", typeof(String)),
                new DataColumn("IsBlackListed", typeof(String)),
                new DataColumn("ID", typeof(Int32))
            });

            foreach (var item in ContentQuery.Query($"+TypeIs:Tag +InTree:{TagPath}", QuerySettings.AdminSettings).Nodes.ToList())
            {
                var black = GetIsBlackListed(item.Id);

                dt.Rows.Add(item.DisplayName, item.CreatedBy, item.CreationDate, item.ModificationDate,
                            refCounts.ContainsKey(item.DisplayName) ? refCounts[item.DisplayName] : 0, item.Path, black,
                            Convert.ToInt32(item.Id));

                if (black == "No")
                {
                    _tagsInRepository.Add(item.DisplayName);
                }
            }

            _allTags = TagManager.GetAllTags(null, SearchPaths);

            dt.DefaultView.Sort = !String.IsNullOrEmpty(Request.QueryString["OrderBy"]) ? String.Concat(Request.QueryString["OrderBy"], " " + Request.QueryString["Direction"]) : "DisplayName ASC";

            _lv = FindControl("LVTags") as ListView;
            if (_lv != null)
            {
                _lv.DataSource = dt.DefaultView;
                _lv.DataBind();
            }
        }
Beispiel #32
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        TagManager tag = collision.gameObject.GetComponent <TagManager>();

        GetComponent <AudioSource>().Play();
        if (tag == null)
        {
            return;
        }
        //direction topla bombanın çarpısı sonucu topun yön değiştirmemesi için kullanılıyor.
        if (tag.myTag == Tag.SOL_DUVAR)
        {
            direction = true;
        }
        else if (tag.myTag == Tag.SAG_DUVAR)
        {
            direction = false;
        }
    }
Beispiel #33
0
    /// <summary>
    /// 由标签名称列表返回标签ID列表,带{},新标签自动添加
    /// </summary>
    /// <param name="tagNameList"></param>
    /// <returns></returns>
    protected string GetTagIdList(string tagNames)
    {
        if (string.IsNullOrEmpty(tagNames))
        {
            return(string.Empty);
        }
        string tagIds = string.Empty;

        tagNames = tagNames.Replace(",", ",");

        string[] names = tagNames.Split(',');

        foreach (string n in names)
        {
            if (!string.IsNullOrEmpty(n))
            {
                TagInfo t = TagManager.GetTag(n);

                //if (t == null)
                //{
                //    t = TagManager.GetTagBySlug(n);
                //}

                //  int tagId = TagManager.GetTagId(n);

                if (t == null)
                {
                    t = new TagInfo();

                    t.Count        = 0;
                    t.CreateDate   = DateTime.Now;
                    t.Description  = n;
                    t.Displayorder = 1000;
                    t.Name         = n;
                    t.Slug         = StringHelper.HtmlEncode(PageUtils.FilterSlug(n, "tag"));

                    t.TagId = TagManager.InsertTag(t);
                }
                tagIds += "{" + t.TagId + "}";
            }
        }
        return(tagIds);
    }
    private void Awake()
    {
        if (_instance == null)
        {
            _instance = this;
        }
        else
        {
            Debug.LogWarning ("Multiple MarkerManagers present, disabling: {0}", this.gameObject);
            enabled = false;
        }

        if (_tagNameToToolArray != null)
        {
            foreach (TagNameToToolMapping m in _tagNameToToolArray)
            {
                _tagNameToToolDict.Add (m.tagName, m.toolPrefab);
            }
        }
    }
Beispiel #35
0
		/// <summary>
		/// Halo1 export interface class constructor
		/// </summary>
		/// <param name="tag_index">Tag index containing the tag being exported</param>
		/// <param name="tag_datum">DatumIndex of the tag being exported</param>
		public ColladaHalo1(TagIndex tag_index, DatumIndex tag_datum)
		{
			tagIndex = tag_index;
			tagManager = tag_index[tag_datum];

			GenerateInfoList();
		}
Beispiel #36
0
			public static int GetTriangleCount(RenderModelInfoInternal model_info, TagManager manager)
			{
				var definition = manager.TagDefinition as Blam.Halo2.Tags.render_model_group;

				int count = 0;
				for (int i = 0; i < model_info.GetGeometryCount(); i++)
					count += definition.Sections[model_info.GetGeometryIndex(i)].SectionInfo.Value.TotalTriangleCount;
				return count;
			}
		bool ExtractWithDependents(Blam.CacheExtractionInfo cei, TagManager tag)
		{
			ErrorTagDatabase etdb = cei.DatabaseErrors;
			bool error_root_is_initialized = false;

			var depns = cacheFile.ExtractionState.CurrentDependents();
			var depns_to_extract = new List<Blam.DatumIndex>();

			foreach (Blam.DatumIndex datum in depns)
			{
				if (!ExtractionDontExtract(cei, datum))
				{
					cei.Database.AddDependent(cacheFile.Index.Tags[datum.Index]);
					depns_to_extract.Add(datum);
				}
				else
				{
					ExtractWithDependentsErrorSkipped(etdb, tag, ref error_root_is_initialized, datum);
					cacheFile.ExtractionState.Dequeue(datum);
				}
			}

			// extract the valid dependents
			foreach (Blam.DatumIndex datum in depns_to_extract)
			{
				cei.Reset(cacheFile.Index.Tags[datum.Index]);
				if (!Extract(cei, datum, true))
					ExtractWithDependentsErrorFailed(etdb, tag, ref error_root_is_initialized, datum);
			}

			return true;
		}
		// Initializes the error DB if it hasn't already been setup
		void ExtractWithDependentsPreprocessErrorDatabase(ErrorTagDatabase etdb, TagManager tag, ref bool root_is_initialized)
		{
			if (!root_is_initialized)
			{
				etdb.SetRoot(this.References[tag.ReferenceName], tag.GroupTag.ID);
				root_is_initialized = true;
			}
		}
Beispiel #39
0
			public static int GetPermutationCount(TagManager manager)
			{
				var definition = manager.TagDefinition as Blam.Halo1.Tags.gbxmodel_group;

				int permutation_count = 0;
				foreach (var region in definition.Regions)
					permutation_count = (region.Permutations.Count > permutation_count ? region.Permutations.Count : permutation_count);
				return permutation_count;
			}
Beispiel #40
0
		/// <summary>
		/// Add an existing tag group definition to the index
		/// </summary>
		/// <param name="name">name of the tag (relative to the directory this tag index uses)</param>
		/// <param name="definition">Instance of a tag group definition</param>
		/// <returns>The tag_index handle associated with the <see cref="TagManager"/> now managing the definition</returns>
		/// <remarks>
		/// <paramref name="definition"/> must have a <see cref="TagInterface.TagGroupAttribute"/> applied to it.
		/// If <paramref name="tag_group"/> is setup to be ignored, we return <see cref="kSkipped"/>.
		/// If the name\tag_group tag already exists (in memory only), we return <see cref="Blam.DatumIndex.Null"/>.
		/// </remarks>
		public Blam.DatumIndex Add(string name, TagInterface.Definition definition)
		{
			TagInterface.TagGroupAttribute tga = definition.State.Attribute as TagInterface.TagGroupAttribute;

			TagInterface.TagGroup tag_group = definition.State.Engine.VersionToTagCollection()[tga.GroupIndex];

			if (Ignore(tag_group)) return kSkipped;

			// Checks to see or if there is one in memory
			if (IsLoaded(name, tag_group) != Blam.DatumIndex.Null)
			{
				indexTrace.WriteLine("Tag Index: Couldn't add an existing tag! '{0}.{1}' already exists", name, tag_group.Name);
				return Blam.DatumIndex.Null;
			}

			#region Initialize tag manager
			TagManager tm = new TagManager(this);
			tm.ReferenceName = refManager.Add(tm, tag_group, name);
			tm.Manage(definition);
			tm.TagIndex = Array.Add(tm);
			#endregion

			base.OnEventOpen(new TagIndexEventArgs(this, tm));
			return tm.TagIndex;
		}
Beispiel #41
0
		/// <summary>
		/// Create a new tag
		/// </summary>
		/// <param name="name">name of the tag (relative to the directory this tag index uses)</param>
		/// <param name="tag_group">tag group for the tag</param>
		/// <returns>The tag_index handle associated with the <see cref="TagManager"/> used to create the tag</returns>
		/// <remarks>
		/// If <paramref name="tag_group"/> is setup to be ignored, we return <see cref="kSkipped"/>.
		/// If the name\tag_group tag already exists (either in memory or on disk), we return <see cref="Blam.DatumIndex.Null"/>.
		/// </remarks>
		public Blam.DatumIndex New(string name, TagInterface.TagGroup tag_group)
		{
			if (Ignore(tag_group)) return kSkipped;

			// Checks to see if the tag exists on disk
			string path = string.Format("{0}.{1}", Path.Combine(directory, name), tag_group.Name);
			if (Exists(path))
			{
				indexTrace.WriteLine("Tag Index: Couldn't create a new tag! '{0}' already exists on disk", path);
				return Blam.DatumIndex.Null;
			}

			// ...or if there is one in memory
			if (IsLoaded(name, tag_group) != Blam.DatumIndex.Null)
			{
				indexTrace.WriteLine("Tag Index: Couldn't create a new tag! '{0}.{1}' already exists", name, tag_group.Name);
				return Blam.DatumIndex.Null;
			}

			TagManager tm = new TagManager(this);
			tm.ReferenceName = refManager.Add(tm, tag_group, name);
			tm.Manage(tag_group); // setup the tag group
			tm.TagIndex = Array.Add(tm);

			base.OnEventOpen(new TagIndexEventArgs(this, tm));
			return tm.TagIndex;
		}
Beispiel #42
0
		void ErrorDatabaseUpdate(TagManager tm)
		{
			if (!tm.ContainsBadReferences) return;

			if(errorDatabase == null) // If this is the first tag to have errors, we need to create the database now
				errorDatabase = Program.GetManager(engine).CreateErrorTagDatabase();

			// Add our 'root' tag, which isn't problematic
			errorDatabase.SetRoot(tm.Name, tm.GroupTag.ID);

			foreach(TagInterface.TagReference tr in tm.BadRefereces)
			{
				ErrorTagDatabase.ErrorFlags ef;

				// determine what problem we had with this reference
				if (tr.Datum == kSkipped)					ef = ErrorTagDatabase.ErrorFlags.Skipped;
				else if (tr.Datum == kMissing)				ef = ErrorTagDatabase.ErrorFlags.Missing;
				else if (tr.Datum == kVersionInvalid)		ef = ErrorTagDatabase.ErrorFlags.InvalidVersion;
				else if (tr.Datum == Blam.DatumIndex.Null)	ef = ErrorTagDatabase.ErrorFlags.Failure;
				else throw new Debug.Exceptions.UnreachableException(tr.Datum);

				// add this reference to the database under our 'root' tag
				int hash_value = errorDatabase.AddDependent(refManager[tr.ReferenceId], tr.GroupTagInt, ef);

				errorDatabaseBadTagHashes.Add(hash_value);
			}
		}
        public void Init(TagManager tagManager)
        {
            _manager = TagManagerConverter.Convert(tagManager);
            _manager.TagRemoved += _manager_TagRemoved;
            var baseTag = _manager.GetBaseTag();

            _tags = new ObservableCollection<TagTreeViewItemModel>();

            _tags.Add(baseTag as TagTreeViewItemModel);
        }
Beispiel #44
0
			public static void AddShaderDatums(BSPInfoInternal bsp_info, TagManager manager)
			{
				var definition = manager.TagDefinition as Blam.Halo1.Tags.structure_bsp_group;

				foreach (var lightmap in definition.Lightmaps)
				{
					foreach (var material in lightmap.Materials)
						bsp_info.AddShaderDatum(material.Shader.Datum,
							material.Shader.ToString());
				}
			}
Beispiel #45
0
 public void Startup(Core.IAgileOutlookAddIn baseAddin, TagManager tagManager)
 {
     this.baseAddin = baseAddin;
     this.tagManager = tagManager;
     regEx = @"CM-\w+";
 }
Beispiel #46
0
		/// <summary>
		/// Open an existing tag
		/// </summary>
		/// <param name="name">name of the tag</param>
		/// <param name="tag_group">group tag of the tag</param>
		/// <param name="flags">special flags to use when opening</param>
		/// <returns>
		/// The tag_index handle associated with the <see cref="TagManager"/> used to load the tag, or <see cref="Blam.DatumIndex.Null"/> if this operations fails
		/// </returns>
		/// <remarks>
		/// Will return existing handles if tag is already open. 
		/// If <paramref name="tag_group"/> is setup to be ignored, we return <see cref="kSkipped"/>.
		/// </remarks>
		public Blam.DatumIndex Open(string name, TagInterface.TagGroup tag_group, uint flags)
		{
			// HACK: Halo1 PC uses gbx's variant of the model tag
			if (Engine == BlamVersion.Halo1_CE && tag_group == Blam.Halo1.TagGroups.mode)
			{
				tag_group = Blam.Halo1.TagGroups.mod2;
			}

			if (Ignore(tag_group)) return kSkipped;

			// Does this tag even exist on disk?
			string path = string.Format("{0}.{1}", Path.Combine(directory, name), tag_group.Name);
			if (!Exists(path)) return kMissing;

			// Is this tag already loaded? if so, reuse handle
			Blam.DatumIndex di = IsLoaded(name, tag_group);
			if (di != Blam.DatumIndex.Null)
			{
				Array.IncrementReference(di);
				return di;
			}

			// If the tag had errors, don't try loading it again.
			// Note that valid tags can exist in the error database since they act as root tags for problem 
			// tags, but since we call [IsLoaded] above this it will catch any valid cases
			if (ErrorDatabaseContains(name, tag_group))
				return Blam.DatumIndex.Null;

			#region Initialize tag manager
			TagManager tm = new TagManager(this);
			tm.ReferenceName = refManager.Add(tm, tag_group, name);
			tm.Flags.Add(flags);
			tm.Manage(tag_group);
			tm.TagIndex = di = Array.Add(tm); // in order to read the tag, the tag index must be setup first (due how TagManager.Path is setup)
			#endregion
			#region Stream tag manager
			tm.OpenForRead();
			try { tm.Read(); }
			catch (TagInterface.Exceptions.InvalidVersion /*ex_version*/)
			{
				//indexTrace.WriteLine("Tag Index: Failed to open tag from disk (invalid\\unhandled version): {0}{1}{2}", path, Program.NewLine, ex_version);
				di = kVersionInvalid;
			}
			catch (Exception ex)
			{
				indexTrace.WriteLine("Tag Index: Failed to open tag from disk: {0}{1}{2}", path, Program.NewLine, ex);
				di = Blam.DatumIndex.Null;
			}
			finally { tm.Close(); }

			if(di != tm.TagIndex)
			{
				Array.Remove(tm.TagIndex);
				ErrorDatabaseAddLocalHack(name, tag_group);

				return di;
			}
			#endregion
			ErrorDatabaseUpdate(tm);

			base.OnEventOpen(new TagIndexEventArgs(this, tm));
			return tm.TagIndex;
		}
		void ExtractWriteTagDatabases(Blam.CacheExtractionInfo cei, TagManager root_tag)
		{
			var tdb_group = Program.GetManager(Engine).TagDatabaseGroup;

			ExtractWriteTagDatabase(cei, root_tag, tdb_group, 
				cei.Database.Definition, false);
			ExtractWriteTagDatabase(cei, root_tag, tdb_group,
				cei.DatabaseErrors.Definition, true);
			
		}
Beispiel #48
0
		internal string GetFullPath(TagManager tm)
		{
			return string.Format("{0}.{1}", System.IO.Path.Combine(directory, refManager[tm.ReferenceName]), tm.GroupTag.Name);
		}
		// Setup the error DB and add a failed tag entry
		void ExtractWithDependentsErrorFailed(ErrorTagDatabase etdb, TagManager tag, ref bool root_is_initialized, Blam.DatumIndex error_tag)
		{
			ExtractWithDependentsPreprocessErrorDatabase(etdb, tag, ref root_is_initialized);

			var error_item = cacheFile.Index.Tags[error_tag.Index];
			etdb.AddDependent(References[error_item.ReferenceName], error_item.GroupTag.ID,
				ErrorTagDatabase.ErrorFlags.Failure);
		}
Beispiel #50
0
		public void ToDatabase(string db_name)
		{
			TagDatabase db = ToDatabase();

			using (TagManager tm = new TagManager())
			{
				tm.Engine = this.engine;
				tm.Manage(db.Definition);
				tm.CreateForWriteHack(db_name);
				tm.Write();
			}
		}
		void ExtractWriteTagDatabase(Blam.CacheExtractionInfo cei, TagManager root_tag, 
			TagInterface.TagGroup database_group,
			TagInterface.Definition db_definition, bool is_error_db)
		{
			if ((db_definition as ITagDatabase).IsEmpty)
				return;

			// name the database after the root tag we're extracting
			string tag_name = root_tag.Name;
			if (is_error_db)
				tag_name = string.Format("{0}.errors", tag_name);

			Blam.CacheIndex.Item tdb_item;
			// Just in-case someone tries to extract the same root tag twice
			if (!cacheFile.TryAndFind(tag_name, database_group, out tdb_item))
			{
				tdb_item = cacheFile.AddFeignTagInstance(tag_name, database_group);

				if (tdb_item == null)
				{
					extractionTrace.WriteLine("Couldn't create a tag_database for {0}! Couldn't create tag entry for database",
						root_tag.Name);
					return;
				}
			}

			try
			{
				var tdb_index = this.Open(tdb_item.Datum);

				var tdb = this[tdb_index];
				tdb.Manage(db_definition);

				// Even though the tag isn't actually in the cache, the tag 
				// manager needs to operate this way with CacheTagIndex elements
				tdb.OpenForExtract(cei.Arguments.OutputDirectory, null);
				tdb.Extract();

				tdb.Close();
				Unload(tdb_index);
			}
			catch(Exception ex)
			{
				extractionTrace.WriteLine("Error while trying to write tag_database!");
				extractionTrace.WriteLine(ex);
			}
		}
Beispiel #52
0
			public static void AddShaderDatums(ModelInfoInternal model_info, TagManager manager)
			{
				var definition = manager.TagDefinition as Blam.Halo1.Tags.gbxmodel_group;

				for (int i = 0; i < model_info.GetGeometryCount(); i++)
				{
					foreach (var part in definition.Geometries[model_info.GetGeometryIndex(i)].Parts)
						model_info.AddShaderDatum(definition.Shaders[part.ShaderIndex.Value].Shader.Datum,
							definition.Shaders[part.ShaderIndex.Value].Shader.ToString());
				}
			}
Beispiel #53
0
        public void Dispose()
        {
            try {

                if (null != dbConnector && dbConnector.IsConnected()) {
                    dbConnector.Disconnect();
                }
                //Common.StopAPI();
            }
            catch (Exception) {

            }
            _mInstance = null;
            tagTree = null;
            tagManager = null;
            dbConnector = null;
            rootNode = null;
            realSubscriber = null;
            //Common.StopAPI();
        }
Beispiel #54
0
			public static int GetTriangleCount(TagManager manager, BSPObjectType type)
			{
				var definition = manager.TagDefinition as Blam.Halo1.Tags.structure_bsp_group;
				int count = 0;
				switch (type)
				{
					case BSPObjectType.RenderMesh:
						foreach (var lightmap in definition.Lightmaps)
						{
							foreach (var material in lightmap.Materials)
								count += material.SurfaceCount;
						}
						break;
					case BSPObjectType.Portals:
						foreach (var portal in definition.ClusterPortals)
							count += portal.Vertices.Count - 2;
						break;
					case BSPObjectType.FogPlanes:
						foreach (var fogplane in definition.FogPlanes)
							count += fogplane.Vertices.Count - 2;
						break;
				};
				return count;
			}
Beispiel #55
0
			public static void AddGeometryInfos(ModelInfoInternal model_info, TagManager manager, int permutation, int lod)
			{
				var definition = manager.TagDefinition as Blam.Halo1.Tags.gbxmodel_group;

				foreach (var region in definition.Regions)
				{
					int permutation_index = permutation;

					if (permutation >= region.Permutations.Count)
						permutation_index = region.Permutations.Count - 1;

					string name = string.Format("{0}-{1}-lod{2}", 
						region.Name.Value, region.Permutations[permutation_index].Name, lod.ToString());

					int index = 0;
					switch (lod)
					{
						case 0: index = region.Permutations[permutation_index].SuperHigh; break;
						case 1: index = region.Permutations[permutation_index].High; break;
						case 2: index = region.Permutations[permutation_index].Medium; break;
						case 3: index = region.Permutations[permutation_index].Low; break;
						case 4: index = region.Permutations[permutation_index].SuperLow; break;
					};

					model_info.AddGeometry(name, index);
				}
			}
Beispiel #56
0
			public static int GetTriangleCount(ModelInfoInternal model_info, TagManager manager)
			{
				var definition = manager.TagDefinition as Blam.Halo1.Tags.gbxmodel_group;

				int triangle_count = 0;
				for (int i = 0; i < model_info.GetGeometryCount(); i++)
				{
					foreach (var part in definition.Geometries[model_info.GetGeometryIndex(i)].Parts)
						triangle_count += part.Triangles.Count;
				}
				return triangle_count;
			}
Beispiel #57
0
 /// <summary>
 /// 是否连接实时库
 /// </summary>
 /// <returns></returns>
 public Boolean Connection()
 {
     try {
         String serverName = ConfigurationManager.AppSettings["PIServer"];
         //格式:"UID=kkk;PWD="
         String userNameAndpassword = ConfigurationManager.AppSettings["PIConnectionString"];
         if (null == dbConnector) {
             dbConnector = new DbConnector();
         }
         dbConnector.ServerName = serverName;
         String userName = String.Empty;
         String password = String.Empty;
         GetUserIDAndPwd(userNameAndpassword, out userName, out password);
         dbConnector.UserName = userName;
         dbConnector.Password = password;
         dbConnector.TimeOut = 10;  //超时时间,单位为秒
         if (null != dbConnector && dbConnector.IsConnected()) {
             tagTree = TagTree.CreateInstance(dbConnector);
             tagManager = tagTree.GetMgr();
             rootNode = tagTree.GetTreeRoot();
             return true;
         }
         DbError error = dbConnector.Connect();
         if (error.HasErrors) {
             _ErrorInfo = "pSpaceApi类Connect函数出错:" + error.ErrorMessage + ",错误编码为: " + error.ErrorCode;
             return false;
         }
         tagTree = TagTree.CreateInstance(dbConnector);
         tagManager = tagTree.GetMgr();
         rootNode = tagTree.GetTreeRoot();
         return true;
     }
     catch (Exception e) {
         _ErrorInfo = "pSpaceApi类Connect函数异常:" + e.Message + " $$$ " + e.StackTrace;
         return false;
     }
 }
Beispiel #58
0
			public static int GetVertexCount(ModelInfoInternal model_info, TagManager manager)
			{
				var definition = manager.TagDefinition as Blam.Halo1.Tags.gbxmodel_group;

				int vertex_count = 0;
				for (int i = 0; i < model_info.GetGeometryCount(); i++)
				{
					foreach (var part in definition.Geometries[model_info.GetGeometryIndex(i)].Parts)
						vertex_count += part.UncompressedVertices.Count;
				}
				return vertex_count;
			}
 public TagStickerAddButtonStrategy(ITagStickable stickable, TagManager tagManager)
 {
     _stickable = stickable;
     _tagManager = tagManager;
 }
Beispiel #60
0
		/// <summary>
		/// Open a tag in the cache file
		/// </summary>
		/// <param name="tag_datum">index of tag</param>
		/// <returns>
		/// The tag_index handle associated to the <see cref="TagManager"/> object used to open the tag, 
		/// or <see cref="Blam.DatumIndex.Null"/> if this operations fails
		/// </returns>
		public Blam.DatumIndex Open(Blam.DatumIndex tag_datum)
		{
			if (tag_datum == Blam.DatumIndex.Null)
				return Blam.DatumIndex.Null;


			Blam.CacheIndex.Item i = cacheFile.Index.Tags[tag_datum.Index];

			if (i.IsEmpty)
				throw new ArgumentNullException("tag_datum", string.Format("The tag handle {0} references an empty tag. We can't open this!", tag_datum.ToString()));

			// How can we open it if we don't know where it F*****G IS YOU C**T??
			if (i.Location != Blam.CacheIndex.ItemLocation.Internal && !i.IsFeignItem)
				return Blam.DatumIndex.Null;

			// Is this tag already loaded? if so, reuse handle
			Blam.DatumIndex di = IsLoaded(i);
			if (di != Blam.DatumIndex.Null)
			{
				Array.IncrementReference(di);
				return di;
			}

			TagManager tm = new TagManager(this);
			tm.ReferenceName = i.ReferenceName; // sync the tag manager's name with the cache item's

			bool group_tag_hack = false;
			BlamBuild build = Engine.ToBuild();
			// HACK: Halo1 PC uses gbx's variant of the model tag
			if (Engine == BlamVersion.Halo1_CE && i.GroupTag == Blam.Halo1.TagGroups.mode)
			{
				tm.Manage(Blam.Halo1.TagGroups.mod2);
				group_tag_hack = true;
			} else
			// HACK: Halo 2/3 use a the 'sound' group tag for their 'cache_file_sound' definitions
#if !NO_HALO2
			if (build == BlamBuild.Halo2 && i.GroupTag == Blam.Halo2.TagGroups.snd_)
			{
				tm.Manage(Blam.Halo2.TagGroups.shit);
				group_tag_hack = true;
			} else
#endif
#if !NO_HALO3
			if (build == BlamBuild.Halo3 && i.GroupTag == Blam.Halo3.TagGroups.snd_)
			{
				tm.Manage(Blam.Halo3.TagGroups.shit);
				group_tag_hack = true;
			} else
#endif
#if !NO_HALO_ODST
			if (build == BlamBuild.HaloOdst && i.GroupTag == Blam.Halo3.TagGroups.snd_)
			{
				tm.Manage(Blam.Halo3.TagGroups.shit);
				group_tag_hack = true;
			} else
#endif
#if !NO_HALO_REACH
			if (build == BlamBuild.HaloReach && i.GroupTag == Blam.HaloReach.TagGroups.snd_)
			{
				tm.Manage(Blam.HaloReach.TagGroups.shit);
				group_tag_hack = true;
			} else
#endif
#if !NO_HALO4
			if (build == BlamBuild.Halo4 && i.GroupTag == Blam.Halo4.TagGroups.snd_)
			{
				tm.Manage(Blam.Halo4.TagGroups.shit);
				group_tag_hack = true;
			} else
#endif
			tm.Manage(i.GroupTag);

			if (!i.IsFeignItem)
			{
				// We don't care about this shit when extracting or opening from a cache file
				const uint k_open_flags = IO.ITagStreamFlags.DontTrackTagManagerReferences | 
					IO.ITagStreamFlags.DontTrackTagReferencers;

				tm.Flags.Add(k_open_flags);

				try { tm.Read(i, cacheFile, group_tag_hack); }
				catch (Exception ex)
				{
					indexTrace.WriteLine("Cache Index: Failed to open tag from cache: {0}{1}'{2}.{3}'{4}{5}",
						cacheFile.InputStream.FileName, Program.NewLine,
						cacheFile.GetReferenceName(i), i.GroupTag.Name, Program.NewLine, ex);
					return Blam.DatumIndex.Null;
				}

				// Remove the flag we set before reading
				tm.Flags.Remove(k_open_flags);
			}

			tm.TagIndex = Array.Add(tm);
			base.OnEventOpen(new TagIndexEventArgs(this, tm));
			return tm.TagIndex;
		}