void Awake() { thisSprite = gameObject.GetComponent <SpriteRenderer> (); gm = GameObject.Find("GM").GetComponent <GM> (); thisCollider = gameObject.GetComponent <Collider2D> (); pickupTrigger = GameObject.FindWithTag("Player").GetComponent <PickupTrigger>(); }
public static CampaignNode InitializeCampaign() { //Initialize Tutorial Mission Instantiators WinCondition winCon = new WinCondition(); TutorialMoneyInitialier moneyInit = new TutorialMoneyInitialier(); //Initialize Tutorial Missin Triggers WinTrigger win = new WinTrigger(); SpeakTrigger tutorial_First_Mayor = new SpeakTrigger(SpeakerType.Mayor, 1, "I will get your medicine"); SpeakTrigger tutorial_First_Shopkeeper = new SpeakTrigger(SpeakerType.ShopKeeper, 1, "Do you know where to find money?"); PickupTrigger tutorialMoneyCollection = new PickupTrigger("Money", 5); SpeakTrigger tutorial_Second_Shopkeeper = new SpeakTrigger(SpeakerType.ShopKeeper, 1, "Here is the money you asked for"); PickupTrigger pickUpMedicine = new PickupTrigger("Mayor_Medicine", 1); SpeakTrigger tutorial_Second_Mayor = new SpeakTrigger(SpeakerType.Mayor, 1, "Here is your medicine"); CampaignNode temp; CampaignNode next; //Contruct the campaign tree next = new CampaignNode(null, null, win, 7, "You Win!", winCon); temp = new CampaignNode(next, null, tutorial_Second_Mayor, 6, "Return to the Mayor to give him his medicine"); //next = temp; //temp = new CampaignNode(next, null, pickUpMedicine, 5, "Pickup Medicine from the Shopkeeper"); next = temp; temp = new CampaignNode(next, null, tutorial_Second_Shopkeeper, 4, "Return to the Shopkeeper with the money"); next = temp; temp = new CampaignNode(next, null, tutorialMoneyCollection, 3, "Collect 5 money to pay the Shopkeeper for the Mayor's medicine", moneyInit); next = temp; temp = new CampaignNode(next, null, tutorial_First_Shopkeeper, 2, "Talk to the Shopkeeper about the Mayor's medicine"); next = temp; temp = new CampaignNode(next, null, tutorial_First_Mayor, 1, "Talk to the Mayor"); return(temp); }
public override void OnCarryStart(Entity carrier) { base.OnCarryStart(carrier); if (PickupTrigger.IsValid()) { PickupTrigger.EnableTouch = false; } }
public override void Spawn() { base.Spawn(); SetModel("weapons/rust_pistol/rust_pistol.vmdl"); PickupTrigger = new PickupTrigger(); PickupTrigger.Parent = this; PickupTrigger.Position = Position; }
public override void OnCarryDrop(Entity dropper) { LastDropOwner = Owner; TimeSinceLastDrop = 0f; base.OnCarryDrop(dropper); if (PickupTrigger.IsValid()) { PickupTrigger.EnableTouch = true; } }
public override void Spawn() { base.Spawn(); SetModel("weapons/rust_pistol/rust_pistol.vmdl"); PickupTrigger = new PickupTrigger { Parent = this, Position = Position, EnableTouch = true }; }
public override void Spawn() { base.Spawn(); PickupTrigger = new PickupTrigger { Parent = this, Position = Position, EnableTouch = true, EnableSelfCollisions = false }; PickupTrigger.PhysicsBody.AutoSleep = false; }
public override void Spawn() { base.Spawn(); SetModel("models/potato/ball.vmdl"); SetupPhysicsFromModel(PhysicsMotionType.Dynamic, false); Scale = 1; RenderColor = Color.Random.ToColor32(); PickupTrigger = new PickupTrigger { Parent = this, Position = Position, EnableTouch = true }; }
public void AddNewItem(int id, float dur = -4.65664672E+11f) { Inventory.uniqid++; if (TutorialManager.status) { PickupTrigger[] array = UnityEngine.Object.FindObjectsOfType <PickupTrigger>(); PickupTrigger pickupTrigger = null; foreach (PickupTrigger pickupTrigger2 in array) { if ((pickupTrigger2.filter == -1 || pickupTrigger2.filter == id) && (pickupTrigger == null || pickupTrigger2.prioirty < pickupTrigger.prioirty)) { pickupTrigger = pickupTrigger2; } } try { if (pickupTrigger != null) { pickupTrigger.Trigger(id); } } catch { MonoBehaviour.print("Error"); } } Item item = new Item(this.availableItems[id]); if (this.items.Count < 8 || item.noEquipable) { if (dur != -4.65664672E+11f) { item.durability = dur; } this.items.Add(new Inventory.SyncItemInfo { id = item.id, durability = item.durability, uniq = Inventory.uniqid }); } }
private void InitializeObjects() { for (int i = 0; i < 5; i++) { normalBlocks[i] = new GeneralObject(1) { GroupIDs = new int[] { i + 1 }, Color1ID = i + 1, Color2ID = i + 21, }; moveTriggers[i] = new MoveTrigger(0, i + 1); pickupItems[i] = new PickupItem(1275) { TargetItemID = i + 1, }; pickupTriggers[i] = new PickupTrigger(i + 1, 0); colorTriggers[i] = new ColorTrigger(i + 1) { CopiedColorID = i + 21, }; instantCountTriggers[i] = new InstantCountTrigger(i + 1, i + 1, 0); collisionBlocks[i] = new CollisionBlock { BlockID = i + 1, }; collisionTriggers[i] = new CollisionTrigger(i + 1, i + 21, i + 1); } allObjects = new LevelObjectCollection(normalBlocks.Concat(moveTriggers).Concat(pickupItems).Concat(pickupTriggers).Concat(colorTriggers).Concat(instantCountTriggers).Concat(collisionBlocks).Concat(collisionTriggers)); }
public void GetUsedIDs() { // Part 0 var moveTrigger = new MoveTrigger(); moveTrigger.GroupIDs = groupIDs; moveTrigger.TargetGroupID = 163; moveTrigger.TargetPosGroupID = 321; var used = moveTrigger.UsedGroupIDs; Assert.IsTrue(used.AssignedIDs.Contains(4)); Assert.IsTrue(used.AssignedIDs.Contains(1)); Assert.IsTrue(used.AssignedIDs.Contains(412)); Assert.IsTrue(used.AssignedIDs.Contains(3)); Assert.AreEqual(163, used.PrimaryID); Assert.AreEqual(321, used.SecondaryID); var block = new GeneralObject(); block.GroupIDs = groupIDs; used = block.UsedGroupIDs; Assert.IsTrue(used.AssignedIDs.Contains(4)); Assert.IsTrue(used.AssignedIDs.Contains(1)); Assert.IsTrue(used.AssignedIDs.Contains(412)); Assert.IsTrue(used.AssignedIDs.Contains(3)); Assert.AreEqual(0, used.PrimaryID); Assert.AreEqual(0, used.SecondaryID); // Part 1 var pulse = new PulseTrigger(); var pickupItem = new PickupItem(ObjectLists.PickupItemList[0]); var pickup = new PickupTrigger(); var collision = new CollisionTrigger(); pulse.PulseTargetType = PulseTargetType.Group; pulse.TargetGroupID = 3; var groups = pulse.UsedGroupIDs; pulse.PulseTargetType = PulseTargetType.ColorChannel; pulse.TargetColorID = 4; pulse.CopiedColorID = 5; var colors = pulse.UsedColorIDs; pickupItem.TargetItemID = 41; pickup.TargetItemID = 42; var items0 = pickupItem.UsedItemIDs; var items1 = pickup.UsedItemIDs; collision.PrimaryBlockID = 50; collision.SecondaryBlockID = 51; var blocks = collision.UsedBlockIDs; Assert.AreEqual(3, groups.PrimaryID); Assert.AreEqual(0, groups.SecondaryID); Assert.AreEqual(4, colors.PrimaryID); Assert.AreEqual(5, colors.SecondaryID); Assert.AreEqual(41, items0.PrimaryID); Assert.AreEqual(0, items0.SecondaryID); Assert.AreEqual(42, items1.PrimaryID); Assert.AreEqual(0, items1.SecondaryID); Assert.AreEqual(50, blocks.PrimaryID); Assert.AreEqual(51, blocks.SecondaryID); }
public TestSceneIDMigrationBackend() { Children = new Drawable[] { new SpriteText { Anchor = Anchor.Centre, Origin = Anchor.Centre, Font = new FontUsage(size: 26), Text = "Nothing to see here, too bored to make friendly visualized messages indicating test cases" } }; var normalBlocks = new GeneralObject[5]; var moveTriggers = new MoveTrigger[5]; var pickupItems = new PickupItem[5]; var pickupTriggers = new PickupTrigger[5]; var colorTriggers = new ColorTrigger[5]; var instantCountTriggers = new InstantCountTrigger[5]; var collisionBlocks = new CollisionBlock[5]; var collisionTriggers = new CollisionTrigger[5]; for (var i = 0; i < 5; i++) { normalBlocks[i] = new GeneralObject(1) { GroupIDs = new[] { i + 1 }, Color1ID = i + 1, Color2ID = i + 21 } } ; for (var i = 0; i < 5; i++) { moveTriggers[i] = new MoveTrigger(0, i + 1); } for (var i = 0; i < 5; i++) { pickupItems[i] = new PickupItem(1275) { TargetItemID = i + 1 } } ; for (var i = 0; i < 5; i++) { pickupTriggers[i] = new PickupTrigger(i + 1, 0); } for (var i = 0; i < 5; i++) { colorTriggers[i] = new ColorTrigger(i + 1) { CopiedColorID = i + 21 } } ; for (var i = 0; i < 5; i++) { instantCountTriggers[i] = new InstantCountTrigger(i + 1, i + 1, 0); } for (var i = 0; i < 5; i++) { collisionBlocks[i] = new CollisionBlock { BlockID = i + 1 } } ; for (var i = 0; i < 5; i++) { collisionTriggers[i] = new CollisionTrigger(i + 1, i + 21, i + 1); } var allObjects = new LevelObjectCollection(normalBlocks.Concat(moveTriggers).Concat(pickupItems) .Concat(pickupTriggers).Concat(colorTriggers).Concat(instantCountTriggers).Concat(collisionBlocks) .Concat(collisionTriggers).ToList()); var level = new Level { Name = "ID Migration Test Level", Description = "This is a test level to help testing the ID migration feature in the backend", LevelObjects = allObjects }; var editor = new Editor(level); var step0 = new SourceTargetRange(1, 5, 6); var step1 = new SourceTargetRange(21, 25, 46); var step2 = new SourceTargetRange(1, 25, 26); var step3 = new SourceTargetRange(8, 8, 10); AddStep("Perform Group ID migration 1-5 > 6-10", () => editor.PerformGroupIDMigration(new List <SourceTargetRange> { step0 })); AddAssert("Verify Group ID migration", () => VerifyGroupIDMigration(step0.TargetFrom)); AddStep("Perform Color ID migration 1-25 > 26-50", () => editor.PerformColorIDMigration(new List <SourceTargetRange> { step2 })); AddAssert("Verify Color ID migration", () => VerifyColorIDMigration(step2.TargetFrom, step1.TargetFrom)); AddStep("Perform Item ID migration 1-5 > 6-10", () => editor.PerformItemIDMigration(new List <SourceTargetRange> { step0 })); AddAssert("Verify Item ID migration", () => VerifyItemIDMigration(step0.TargetFrom)); AddStep("Perform Block ID migration 21-25 > 46-50", () => editor.PerformBlockIDMigration(new List <SourceTargetRange> { step1 })); AddAssert("Verify Block ID migration", () => VerifyBlockIDMigration(step0.SourceFrom, step1.TargetFrom)); // TODO: Add more test steps with multiple step ID migrations bool VerifyGroupIDMigration(int targetFrom) { for (var i = 0; i < 5; i++) { if (normalBlocks[i].GetGroupID(0) != i + targetFrom) { return(false); } } for (var i = 0; i < 5; i++) { if (moveTriggers[i].TargetGroupID != i + targetFrom) { return(false); } } for (var i = 0; i < 5; i++) { if (instantCountTriggers[i].TargetGroupID != i + targetFrom) { return(false); } } for (var i = 0; i < 5; i++) { if (collisionTriggers[i].TargetGroupID != i + targetFrom) { return(false); } } return(true); } bool VerifyColorIDMigration(int targetFromA, int targetFromB) { for (var i = 0; i < 5; i++) { if (normalBlocks[i].Color1ID != i + targetFromA) { return(false); } if (normalBlocks[i].Color2ID != i + targetFromB) { return(false); } } for (var i = 0; i < 5; i++) { if (colorTriggers[i].TargetColorID != i + targetFromA) { return(false); } if (colorTriggers[i].CopiedColorID != i + targetFromB) { return(false); } } return(true); } bool VerifyItemIDMigration(int targetFrom) { for (var i = 0; i < 5; i++) { if (pickupItems[i].TargetItemID != i + targetFrom) { return(false); } } for (var i = 0; i < 5; i++) { if (pickupTriggers[i].TargetItemID != i + targetFrom) { return(false); } } return(true); } bool VerifyBlockIDMigration(int targetFromA, int targetFromB) { for (var i = 0; i < 5; i++) { if (collisionBlocks[i].BlockID != i + targetFromA) { return(false); } } for (var i = 0; i < 5; i++) { if (collisionTriggers[i].PrimaryBlockID != i + targetFromA) { return(false); } if (collisionTriggers[i].SecondaryBlockID != i + targetFromB) { return(false); } } return(true); } } } }
public void IDMigration() { var normalBlocks = new GeneralObject[5]; var moveTriggers = new MoveTrigger[5]; var pickupItems = new PickupItem[5]; var pickupTriggers = new PickupTrigger[5]; var colorTriggers = new ColorTrigger[5]; var instantCountTriggers = new InstantCountTrigger[5]; var collisionBlocks = new CollisionBlock[5]; var collisionTriggers = new CollisionTrigger[5]; for (int i = 0; i < 5; i++) { normalBlocks[i] = new GeneralObject(1) { GroupIDs = new int[] { i + 1 }, Color1ID = i + 1, Color2ID = i + 21, } } ; for (int i = 0; i < 5; i++) { moveTriggers[i] = new MoveTrigger(0, i + 1); } for (int i = 0; i < 5; i++) { pickupItems[i] = new PickupItem(1275) { TargetItemID = i + 1, } } ; for (int i = 0; i < 5; i++) { pickupTriggers[i] = new PickupTrigger(i + 1, 0); } for (int i = 0; i < 5; i++) { colorTriggers[i] = new ColorTrigger(i + 1) { CopiedColorID = i + 21, } } ; for (int i = 0; i < 5; i++) { instantCountTriggers[i] = new InstantCountTrigger(i + 1, i + 1, 0); } for (int i = 0; i < 5; i++) { collisionBlocks[i] = new CollisionBlock { BlockID = i + 1, } } ; for (int i = 0; i < 5; i++) { collisionTriggers[i] = new CollisionTrigger(i + 1, i + 21, i + 1); } var allObjects = new LevelObjectCollection(normalBlocks.Concat(moveTriggers).Concat(pickupItems).Concat(pickupTriggers).Concat(colorTriggers).Concat(instantCountTriggers).Concat(collisionBlocks).Concat(collisionTriggers).ToList()); var level = new Level { Name = "ID Migration Test Level", Description = "This is a test level to help testing the ID migration feature in the backend", LevelObjects = allObjects, }; var editor = new Editor(level); var step0 = new SourceTargetRange(1, 5, 6); var step1 = new SourceTargetRange(21, 25, 46); var step2 = new SourceTargetRange(1, 25, 26); var step3 = new SourceTargetRange(8, 8, 10); editor.PerformGroupIDMigration(new List <SourceTargetRange> { step0 }); Assert.IsTrue(VerifyGroupIDMigration(step0.TargetFrom)); editor.PerformColorIDMigration(new List <SourceTargetRange> { step2 }); Assert.IsTrue(VerifyColorIDMigration(step2.TargetFrom, step1.TargetFrom)); editor.PerformItemIDMigration(new List <SourceTargetRange> { step0 }); Assert.IsTrue(VerifyItemIDMigration(step0.TargetFrom)); editor.PerformBlockIDMigration(new List <SourceTargetRange> { step1 }); Assert.IsTrue(VerifyBlockIDMigration(step0.SourceFrom, step1.TargetFrom)); // TODO: Add more test steps with multiple step ID migrations bool VerifyGroupIDMigration(int targetFrom) { for (int i = 0; i < 5; i++) { if (normalBlocks[i].GetGroupID(0) != i + targetFrom) { return(false); } } for (int i = 0; i < 5; i++) { if (moveTriggers[i].TargetGroupID != i + targetFrom) { return(false); } } for (int i = 0; i < 5; i++) { if (instantCountTriggers[i].TargetGroupID != i + targetFrom) { return(false); } } for (int i = 0; i < 5; i++) { if (collisionTriggers[i].TargetGroupID != i + targetFrom) { return(false); } } return(true); } bool VerifyColorIDMigration(int targetFromA, int targetFromB) { for (int i = 0; i < 5; i++) { if (normalBlocks[i].Color1ID != i + targetFromA) { return(false); } if (normalBlocks[i].Color2ID != i + targetFromB) { return(false); } } for (int i = 0; i < 5; i++) { if (colorTriggers[i].TargetColorID != i + targetFromA) { return(false); } if (colorTriggers[i].CopiedColorID != i + targetFromB) { return(false); } } return(true); } bool VerifyItemIDMigration(int targetFrom) { for (int i = 0; i < 5; i++) { if (pickupItems[i].TargetItemID != i + targetFrom) { return(false); } } for (int i = 0; i < 5; i++) { if (pickupTriggers[i].TargetItemID != i + targetFrom) { return(false); } } return(true); } bool VerifyBlockIDMigration(int targetFromA, int targetFromB) { for (int i = 0; i < 5; i++) { if (collisionBlocks[i].BlockID != i + targetFromA) { return(false); } } for (int i = 0; i < 5; i++) { if (collisionTriggers[i].PrimaryBlockID != i + targetFromA) { return(false); } if (collisionTriggers[i].SecondaryBlockID != i + targetFromB) { return(false); } } return(true); } } } }