private void BeginReacting(GameObject minionGO)
    {
        MinionIdentity component = minionGO.GetComponent <MinionIdentity>();
        Vector3        vector    = Vector3.zero;

        foreach (GreetingSetup activeSetup in activeSetups)
        {
            if ((UnityEngine.Object)activeSetup.A.minion == (UnityEngine.Object)component)
            {
                vector = activeSetup.B.minion.transform.GetPosition();
                break;
            }
            if ((UnityEngine.Object)activeSetup.B.minion == (UnityEngine.Object)component)
            {
                vector = activeSetup.A.minion.transform.GetPosition();
                break;
            }
        }
        Facing  component2 = minionGO.GetComponent <Facing>();
        Facing  facing     = component2;
        float   x          = vector.x;
        Vector3 position   = minionGO.transform.GetPosition();

        facing.SetFacing(x < position.x);
        Effects component3 = minionGO.GetComponent <Effects>();

        component3.Add("Greeting", true);
        cooldowns[component] = GameClock.Instance.GetTime();
    }
 public override void InitializeStates(out BaseState default_state)
 {
     default_state = goingtopoop;
     goingtopoop.MoveTo((Instance smi) => smi.GetPoopPosition(), pooping, failedtonest, false);
     failedtonest.Enter(delegate(Instance smi)
     {
         smi.SetLastPoopCell();
     }).GoTo(pooping);
     pooping.Enter(delegate(Instance smi)
     {
         Facing component = smi.master.GetComponent <Facing>();
         component.SetFacing(Grid.PosToCell(smi.master.gameObject) > smi.targetPoopCell);
     }).ToggleStatusItem(CREATURES.STATUSITEMS.EXPELLING_SOLID.NAME, CREATURES.STATUSITEMS.EXPELLING_SOLID.TOOLTIP, category: Db.Get().StatusItemCategories.Main, icon: string.Empty, icon_type: StatusItem.IconType.Info, notification_type: NotificationType.Neutral, allow_multiples: false, render_overlay: default(HashedString), status_overlays: 129022, resolve_string_callback: null, resolve_tooltip_callback: null).PlayAnim("poop")
     .OnAnimQueueComplete(behaviourcomplete);
     behaviourcomplete.Enter(delegate(Instance smi)
     {
         smi.SetLastPoopCell();
     }).PlayAnim("idle_loop", KAnim.PlayMode.Loop).BehaviourComplete(GameTags.Creatures.Poop, false);
 }
Ejemplo n.º 3
0
 private void Flip()
 {
     _facingComponent.SetFacing(Math.Abs(_facing - 1));
 }