2using System.Collections.Generic;
11 public void Add(
Act a,
string s =
"")
56 public bool Perform(
bool repeated =
false)
131 if (aIAct is
Task task)
133 task.isDestroyed =
false;
137 taskPoint.isRepeated =
true;
196 return list[0].act.CanPressRepeat;
212 return list[0].act.GetCursorIcon(
list[0].tc);
226 return list[0].act.WillEndTurn;
238 return list[0].act.HideRightInfo;
254 return list[0].act.ShowMouseHint(
list[0].tc);
268 return list[0].tc !=
list.LastItem().tc;
282 return list[0].GetText(showName);
284 return "+" + list.Count + ((
HasMultipleTargets ||
list[0].tc ==
null) ? (
"\n<size=28>(" +
"multipleTargets".lang() +
")</size>") : (
"\n<size=28>" +
list[0].tc.Name +
list[0].tc.GetExtraName() +
"</size>"));
326 textContext = textContext.Replace(
"\n",
" ").Replace(Environment.NewLine,
" ");
327 uIContextMenu.AddButton(textContext, delegate
332 EClass.player.EndTurn();
341 uIContextMenu.Show();
351 isHostileAct = isHostileAct,
380 if (_tc !=
null && _tc.isChara)
383 for (
int i = 0; i <
list.Count; i++)
385 if (
list[i].tc == _tc)
428 for (
int i = 0; i < components.Length; i++)
430 components[i].effectColor = effectColor;
436 EClass.ui.hud.imageRight.rectTransform.localScale =
new Vector3(2f, 2f, 1f);
439 for (
int i = 0; i < components.Length; i++)
441 components[i].effectColor = effectColor;
502 items.ForeachReverse(delegate(
Card _c)
569 items.ForeachReverse(delegate(
Card _c)
589 uIContextMenu.
AddSlider(
"rideSkin", (
float a) =>
list[(
int)a].Split(
'-')[0] ??
"", index, delegate(
float a)
591 ride.c_idRidePCC =
list[(int)a];
593 }, 0f, list.Count - 1, isInt:
true, hideOther:
false);
594 uIContextMenu.
Show();
615 string lang =
"actGive";
629 Dialog.YesNo(
"dialogGive".lang(EClass.pc.held.GetName(NameStyle.Full, 1)), func);
644 ActThrow.Throw(EClass.pc, c.pos, c, EClass.pc.held.Split(1));
710 t.c_lightColor = (byte)Mathf.Clamp(_c.r * 32f, 1f, 31f) * 1024 + (byte)Mathf.Clamp(_c.g * 32f, 1f, 31f) * 32 + (byte)Mathf.Clamp(_c.b * 32f, 1f, 31f);
720 TrySetAct(
"(debug) Toggle Float", delegate
812 IList<Card> _cards = items.Copy();
819 EClass.pc.Pick(item.Thing);
842 ActionMode.AdvOrRegion.updatePlans =
true;
883 items.ForeachReverse(delegate(
Card _c)
887 TrySetAct(ACT.Melee, _c);
906 hotItem.OnClick(hotItem.button, hotItem.hotbar);
914 bool flag = EClass.game.config.autoCombat.enable && EClass.scene.mouseTarget.TargetChara !=
null;
941 if (!
list[0].act.ShowAuto)
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
void SetTurbo(int mtp=-1)
string GetText(bool showName)
bool Perform(bool repeated=false)
string GetTextContext(bool showName)
void Add(Act a, string s="")
bool _canInteractNeighbor
string GetText(bool showName)
void Update(PointTarget target)
bool TrySetAct(Act _act, Card _tc=null)
void _Update(PointTarget target)
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
bool TrySetAct(string lang, Func< bool > onPerform, CursorInfo cursor=null, int dist=1)
static bool SearchMedal(Chara c, Point p)
virtual int PerformDistance
virtual string GetTextSmall(Card c)
virtual string GetText(string str="")
virtual bool CanPerform()
bool IsRestrainedResident
bool HasElement(int ele, int req=1)
void TryUnrestrain(bool force=false, Chara c=null)
void Say(string lang, string ref1=null, string ref2=null)
override bool IsAliveInCurrentZone
bool CanAcceptGift(Chara c, Card t)
void Cuddle(Chara c, bool headpat=false)
bool IsValidGiftWeight(Card t, int num=-1)
void PickHeld(bool msg=false)
bool HasCondition(string alias)
override CardRenderer _CreateRenderer()
override bool IsPCFaction
override bool IsPCPartyMinion
void SetAIImmediate(AIAct g)
bool CanInteractTo(Card c)
static NoGoal _NoGoalRepeat
void DropThing(Thing t, int num=-1)
void GiveGift(Chara c, Thing t)
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
bool bDontAutoAttackNeutral
static CursorInfo Inventory
static CursorInfo MoveZone
static Dialog InputName(string langDetail, string text, Action< bool, string > onClose, InputType inputType=InputType.Default)
static void TryWarnDisassemble(Action action)
static void TryWarnCrime(Action action)
static ColorProfile Colors
ConfigAutoCombat autoCombat
static bool _TrySetAct(ActPlan p)
virtual void SetImage(Image icon)
virtual bool TrySetAct(ActPlan p)
virtual bool IsGameAction
static LayerDragGrid Create(InvOwnerDraglet owner, bool refuelFromLayerDragGrid=false)
static LayerInventory CreateContainer(Card owner)
bool CanExitBorder(Point p)
bool HasKeyItem(string alias)
void EndTurn(bool consume=true)
void EnterLocalZone(bool encounter=false, Chara mob=null)
void ExitBorder(ActPlan p=null)
List< Card > ListCards(bool includeMasked=false)
Point Set(int _x, int _z)
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
bool Equals(int _x, int _z)
Effect PlayEffect(string id)
Thing FindThing(Func< Thing, bool > func)
bool IsDeliverTarget(Chara c)
virtual bool AllowTraining
virtual bool CanBeAttacked
virtual void TrySetAct(ActPlan p)
virtual bool CanRead(Chara c)
virtual void TrySetToggleAct(ActPlan p)
virtual bool CanEat(Chara c)
virtual bool DisableAutoCombat
virtual bool CanDrink(Chara c)
virtual bool CanOnlyCarry
bool IsCrime(Chara c, Act act)