2using System.Collections.Generic;
11 public void Add(
Act a,
string s =
"")
56 public bool Perform(
bool repeated =
false)
130 if (aIAct is
Task task)
132 task.isDestroyed =
false;
136 taskPoint.isRepeated =
true;
195 return list[0].act.CanPressRepeat;
211 return list[0].act.GetCursorIcon(
list[0].tc);
225 return list[0].act.WillEndTurn;
237 return list[0].act.HideRightInfo;
253 return list[0].act.ShowMouseHint(
list[0].tc);
267 return list[0].tc !=
list.LastItem().tc;
281 return list[0].GetText(showName);
283 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>"));
325 textContext = textContext.Replace(
"\n",
" ").Replace(Environment.NewLine,
" ");
326 uIContextMenu.AddButton(textContext, delegate
331 EClass.player.EndTurn();
340 uIContextMenu.Show();
350 isHostileAct = isHostileAct,
379 if (_tc !=
null && _tc.isChara)
382 for (
int i = 0; i <
list.Count; i++)
384 if (
list[i].tc == _tc)
427 for (
int i = 0; i < components.Length; i++)
429 components[i].effectColor = effectColor;
435 EClass.ui.hud.imageRight.rectTransform.localScale =
new Vector3(2f, 2f, 1f);
438 for (
int i = 0; i < components.Length; i++)
440 components[i].effectColor = effectColor;
501 items.ForeachReverse(delegate(
Card _c)
568 items.ForeachReverse(delegate(
Card _c)
588 uIContextMenu.
AddSlider(
"rideSkin", (
float a) =>
list[(
int)a].Split(
'-')[0] ??
"", index, delegate(
float a)
590 ride.c_idRidePCC =
list[(int)a];
592 }, 0f, list.Count - 1, isInt:
true, hideOther:
false);
593 uIContextMenu.
Show();
614 string lang =
"actGive";
628 Dialog.YesNo(
"dialogGive".lang(EClass.pc.held.GetName(NameStyle.Full, 1)), func);
643 ActThrow.Throw(EClass.pc, c.pos, c, EClass.pc.held.Split(1));
709 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);
719 TrySetAct(
"(debug) Toggle Float", delegate
811 IList<Card> _cards = items.Copy();
818 EClass.pc.Pick(item.Thing);
841 ActionMode.AdvOrRegion.updatePlans =
true;
894 hotItem.OnClick(hotItem.button, hotItem.hotbar);
902 bool flag = EClass.game.config.autoCombat.enable && EClass.scene.mouseTarget.TargetChara !=
null;
929 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)