Ejemplo n.º 1
0
 // 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>();
 }
Ejemplo n.º 2
0
 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 }));
        }