public override void DropItems() { if (rand.NextDouble() < 0.5) { Dropping.DropItemFromNPC(TNPC, ItemID.Gel, rand.Next(3, 8)); } }
public override FSMNode doActivity() { localTimeDelta = Time.time - lastTimeStamp; lastTimeStamp = Time.time; if (target == null) { if (controller.appleBackpack > 0) { target = controller.selectVillage(); } else { Idle idle = gameObject.AddComponent(typeof(Idle)) as Idle; idle.controller = this.controller; exit(); return(idle); } } float distanceThresh = target.tag == "fruitTree" ? pickingDistance : droppingDistance; if ((transform.position - target.transform.position).magnitude <= distanceThresh && !atDest) { atDest = true; } else if (atDest) { // Check if @ tree if (target.tag == "fruitTree") { Picking pickNode = gameObject.AddComponent(typeof(Picking)) as Picking; pickNode.controller = this.controller; pickNode.pickTarget = target; exit(); return(pickNode); } else // else village { Dropping dropNode = gameObject.AddComponent(typeof(Dropping)) as Dropping; dropNode.controller = this.controller; exit(); return(dropNode); } } else { transform.LookAt(target.transform.position); transform.position += transform.forward * speed * localTimeDelta; transform.position = new Vector3( transform.position.x, Terrain.activeTerrain.SampleHeight(transform.position), transform.position.z); } return(this); }
public DeadLetterSuspensionSpec() : base(Config) { _deadActor = Sys.ActorOf(Props.Create <TestKit.TestActors.EchoActor>()); Watch(_deadActor); _deadActor.Tell(PoisonPill.Instance); ExpectTerminated(_deadActor); _droppingActor = Sys.ActorOf(Dropping.Props(), "droppingActor"); _unhandledActor = Sys.ActorOf(Unandled.Props(), "unhandledActor"); }
void DropResurses() { Dropping d = Instantiate(Drop); d.transform.position = transform.position; // d.Pos = gameObject.transform.position; float time = 30 * Time.fixedDeltaTime; Vector2 start = Vector2.up / time - 0.5f * Physics2D.gravity * time; d.GetComponent <Rigidbody2D>().velocity = start; d.GetComponent <Rigidbody2D>().AddTorque(UnityEngine.Random.Range(100, 500)); d.StartCoroutine(d.WaitToStop()); }
internal virtual void OnDropping() => Dropping?.Invoke(this, EventArgs.Empty);