// Use this for initialization void Start() { cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.parent = this.gameObject.transform; cube.transform.localPosition = new Vector3(0, 3f, 0); cube.transform.localScale = new Vector3(1, .25f, 0f); cube.RemoveComponent<BoxCollider>(); cube.GetComponent<MeshRenderer>().material.color = new Color(.6f, 0f, 0f, .5f); cube.GetComponent<MeshRenderer>().material.shader = Shader.Find("Transparent/Cutout/Soft Edge Unlit"); cube.transform.localRotation = new Quaternion(); cube.EnsureComponent<LookAtCamera>(); }
private static bool HarvestHarvestable(HarvestPlant ths, GameObject harvestable, Sim actor, BurglarSituation burglarSituation) { if (harvestable == null) { return false; } harvestable.SetOwnerLot(actor.LotHome); harvestable.UnParent(); harvestable.RemoveFromWorld(); bool flag = false; if (burglarSituation == null) { if (actor.Inventory.TryToAdd(harvestable, false)) { flag = true; } } else { burglarSituation.StolenObjects.Add(harvestable); burglarSituation.CurrentValue += harvestable.Value; flag = true; } if (flag) { harvestable.AddFlags(GameObject.FlagField.WasHarvested); harvestable.RemoveComponent<HarvestableComponent>(); ths.PostHarvestHarvestable(actor, harvestable); return flag; } harvestable.Destroy(); return flag; }
public void WhenComponentIsRemovedThenExecutionOrderIsUpdated() { var updateOrder = new List<int>(); DualityApp.AppData = new DualityAppData(); Scene.SetComponentExecutionOrder(typeof(ComponentTwo), typeof(ComponentOne), typeof(ComponentThree)); var gameObject = new GameObject(); gameObject.AddComponent(new ComponentOne(updateOrder)); gameObject.AddComponent(new ComponentTwo(updateOrder)); gameObject.AddComponent(new ComponentFour(updateOrder)); Scene.Current.AddObject(gameObject); gameObject.RemoveComponent<ComponentOne>(); Scene.Current.Update(); Assert.True(updateOrder.SequenceEqual(new[] { 2, 4 })); }