Elin Decompiled Documentation EA 23.234 Nightly
Loading...
Searching...
No Matches
Point Class Reference
Inheritance diagram for Point:
EClass LogicalPoint RegionPoint LogicalFire

Public Member Functions

bool Within (int _x, int _z, int _w, int _h)
 
Chara FirstVisibleChara ()
 
bool HasRoomOrArea (BaseArea a)
 
bool IsInSpot< T > ()
 
bool IsPublicSpace ()
 
 Point ()
 
 Point (Point p)
 
 Point (int _x, int _z)
 
 Point (int _index)
 
Point Copy ()
 
Copy< T > ()
 
Point Set (int _x, int _z)
 
Point Set (int index)
 
Point Set (Point point)
 
override string ToString ()
 
void Set (Vector3 v)
 
ref Vector3 PositionAuto ()
 
ref Vector3 Position (int height)
 
ref Vector3 Position ()
 
ref Vector3 PositionTopdown ()
 
ref Vector3 PositionTopdownTreasure ()
 
ref Vector3 PositionCenter ()
 
Quaternion GetRotation (Point to)
 
float GetAngle (Point to)
 
float GetAngle2 (Point to)
 
Point GetNearestPoint (bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
 
bool ForeachNearestPoint (Func< Point, bool > endFunc, bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int maxRange=30)
 
Point GetRandomNeighbor ()
 
Point GetRandomPoint (int radius, bool requireLos=true, bool allowChara=true, bool allowBlocked=false, int tries=100)
 
Point GetRandomPointInRadius (int minRadius, int maxRadius, bool requireLos=true, bool allowChara=true, bool allowBlocked=false, int tries=2000)
 
Point GetPointTowards (Point dest)
 
void TalkWitnesses (Chara criminal, string idTalk, int radius=4, WitnessType type=WitnessType.everyone, Func< Chara, bool > talkIf=null, int chance=3)
 
List< CharaListWitnesses (Chara criminal, int radius=4, WitnessType type=WitnessType.crime, Chara target=null)
 
bool TryWitnessCrime (Chara criminal, Chara target=null, int radius=4, Func< Chara, bool > funcWitness=null)
 
void CallGuard (Chara criminal, Chara caller)
 
void SetBlock (int idMat=0, int idBlock=0)
 
void SetFloor (int idMat=0, int idFloor=0)
 
void SetObj (int id=0, int value=1, int dir=0)
 
void ModFire (int value, bool extinguish=false)
 
void Plow ()
 
bool Equals (int _x, int _z)
 
override bool Equals (object obj)
 
override int GetHashCode ()
 
int Distance (Point p)
 
int Distance (int tx, int tz)
 
bool IsBlockByHeight (Point p)
 
Point Clamp (bool useBounds=false)
 
List< CardListCards (bool includeMasked=false)
 
List< CardListVisibleCards ()
 
Card FindAttackTarget ()
 
Chara FindChara (Func< Chara, bool > func)
 
FindThing< T > ()
 
Thing FindThing (Func< Thing, bool > func)
 
List< CardListThings< T > (bool onlyInstalled=true)
 
List< CharaListCharas ()
 
List< CharaListVisibleCharas ()
 
List< CharaListCharasInNeighbor (Func< Chara, bool > func)
 
List< CharaListCharasInRadius (Chara cc, int dist, Func< Chara, bool > func, bool onlyVisible=true)
 
GetInstalled< T > ()
 
Effect PlayEffect (string id)
 
SoundSource PlaySound (string id, bool synced=true, float v=1f, bool spatial=true)
 
void RefreshNeighborTiles ()
 
void RefreshTile ()
 
bool HasNonHomeProperty (Thing exclude=null)
 
void Animate (AnimeID id, bool animeBlock=false)
 
RenderParam ApplyAnime (RenderParam p)
 
Vector3 ApplyAnime (ref Vector3 p)
 
List< IInspectListInspectorTargets ()
 
void ForeachMultiSize (int w, int h, Action< Point, bool > action)
 
void ForeachNeighbor (Action< Point > action, bool diagonal=true)
 
Point ToRegionPos ()
 
void SetHighlight (int id)
 

Static Public Member Functions

static Point GetShared (int x, int z)
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (int a, int start, int step, int rate=75)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 

Public Attributes

int x
 
int z
 

Static Public Attributes

static readonly XY[] Surrounds
 
static Vector3 fixedPos
 
static Point shared = new Point()
 
static Point shared2 = new Point()
 
static Point shared3 = new Point()
 
static Map map
 
static Point Invalid
 
static Point Zero = new Point()
 
static BaseGameScreen _screen
 
- Static Public Attributes inherited from EClass
static Core core
 

Properties

int index [get]
 
Cell cell [get]
 
SourceMaterial.Row matRoofBlock [get]
 
SourceMaterial.Row matBlock [get]
 
SourceMaterial.Row matFloor [get]
 
SourceMaterial.Row matBridge [get]
 
SourceBlock.Row sourceRoofBlock [get]
 
SourceBlock.Row sourceBlock [get]
 
SourceFloor.Row sourceFloor [get]
 
SourceFloor.Row sourceBridge [get]
 
SourceObj.Row sourceObj [get]
 
CellDetail detail [get]
 
Area area [get]
 
Point Front [get]
 
GrowSystem growth [get]
 
int eloX [get]
 
int eloY [get]
 
bool HasDesignation [get]
 
bool HasDirt [get]
 
bool IsValid [get, set]
 
bool IsInBounds [get]
 
bool IsInBoundsPlus [get]
 
bool IsFarmField [get]
 
bool IsWater [get]
 
bool HasRamp [get]
 
bool HasRail [get]
 
bool HasRampOrLadder [get]
 
bool HasObj [get]
 
bool HasDecal [get]
 
bool HasBlock [get]
 
bool HasMinableBlock [get]
 
bool HasWallOrFence [get]
 
bool HasWall [get]
 
bool HasFence [get]
 
bool IsSunLit [get]
 
bool HasNonWallBlock [get]
 
bool HasTaskBuild [get]
 
bool HasBlockRecipe [get]
 
bool HasFloor [get]
 
bool HasBridge [get]
 
bool IsSky [get]
 
bool HasArea [get]
 
bool HasChara [get]
 
bool HasThing [get]
 
bool HasMultipleChara [get]
 
bool IsDeepWater [get]
 
Chara FirstChara [get]
 
Thing FirstThing [get]
 
Thing LastThing [get]
 
Thing Installed [get]
 
List< ThingThings [get]
 
List< CharaCharas [get]
 
bool IsSeen [get]
 
bool IsSync [get]
 
bool IsHidden [get]
 
bool IsBlocked [get]
 
bool IsHotSpring [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Private Attributes

Vector3 vCache
 

Static Private Attributes

static List< CardlistCard = new List<Card>()
 
static List< CharalistChara = new List<Chara>()
 

Detailed Description

Definition at line 8 of file Point.cs.

Constructor & Destructor Documentation

◆ Point() [1/4]

Point.Point ( )
inline

◆ Point() [2/4]

Point.Point ( Point  p)
inline

Definition at line 474 of file Point.cs.

475 {
476 x = p.x;
477 z = p.z;
478 }
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39

References x, and z.

◆ Point() [3/4]

Point.Point ( int  _x,
int  _z 
)
inline

Definition at line 480 of file Point.cs.

481 {
482 x = _x;
483 z = _z;
484 }

References x, and z.

◆ Point() [4/4]

Point.Point ( int  _index)
inline

Definition at line 486 of file Point.cs.

487 {
488 Set(_index);
489 }
Point Set(int _x, int _z)
Definition: Point.cs:503

References Set().

Member Function Documentation

◆ Animate()

void Point.Animate ( AnimeID  id,
bool  animeBlock = false 
)
inline

Definition at line 1302 of file Point.cs.

1303 {
1304 if (!IsValid)
1305 {
1306 return;
1307 }
1308 CellDetail orCreateDetail = cell.GetOrCreateDetail();
1309 if (orCreateDetail.anime == null)
1310 {
1311 TransAnime transAnime = (orCreateDetail.anime = new TransAnime
1312 {
1313 data = ResourceCache.Load<TransAnimeData>("Scene/Render/Anime/" + id),
1314 point = this,
1315 animeBlock = animeBlock
1316 }.Init());
1317 EClass._map.pointAnimes.Add(transAnime);
1318 if (id == AnimeID.Quake)
1319 {
1320 transAnime.drawBlock = true;
1321 }
1322 }
1323 }
AnimeID
Definition: AnimeID.cs:2
TransAnime anime
Definition: CellDetail.cs:21
CellDetail GetOrCreateDetail()
Definition: Cell.cs:1533
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
List< TransAnime > pointAnimes
Definition: Map.cs:83
bool IsValid
Definition: Point.cs:88
Cell cell
Definition: Point.cs:51

References EClass._map, CellDetail.anime, Cell.GetOrCreateDetail(), and Map.pointAnimes.

Referenced by ActMelee.Attack(), ActEffect.DamageEle(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), EffectMeteor.OnPlay(), TaskCut.OnProgress(), TaskDig.OnProgressComplete(), ActBash.Perform(), and Map.Quake().

◆ ApplyAnime() [1/2]

Vector3 Point.ApplyAnime ( ref Vector3  p)
inline

Definition at line 1340 of file Point.cs.

1341 {
1342 if (detail == null || detail.anime == null)
1343 {
1344 return p;
1345 }
1346 p.x += detail.anime.v.x;
1347 p.y += detail.anime.v.y;
1348 p.z += detail.anime.v.z;
1349 return p;
1350 }
CellDetail detail
Definition: Point.cs:71
Vector3 v
Definition: TransAnime.cs:5

References CellDetail.anime, and TransAnime.v.

◆ ApplyAnime() [2/2]

RenderParam Point.ApplyAnime ( RenderParam  p)
inline

Definition at line 1325 of file Point.cs.

1326 {
1327 if (detail == null || detail.anime == null)
1328 {
1329 return p;
1330 }
1331 p.x += detail.anime.v.x;
1332 p.y += detail.anime.v.y;
1333 p.z += detail.anime.v.z;
1334 p.v.x += detail.anime.v.x;
1335 p.v.y += detail.anime.v.y;
1336 p.v.z += detail.anime.v.z;
1337 return p;
1338 }

References CellDetail.anime, and TransAnime.v.

Referenced by Recipe.OnRenderMarker(), and Card.RenderMarker().

◆ CallGuard()

void Point.CallGuard ( Chara  criminal,
Chara  caller 
)
inline

Definition at line 898 of file Point.cs.

899 {
900 if (caller.HasCondition<ConSleep>())
901 {
902 caller.RemoveCondition<ConSleep>();
903 }
904 caller.Talk("callGuards");
905 List<Chara> list = EClass._map.charas.Where((Chara c) => c.trait is TraitGuard && !c.IsInCombat).ToList();
906 if (list.Count > 0)
907 {
908 Chara chara = list.RandomItem();
909 caller.Say("calledGuard", caller);
910 chara.DoHostileAction(criminal);
911 }
913 {
914 EClass._zone.SetAlarm(enable: true);
915 }
916 }
bool IsPCFactionOrMinion
Definition: Card.cs:2260
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6668
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6765
Definition: Chara.cs:10
bool IsInCombat
Definition: Chara.cs:864
bool HasCondition(string alias)
Definition: Chara.cs:9256
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:6266
static Zone _zone
Definition: EClass.cs:20
List< Chara > charas
Definition: Map.cs:81
bool isAlarmSet
Definition: Spatial.cs:430
virtual bool SetAlarmOnBreakLaw
Definition: Zone.cs:228
virtual void SetAlarm(bool enable)
Definition: Zone.cs:3552

References EClass._map, EClass._zone, Map.charas, Chara.DoHostileAction(), Chara.HasCondition(), Spatial.isAlarmSet, Chara.IsInCombat, Card.IsPCFactionOrMinion, Card.Say(), Zone.SetAlarm(), Zone.SetAlarmOnBreakLaw, and Card.Talk().

Referenced by TryWitnessCrime().

◆ Clamp()

Point Point.Clamp ( bool  useBounds = false)
inline

Definition at line 1008 of file Point.cs.

1009 {
1010 if (useBounds)
1011 {
1012 if (x < map.bounds.x)
1013 {
1014 x = map.bounds.x;
1015 }
1016 else if (x >= map.bounds.maxX)
1017 {
1018 x = map.bounds.maxX;
1019 }
1020 if (z < map.bounds.z)
1021 {
1022 z = map.bounds.z;
1023 }
1024 else if (z >= map.bounds.maxZ)
1025 {
1026 z = map.bounds.maxZ;
1027 }
1028 }
1029 else
1030 {
1031 if (x < 0)
1032 {
1033 x = 0;
1034 }
1035 else if (x >= map.Size)
1036 {
1037 x = map.Size - 1;
1038 }
1039 if (z < 0)
1040 {
1041 z = 0;
1042 }
1043 else if (z >= map.Size)
1044 {
1045 z = map.Size - 1;
1046 }
1047 }
1048 return this;
1049 }
int Size
Definition: MapBounds.cs:20
int maxZ
Definition: MapBounds.cs:17
int maxX
Definition: MapBounds.cs:14
int x
Definition: MapBounds.cs:8
MapBounds bounds
Definition: Map.cs:52
static Map map
Definition: Point.cs:26

References Map.bounds, map, MapBounds.maxX, MapBounds.maxZ, MapBounds.Size, MapBounds.x, x, MapBounds.z, and z.

Referenced by Zone.AddGlobalCharasOnActivate(), Crawler.Crawl(), BaseTileMap.Draw(), POIMap.Cell.GetCenter(), FactionBranch.GetMailBoxPos(), Map.GetRandomPoint(), MapBounds.GetSurface(), MapGen.MakeNeighbor(), WidgetMinimap.OnPointerDown(), AM_Cinema.OnUpdateInput(), and GameUpdater.Update().

◆ Copy()

Point Point.Copy ( )
inline

Definition at line 491 of file Point.cs.

492 {
493 return new Point(x, z);
494 }
Point()
Definition: Point.cs:470

References Point(), x, and z.

Referenced by AM_Sim._OnUpdateInput(), ActPlan._Update(), RoomManager.AddArea(), ActMelee.Attack(), AM_Adv.AxisMove(), AI_Shopping.Buy(), GoalManualMove.CanMove(), CoreDebug.COM_Teleport(), Crawler.Crawl(), EffectMeteor.Create(), Chara.CreateReplacement(), ActEffect.DamageEle(), Player.EnterLocalZone(), AreaTypeFarm.GetAI(), Chara.GetDestination(), PathManager.GetFirstStep(), LayerInspect.GetMenuItems(), AIWork_Fish.GetWork(), TaskWater.ListPoints(), Trait.ListPoints(), TraitLightSun.ListPoints(), Los.ListVisible(), Chara.MoveNeighborDefinitely(), TraitNewZone.MoveZone(), ActBolt.OnMarkMapHighlights(), AM_ExpandArea.OnProcessTiles(), AM_MoveInstalled.OnProcessTiles(), TaskBuild.OnProgressComplete(), InspectGroupBlock.OnSetActions(), InspectGroupObj.OnSetActions(), BaseTileSelector.OnUpdate(), DramaManager.ParseLine(), ActRanged.Perform(), ActPlan.Item.Perform(), EffectIRenderer.Play(), Effect.Play(), AttackProcess.PlayRangedAnime(), ActEffect.Proc(), ActEffect.ProcAt(), Map.Quake(), Religion.Reforge(), WidgetSearch.RefreshList(), SerializedCards.Restore(), AI_Fish.Run(), TaskDump.Run(), LayerCraftFloat.ShowContextMenu(), Player.SimulateFaction(), ActThrow.Throw(), RoomManager.TryAddArea(), TaskHarvest.TryGetAct(), Chara.TryMoveFrom(), BaseTileSelector.TryProcessTiles(), ActPlan.TrySetAct(), HotItemHeld.TrySetAct(), TraitBroom.TrySetHeldAct(), ButtonAbility.TryUse(), WidgetDebug.UpdateText(), and VirtualRoom.VirtualRoom().

◆ Copy< T >()

T Point.Copy< T > ( )
inline
Type Constraints
T :Point 

Definition at line 496 of file Point.cs.

496 : Point
497 {
498 T val = Activator.CreateInstance<T>();
499 val.Set(this);
500 return val;
501 }
Definition: Point.cs:9

References Set().

◆ Distance() [1/2]

int Point.Distance ( int  tx,
int  tz 
)
inline

Definition at line 994 of file Point.cs.

995 {
996 return Fov.Distance(tx, tz, x, z);
997 }
Definition: Fov.cs:6
static int Distance(int x1, int y1, int x2, int y2)
Definition: Fov.cs:134

References Fov.Distance(), x, and z.

◆ Distance() [2/2]

◆ Equals() [1/2]

bool Point.Equals ( int  _x,
int  _z 
)
inline

Definition at line 960 of file Point.cs.

961 {
962 if (x == _x)
963 {
964 return z == _z;
965 }
966 return false;
967 }

References x, and z.

Referenced by ActPlan._Update(), Zone.AddGlobalCharasOnActivate(), ActMelee.Attack(), GoalManualMove.CanMove(), Chara.CanReplace(), PointTarget.CheckLastTarget(), EffectMeteor.Create(), ActEffect.DamageEle(), ActionMode.DoFunc(), CharaRenderer.DrawHat(), ActPlan.GetAction(), TaskMine.GetHitResult(), AI_Trolley.GetPoint(), Los.GetRushPoint(), Zone.GetSpawnPos(), ObjInfo.GetTemp(), BlockInfo.GetTempList(), ObjInfo.GetTempList(), TaskDig.GetTreasureMap(), AM_Build.HitTest(), IsInSpot< T >(), TraitShackle.IsRestraining(), Chara.MoveRandom(), ActRush.OnMarkMapHighlights(), AI_Sleep.OnProgressComplete(), TraitNewZone.OnStepped(), AM_Adv.OnUpdateCursor(), TraitGeneMachine.OnUse(), ActMissileBarrage.Perform(), ActRanged.Perform(), ActWhirlwind.Perform(), AM_Adv.PressedActionMove(), ActEffect.Proc(), BaseTileSelector.ProcessFillTiles(), WidgetMouseover.Refresh(), AM_Adv.RefreshArrow(), BaseTileSelector.RefreshMouseInfo(), Area.RemovePoint(), SerializedCards.Restore(), AI_Bladder.Run(), AI_Idle.Run(), AI_Torture.Run(), AI_UseCrafter.Run(), GoalManualMove.Run(), AM_Adv.SetPressedAction(), Chara.Stumble(), Chara.SyncRide(), Player.TargetRanged(), ActThrow.Throw(), Chara.Tick(), AI_Goto.TryGoTo(), MapGen.TryMakeRiver(), GoalManualMove.TryMove(), Chara.TryMoveTowards(), HotItemHeld.TrySetAct(), Map.TrySmoothPick(), and CharaRenderer.UpdatePosition().

◆ Equals() [2/2]

override bool Point.Equals ( object  obj)
inline

Definition at line 969 of file Point.cs.

970 {
971 Point point = obj as Point;
972 if (point == null)
973 {
974 Debug.Log(point?.ToString() + ":" + point.GetType()?.ToString() + "is not Point");
975 return false;
976 }
977 if (x == point.x)
978 {
979 return z == point.z;
980 }
981 return false;
982 }
override string ToString()
Definition: Point.cs:524

References Debug, Point(), ToString(), x, and z.

◆ FindAttackTarget()

Card Point.FindAttackTarget ( )
inline

Definition at line 1098 of file Point.cs.

1099 {
1100 foreach (Card item in ListCards())
1101 {
1102 if (item.isChara || item.trait.CanBeAttacked)
1103 {
1104 return item;
1105 }
1106 }
1107 return null;
1108 }
Definition: Card.cs:11
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1051

References item, and ListCards().

Referenced by ActRanged.Perform(), and ActThrow.Throw().

◆ FindChara()

Chara Point.FindChara ( Func< Chara, bool >  func)
inline

Definition at line 1110 of file Point.cs.

1111 {
1112 if (detail != null)
1113 {
1114 foreach (Chara chara in detail.charas)
1115 {
1116 if (func(chara))
1117 {
1118 return chara;
1119 }
1120 }
1121 }
1122 return null;
1123 }
List< Chara > charas
Definition: CellDetail.cs:13

References CellDetail.charas, and detail.

Referenced by TaskCullLife.CanPerform(), and TaskCullLife.Run().

◆ FindThing()

Thing Point.FindThing ( Func< Thing, bool >  func)
inline

Definition at line 1140 of file Point.cs.

1141 {
1142 if (detail != null)
1143 {
1144 foreach (Thing thing in detail.things)
1145 {
1146 if (func(thing))
1147 {
1148 return thing;
1149 }
1150 }
1151 }
1152 return null;
1153 }
List< Thing > things
Definition: CellDetail.cs:11
Definition: Thing.cs:8

References detail, and CellDetail.things.

Referenced by AM_Adv._OnUpdateInput(), ActPlan._Update(), Zone.AddGlobalCharasOnActivate(), Hobby.GetEfficiency(), TaskChopWood.GetLog(), ConSleep.OnBeforeStart(), ConSleep.OnRemoved(), ActRanged.Perform(), AI_Idle.Run(), and ConSuspend.Tick().

◆ FindThing< T >()

T Point.FindThing< T > ( )
inline
Type Constraints
T :Trait 

Definition at line 1125 of file Point.cs.

1125 : Trait
1126 {
1127 if (IsValid && detail != null)
1128 {
1129 foreach (Thing thing in detail.things)
1130 {
1131 if (thing.trait is T)
1132 {
1133 return thing.trait as T;
1134 }
1135 }
1136 }
1137 return null;
1138 }
Trait trait
Definition: Card.cs:53
Definition: Trait.cs:7

References detail, IsValid, CellDetail.things, and Card.trait.

◆ FirstVisibleChara()

Chara Point.FirstVisibleChara ( )
inline

Definition at line 406 of file Point.cs.

407 {
408 if (detail != null)
409 {
410 foreach (Chara chara in detail.charas)
411 {
412 if (EClass.pc.CanSee(chara))
413 {
414 return chara;
415 }
416 }
417 }
418 return null;
419 }
bool CanSee(Card c)
Definition: Chara.cs:1218
static Chara pc
Definition: EClass.cs:14

References Chara.CanSee(), CellDetail.charas, detail, and EClass.pc.

Referenced by HotItemHeld.TrySetAct().

◆ ForeachMultiSize()

void Point.ForeachMultiSize ( int  w,
int  h,
Action< Point, bool >  action 
)
inline

Definition at line 1385 of file Point.cs.

1386 {
1387 for (int i = 0; i < h; i++)
1388 {
1389 for (int j = 0; j < w; j++)
1390 {
1391 shared3.Set(x - j, z + i);
1392 action(shared3, j == 0 && i == 0);
1393 }
1394 }
1395 }
static Point shared3
Definition: Point.cs:24

References Set().

Referenced by Chara.DestroyPath(), UIInspector.DrawHighlight(), TraitBoat.ForeachDeck(), Card.ForeachPoint(), TaskBuild.OnProgressComplete(), HotItemHeld.OnRenderTile(), AI_HaulResource.Run(), and TaskMoveInstalled.Run().

◆ ForeachNearestPoint()

bool Point.ForeachNearestPoint ( Func< Point, bool >  endFunc,
bool  allowBlock = false,
bool  allowChara = true,
bool  allowInstalled = true,
bool  ignoreCenter = false,
int  maxRange = 30 
)
inline

Definition at line 691 of file Point.cs.

692 {
693 Point p = new Point();
694 int num = 1;
695 int num2 = x;
696 int num3 = z;
697 if (IsValid(num2, num3) && endFunc(p))
698 {
699 return true;
700 }
701 if (IsValid(num2, num3 + 1) && endFunc(p))
702 {
703 return true;
704 }
705 for (int i = 0; i < maxRange; i++)
706 {
707 for (int j = 0; j < num; j++)
708 {
709 num2++;
710 if (IsValid(num2, num3) && endFunc(p))
711 {
712 return true;
713 }
714 }
715 for (int k = 0; k < num; k++)
716 {
717 num3++;
718 if (IsValid(num2, num3) && endFunc(p))
719 {
720 return true;
721 }
722 }
723 num++;
724 for (int l = 0; l < num; l++)
725 {
726 num2--;
727 if (IsValid(num2, num3) && endFunc(p))
728 {
729 return true;
730 }
731 }
732 for (int m = 0; m < num; m++)
733 {
734 num3--;
735 if (IsValid(num2, num3) && endFunc(p))
736 {
737 return true;
738 }
739 }
740 num++;
741 }
742 Debug.Log("ForeachNearestPoint Fail:" + this);
743 return false;
744 bool IsValid(int dx, int dz)
745 {
746 p.Set(dx, dz);
747 if (!p.IsInBounds || !map.Contains(dx, dz) || (ignoreCenter && dx == x && dz == z))
748 {
749 return false;
750 }
751 if ((!allowBlock && (p.cell.blocked || p.cell.hasDoor || (p.cell.growth != null && p.cell.growth.IsTree))) || (!allowChara && p.HasChara) || (!allowInstalled && p.Installed != null))
752 {
753 return false;
754 }
755 return true;
756 }
757 }
GrowSystem growth
Definition: Cell.cs:225
bool hasDoor
Definition: Cell.cs:258
virtual bool IsTree
Definition: GrowSystem.cs:87
bool Contains(int dx, int dz)
Definition: MapBounds.cs:38
Thing Installed
Definition: Point.cs:327
bool IsInBounds
Definition: Point.cs:104
bool HasChara
Definition: Point.cs:238

References Algorithms.WeightCell.blocked, cell, MapBounds.Contains(), Debug, Cell.growth, HasChara, Cell.hasDoor, Installed, IsInBounds, GrowSystem.IsTree, IsValid, map, Point(), Set(), x, and z.

◆ ForeachNeighbor()

void Point.ForeachNeighbor ( Action< Point action,
bool  diagonal = true 
)
inline

Definition at line 1397 of file Point.cs.

1398 {
1399 Point point = new Point();
1400 for (int i = x - 1; i <= x + 1; i++)
1401 {
1402 for (int j = z - 1; j <= z + 1; j++)
1403 {
1404 if (diagonal || i == x || j == z)
1405 {
1406 point.Set(i, j);
1407 if (point.IsValid)
1408 {
1409 action(point);
1410 }
1411 }
1412 }
1413 }
1414 }

References IsValid, and Set().

Referenced by ActMelee.Attack(), GrowSystem.EqualizePlants(), ListCharasInNeighbor(), Chara.MoveNeighborDefinitely(), ActRanged.Perform(), and AI_Idle.Run().

◆ GetAngle()

float Point.GetAngle ( Point  to)
inline

Definition at line 607 of file Point.cs.

608 {
609 Vector3 vector = to.Position() - Position();
610 return Mathf.Atan2(vector.y, vector.x) * 57.29578f;
611 }
ref Vector3 Position(int height)
Definition: Point.cs:548
ref Vector3 Position()
Definition: Point.cs:560

References Position().

Referenced by GetRotation().

◆ GetAngle2()

float Point.GetAngle2 ( Point  to)
inline

Definition at line 613 of file Point.cs.

614 {
615 int num = to.x - x;
616 return Mathf.Atan2(to.z - z, num) * 57.29578f;
617 }

References x, and z.

Referenced by Map.ListPointsInArc().

◆ GetHashCode()

override int Point.GetHashCode ( )
inline

Definition at line 984 of file Point.cs.

985 {
986 return x + z * map.Size;
987 }

References map, MapBounds.Size, x, and z.

◆ GetInstalled< T >()

T Point.GetInstalled< T > ( )
inline
Type Constraints
T :Trait 

Definition at line 1233 of file Point.cs.

1233 : Trait
1234 {
1235 if (detail != null)
1236 {
1237 foreach (Thing thing in detail.things)
1238 {
1239 if (thing.IsInstalled && thing.trait is T)
1240 {
1241 return thing.trait as T;
1242 }
1243 }
1244 }
1245 return null;
1246 }
bool IsInstalled
Definition: Card.cs:2369

References Card.IsInstalled, CellDetail.things, and Card.trait.

◆ GetNearestPoint()

Point Point.GetNearestPoint ( bool  allowBlock = false,
bool  allowChara = true,
bool  allowInstalled = true,
bool  ignoreCenter = false,
int  minRadius = 0 
)
inline

Definition at line 619 of file Point.cs.

620 {
621 Point p = new Point();
622 int r = 1;
623 int num = x;
624 int num2 = z;
625 if (IsValid(num, num2))
626 {
627 return p;
628 }
629 if (IsValid(num, num2 + 1))
630 {
631 return p;
632 }
633 for (int i = 0; i < 30; i++)
634 {
635 for (int j = 0; j < r; j++)
636 {
637 num++;
638 if (IsValid(num, num2))
639 {
640 return p;
641 }
642 }
643 for (int k = 0; k < r; k++)
644 {
645 num2++;
646 if (IsValid(num, num2))
647 {
648 return p;
649 }
650 }
651 r++;
652 for (int l = 0; l < r; l++)
653 {
654 num--;
655 if (IsValid(num, num2))
656 {
657 return p;
658 }
659 }
660 for (int m = 0; m < r; m++)
661 {
662 num2--;
663 if (IsValid(num, num2))
664 {
665 return p;
666 }
667 }
668 r++;
669 }
670 p.Set(this);
671 return p;
672 bool IsValid(int dx, int dz)
673 {
674 p.Set(dx, dz);
675 if (minRadius > r / 2)
676 {
677 return false;
678 }
679 if (!p.IsInBounds || !map.Contains(dx, dz) || (ignoreCenter && dx == x && dz == z))
680 {
681 return false;
682 }
683 if ((!allowBlock && (p.cell.blocked || p.cell.hasDoor || (p.cell.growth != null && p.cell.growth.IsTree))) || (!allowChara && p.HasChara) || (!allowInstalled && p.Installed != null))
684 {
685 return false;
686 }
687 return true;
688 }
689 }

References Algorithms.WeightCell.blocked, cell, MapBounds.Contains(), Cell.growth, HasChara, Cell.hasDoor, Installed, IsInBounds, GrowSystem.IsTree, IsValid, map, Point(), Set(), x, and z.

Referenced by InvOwnerChaosOffering._OnProcess(), TraitShrine._OnUse(), Zone.AddGlobalCharasOnActivate(), Recipe.Build(), Zone.ClaimZone(), ZonePreEnterBout.Execute(), CoreDebug.Fix_LostCore(), FactionBranch.GetMailBoxPos(), FortuneRollData.GetPrize(), MapBounds.GetRandomSpawnPos(), Zone.GetRandomVisitPos(), Chara.GetRevived(), ZoneEventRaid.GetSpawnPos(), Zone.GetSpawnPos(), ActEffect.GetTeleportPos(), TraitFoodEggFertilized.Incubate(), Chara.Kick(), Chara.MoveHome(), Zone_Void.OnActivate(), FactionBranch.OnActivateZone(), FactionBranch.OnAfterSimulate(), QuestIntroInspector.OnComplete(), QuestVernis.OnComplete(), QuestDialog.OnDropReward(), Zone_DungeonFairy.OnGenerateMap(), GrowSystemTree.OnHitFail(), SurvivalManager.OnMineWreck(), TraitDiary.OnRead(), QuestEscort.OnStart(), ZoneEventDefenseGame.OnVisit(), ActSummonGuard.Perform(), ActEffect.Proc(), ActEffect.ProcAt(), CoreDebug.QuickStart(), TraitBaseSpellbook.ReadFailEffect(), Chara.RequestProtection(), Zone.Revive(), Chara.Revive(), AI_Churyu.Run(), AI_Idle.Run(), GoalCombat.Run(), ZoneEventQuest.Spawn(), ZoneEventQuest.SpawnBoss(), CoreDebug.SpawnBoss(), Card.SpawnLoot(), SurvivalManager.StartRaid(), CoreDebug.TestSpawn(), Chara.TryDropBossLoot(), Religion.TryGetGift(), Zone.TrySpawnFollower(), Card.TryUnrestrain(), and CoreDebug.UpdateInput().

◆ GetPointTowards()

Point Point.GetPointTowards ( Point  dest)
inline

Definition at line 801 of file Point.cs.

802 {
803 Point point = new Point(this);
804 int num = dest.x - point.x;
805 int num2 = dest.z - point.z;
806 if (Mathf.Abs(num) > 1 || Mathf.Abs(num2) > 1)
807 {
808 int num3 = Mathf.Max(Mathf.Abs(num), Mathf.Abs(num2));
809 point.x += num / num3;
810 point.z += num2 / num3;
811 }
812 return point;
813 }

References Point(), x, and z.

Referenced by Chara.TryMoveTowards().

◆ GetRandomNeighbor()

Point Point.GetRandomNeighbor ( )
inline

Definition at line 759 of file Point.cs.

760 {
761 int num = ((EClass.rnd(2) == 0) ? 1 : (-1));
762 if (EClass.rnd(2) == 0)
763 {
764 return new Point(Mathf.Clamp(x + num, 0, map.Size - 1), z);
765 }
766 return new Point(x, Mathf.Clamp(z + num, 0, map.Size - 1));
767 }
static int rnd(long a)
Definition: EClass.cs:58

References map, Point(), EClass.rnd(), MapBounds.Size, x, and z.

Referenced by Chara._Move(), ActEffect.GetTeleportPos(), Chara.MoveRandom(), GrowSystem.OnExceedLastStage(), and ActRanged.Perform().

◆ GetRandomPoint()

Point Point.GetRandomPoint ( int  radius,
bool  requireLos = true,
bool  allowChara = true,
bool  allowBlocked = false,
int  tries = 100 
)
inline

Definition at line 769 of file Point.cs.

770 {
771 Point point = new Point();
772 for (int i = 0; i < tries; i++)
773 {
774 point.Set(x - radius + EClass.rnd(radius * 2 + 1), z - radius + EClass.rnd(radius * 2 + 1));
775 if (point.IsValid && (allowBlocked || !point.IsBlocked) && (!requireLos || Los.IsVisible(this, point)) && (allowChara || !point.HasChara))
776 {
777 return point;
778 }
779 }
780 return null;
781 }
Definition: Los.cs:5
static bool IsVisible(Point p1, Point p2, Action< Point, bool > _onVisit=null)
Definition: Los.cs:167
bool IsBlocked
Definition: Point.cs:363

References HasChara, IsBlocked, IsValid, Los.IsVisible(), Point(), EClass.rnd(), Set(), x, and z.

Referenced by ZonePreEnterEncounter.Execute(), FactionBranch.GenerateGarbage(), Zone.GetRandomVisitPos(), ActEffect.Proc(), ActEffect.ProcAt(), AI_Idle.Run(), ActThrow.Throw(), ConMiasma.Tick(), AI_Idle.TryPerformIdleUse(), Zone.TrySpawnFollower(), and ActRide.Unride().

◆ GetRandomPointInRadius()

Point Point.GetRandomPointInRadius ( int  minRadius,
int  maxRadius,
bool  requireLos = true,
bool  allowChara = true,
bool  allowBlocked = false,
int  tries = 2000 
)
inline

Definition at line 783 of file Point.cs.

784 {
785 Point point = new Point();
786 for (int i = 0; i < tries; i++)
787 {
788 point.Set(x - maxRadius + EClass.rnd(maxRadius * 2 + 1), z - maxRadius + EClass.rnd(maxRadius * 2 + 1));
789 if (point.IsValid && (allowBlocked || !point.IsBlocked) && (allowChara || !point.HasChara))
790 {
791 int num = point.Distance(this);
792 if (num >= minRadius && num <= maxRadius && (!requireLos || Los.IsVisible(this, point)))
793 {
794 return point;
795 }
796 }
797 }
798 return null;
799 }
int Distance(Point p)
Definition: Point.cs:989

References Distance(), HasChara, IsBlocked, IsValid, Los.IsVisible(), Point(), EClass.rnd(), Set(), x, and z.

Referenced by ZonePreEnterEncounter.Execute(), ActMissileBarrage.Perform(), and AI_Idle.Run().

◆ GetRotation()

Quaternion Point.GetRotation ( Point  to)
inline

Definition at line 602 of file Point.cs.

603 {
604 return Quaternion.Euler(0f, 0f, GetAngle(to));
605 }
float GetAngle(Point to)
Definition: Point.cs:607

References GetAngle().

Referenced by Effect._Play().

◆ GetShared()

static Point Point.GetShared ( int  x,
int  z 
)
inlinestatic

Definition at line 390 of file Point.cs.

391 {
392 shared.x = x;
393 shared.z = z;
394 return shared;
395 }
static Point shared
Definition: Point.cs:20

References shared, x, and z.

Referenced by Zone_Dungeon.PlaceRail(), and AI_Goto.TryGoTo().

◆ HasNonHomeProperty()

bool Point.HasNonHomeProperty ( Thing  exclude = null)
inline

Definition at line 1286 of file Point.cs.

1287 {
1288 if (FirstThing == null)
1289 {
1290 return false;
1291 }
1292 foreach (Thing thing in detail.things)
1293 {
1294 if (thing != exclude && thing.isNPCProperty)
1295 {
1296 return true;
1297 }
1298 }
1299 return false;
1300 }
bool isNPCProperty
Definition: Card.cs:554
Thing FirstThing
Definition: Point.cs:301

References Card.isNPCProperty, and CellDetail.things.

◆ HasRoomOrArea()

bool Point.HasRoomOrArea ( BaseArea  a)
inline

Definition at line 421 of file Point.cs.

422 {
423 if (area != a)
424 {
425 return cell.room == a;
426 }
427 return true;
428 }
Area area
Definition: Point.cs:73

References area.

Referenced by Map.FindThing().

◆ IsBlockByHeight()

bool Point.IsBlockByHeight ( Point  p)
inline

Definition at line 999 of file Point.cs.

1000 {
1001 if (Mathf.Abs(p.cell.minHeight - cell.topHeight) > 8)
1002 {
1003 return Mathf.Abs(p.cell.topHeight - cell.minHeight) > 8;
1004 }
1005 return false;
1006 }
byte topHeight
Definition: Cell.cs:78
byte minHeight
Definition: Cell.cs:80

References cell, Cell.minHeight, and Cell.topHeight.

◆ IsInSpot< T >()

bool Point.IsInSpot< T > ( )
inline
Type Constraints
T :Trait 

Definition at line 430 of file Point.cs.

430 : Trait
431 {
432 foreach (Thing thing in EClass._map.things)
433 {
434 if (!(thing.trait is T) || thing.trait.radius == 0)
435 {
436 continue;
437 }
438 foreach (Point item in thing.trait.ListPoints())
439 {
440 if (Equals(item))
441 {
442 return true;
443 }
444 }
445 }
446 return false;
447 }
List< Thing > things
Definition: Map.cs:49
bool Equals(int _x, int _z)
Definition: Point.cs:960
virtual int radius
Definition: Trait.cs:93
virtual List< Point > ListPoints(Point center=null, bool onlyPassable=true)
Definition: Trait.cs:756

References EClass._map, Equals(), item, Trait.ListPoints(), Trait.radius, Map.things, and Card.trait.

◆ IsPublicSpace()

bool Point.IsPublicSpace ( )
inline

Definition at line 449 of file Point.cs.

450 {
451 if (area != null)
452 {
454 {
455 return true;
456 }
457 return false;
458 }
459 if (cell.room != null)
460 {
462 {
463 return true;
464 }
465 return false;
466 }
467 return true;
468 }
virtual bool IsPublicArea
Definition: AreaType.cs:20
AreaType type
Definition: BaseArea.cs:32
Room room
Definition: Cell.cs:102

References area, cell, AreaType.IsPublicArea, Cell.room, and BaseArea.type.

Referenced by Map.FindThing().

◆ ListCards()

List< Card > Point.ListCards ( bool  includeMasked = false)
inline

Definition at line 1051 of file Point.cs.

1052 {
1053 listCard.Clear();
1054 bool flag = EClass.scene.actionMode != null && EClass.scene.actionMode.IsRoofEditMode();
1055 if (detail != null)
1056 {
1057 foreach (Thing thing in detail.things)
1058 {
1059 if (!thing.isHidden && (includeMasked || !thing.isMasked) && thing.isRoofItem == flag)
1060 {
1061 listCard.Add(thing);
1062 }
1063 }
1064 if (!flag)
1065 {
1066 foreach (Chara chara in detail.charas)
1067 {
1068 listCard.Add(chara);
1069 }
1070 }
1071 }
1072 return listCard;
1073 }
virtual bool IsRoofEditMode(Card c=null)
Definition: ActionMode.cs:311
bool isMasked
Definition: Card.cs:590
bool isRoofItem
Definition: Card.cs:578
bool isHidden
Definition: Card.cs:530
static Scene scene
Definition: EClass.cs:30
static List< Card > listCard
Definition: Point.cs:45
ActionMode actionMode
Definition: Scene.cs:79

References Scene.actionMode, CellDetail.charas, detail, Card.isHidden, Card.isMasked, ActionMode.IsRoofEditMode(), Card.isRoofItem, listCard, EClass.scene, and CellDetail.things.

Referenced by Chara._Move(), ActPlan._Update(), Map._ValidateInstalled(), ActMelee.Attack(), Recipe.Build(), Trait.CookProgress(), ActEffect.DamageEle(), FindAttackTarget(), AI_Clean.GetCleanPoint(), Card.GetRestrainer(), Trait.Offer(), Trait.OfferProcess(), TraitFertilizer.OnSimulateHour(), ActPick.Perform(), AM_Deconstruct.Perform(), Map.RefreshFOV(), AI_Clean.Run(), RecipeUpdater.RunDisassemble(), AM_Picker.Test(), TraitCatalyst.TrySetHeldAct(), TraitLeash.TrySetHeldAct(), TraitSalesTag.TrySetHeldAct(), TraitStethoscope.TrySetHeldAct(), TraitToolTorch.TrySetHeldAct(), TraitWhipEgg.TrySetHeldAct(), TraitWhipLove.TrySetHeldAct(), Map.TryShatter(), and CoreDebug.UpdateInput().

◆ ListCharas()

List< Chara > Point.ListCharas ( )
inline

Definition at line 1171 of file Point.cs.

1172 {
1173 listChara.Clear();
1174 if (detail != null)
1175 {
1176 foreach (Chara chara in detail.charas)
1177 {
1178 listChara.Add(chara);
1179 }
1180 }
1181 return listChara;
1182 }
static List< Chara > listChara
Definition: Point.cs:47

References CellDetail.charas, detail, and listChara.

Referenced by AM_Adv._OnUpdateInput(), Recipe.Build(), RecipeCard.Build(), TaskBuild.OnProgressComplete(), ActRide.Perform(), ActThrow.Throw(), and Chara.TryPush().

◆ ListCharasInNeighbor()

List< Chara > Point.ListCharasInNeighbor ( Func< Chara, bool >  func)
inline

Definition at line 1200 of file Point.cs.

1201 {
1202 listChara.Clear();
1203 ForeachNeighbor(delegate(Point p)
1204 {
1205 if (p.detail == null)
1206 {
1207 return;
1208 }
1209 foreach (Chara chara in p.detail.charas)
1210 {
1211 if (func(chara))
1212 {
1213 listChara.Add(chara);
1214 }
1215 }
1216 });
1217 return listChara;
1218 }
void ForeachNeighbor(Action< Point > action, bool diagonal=true)
Definition: Point.cs:1397

References CellDetail.charas, detail, ForeachNeighbor(), and listChara.

Referenced by AI_Idle.DoSomethingToNearChara(), and ActWhirlwind.Perform().

◆ ListCharasInRadius()

List< Chara > Point.ListCharasInRadius ( Chara  cc,
int  dist,
Func< Chara, bool >  func,
bool  onlyVisible = true 
)
inline

Definition at line 1220 of file Point.cs.

1221 {
1222 listChara.Clear();
1223 foreach (Chara chara in EClass._map.charas)
1224 {
1225 if (func(chara) && chara.Dist(cc) < dist && (!onlyVisible || Los.IsVisible(chara, cc)))
1226 {
1227 listChara.Add(chara);
1228 }
1229 }
1230 return listChara;
1231 }
int Dist(Card c)
Definition: Card.cs:7614

References EClass._map, Map.charas, Card.Dist(), and Los.IsVisible().

Referenced by AI_Idle.DoSomethingToCharaInRadius(), ActRanged.Perform(), AI_Eat.Run(), AI_Idle.Run(), StanceSongSleep.TickSong(), and StanceSongValor.TickSong().

◆ ListInspectorTargets()

List< IInspect > Point.ListInspectorTargets ( )
inline

Definition at line 1352 of file Point.cs.

1353 {
1354 List<IInspect> list = new List<IInspect>();
1355 CellDetail cellDetail = detail;
1356 if (cellDetail != null)
1357 {
1358 foreach (Chara chara in cellDetail.charas)
1359 {
1360 if (chara.isSynced)
1361 {
1362 list.Add(chara);
1363 }
1364 }
1365 foreach (Thing thing in cellDetail.things)
1366 {
1367 list.Add(thing);
1368 }
1369 if (cellDetail.designation != null && !(cellDetail.designation is TaskCut) && !(cellDetail.designation is TaskMine))
1370 {
1371 list.Add(cellDetail.designation);
1372 }
1373 }
1374 if (ObjInfo._CanInspect(this))
1375 {
1376 list.Add(ObjInfo.GetTempList(this));
1377 }
1378 if (BlockInfo._CanInspect(this))
1379 {
1380 list.Add(BlockInfo.GetTempList(this));
1381 }
1382 return list;
1383 }
static bool _CanInspect(Point pos)
Definition: BlockInfo.cs:31
static BlockInfo GetTempList(Point _pos)
Definition: BlockInfo.cs:21
TaskDesignation designation
Definition: CellDetail.cs:19
override bool isSynced
Definition: Chara.cs:691
static bool _CanInspect(Point pos)
Definition: ObjInfo.cs:67
static ObjInfo GetTempList(Point _pos)
Definition: ObjInfo.cs:57

References BlockInfo._CanInspect(), ObjInfo._CanInspect(), CellDetail.charas, CellDetail.designation, BlockInfo.GetTempList(), ObjInfo.GetTempList(), Chara.isSynced, and CellDetail.things.

Referenced by UIInspector.InspectUnderMouse(), and LayerInteraction.TryShow().

◆ ListThings< T >()

List< Card > Point.ListThings< T > ( bool  onlyInstalled = true)
inline
Type Constraints
T :Trait 

Definition at line 1155 of file Point.cs.

1155 : Trait
1156 {
1157 listCard.Clear();
1158 if (detail != null)
1159 {
1160 foreach (Thing thing in detail.things)
1161 {
1162 if (!thing.isHidden && !thing.isRoofItem && !thing.isMasked && (!onlyInstalled || thing.IsInstalled) && thing.trait is T)
1163 {
1164 listCard.Add(thing);
1165 }
1166 }
1167 }
1168 return listCard;
1169 }

References detail, Card.isHidden, Card.IsInstalled, Card.isMasked, Card.isRoofItem, listCard, CellDetail.things, and Card.trait.

◆ ListVisibleCards()

List< Card > Point.ListVisibleCards ( )
inline

Definition at line 1075 of file Point.cs.

1076 {
1077 listCard.Clear();
1078 if (detail != null)
1079 {
1080 foreach (Thing thing in detail.things)
1081 {
1082 if (!thing.isHidden && !thing.isMasked && !thing.isRoofItem)
1083 {
1084 listCard.Add(thing);
1085 }
1086 }
1087 foreach (Chara chara in detail.charas)
1088 {
1089 if (EClass.pc.CanSee(chara))
1090 {
1091 listCard.Add(chara);
1092 }
1093 }
1094 }
1095 return listCard;
1096 }

References Chara.CanSee(), CellDetail.charas, detail, Card.isHidden, Card.isMasked, Card.isRoofItem, listCard, EClass.pc, and CellDetail.things.

Referenced by HotItemNoItem._TrySetAct(), and HotItemAct.TrySetAct().

◆ ListVisibleCharas()

List< Chara > Point.ListVisibleCharas ( )
inline

Definition at line 1184 of file Point.cs.

1185 {
1186 listChara.Clear();
1187 if (detail != null)
1188 {
1189 foreach (Chara chara in detail.charas)
1190 {
1191 if (EClass.pc.CanSee(chara))
1192 {
1193 listChara.Add(chara);
1194 }
1195 }
1196 }
1197 return listChara;
1198 }

References Chara.CanSee(), CellDetail.charas, detail, listChara, and EClass.pc.

Referenced by HotItemHeld.TrySetToolAct().

◆ ListWitnesses()

List< Chara > Point.ListWitnesses ( Chara  criminal,
int  radius = 4,
WitnessType  type = WitnessType::crime,
Chara  target = null 
)
inline

Definition at line 830 of file Point.cs.

831 {
832 List<Chara> list = new List<Chara>();
833 foreach (Point item in map.ListPointsInCircle(this, radius, mustBeWalkable: false))
834 {
835 List<Chara> list2 = item.detail?.charas;
836 if (list2 == null || list2.Count == 0)
837 {
838 continue;
839 }
840 foreach (Chara item2 in list2)
841 {
842 if (item2 == criminal || item2.IsPC || (item2 != target && !item2.CanWitness) || (item2.HasCondition<ConDim>() && EClass.rnd(2) == 0) || item2.conSuspend != null || item2.isParalyzed || item2.IsDisabled)
843 {
844 continue;
845 }
846 switch (type)
847 {
848 case WitnessType.ally:
849 if (!criminal.IsPCFaction || item2.hostility <= Hostility.Neutral)
850 {
851 continue;
852 }
853 break;
854 case WitnessType.crime:
855 if (criminal == null || item2.isBlind || item2.isConfused || (criminal.IsPCParty && (item2.IsPCFaction || item2.IsPCFactionMinion)) || (target == null && item2.OriginalHostility < Hostility.Neutral))
856 {
857 continue;
858 }
859 break;
860 case WitnessType.music:
861 if (item2.hostility <= Hostility.Enemy)
862 {
863 continue;
864 }
865 break;
866 }
867 list.Add(item2);
868 }
869 }
870 return list;
871 }
Hostility
Definition: Hostility.cs:2
WitnessType
Definition: WitnessType.cs:2
Hostility OriginalHostility
Definition: Chara.cs:471
ConSuspend conSuspend
Definition: Chara.cs:104
override bool IsPC
Definition: Chara.cs:612
override bool IsPCParty
Definition: Chara.cs:615
bool isParalyzed
Definition: Chara.cs:132
override bool IsDisabled
Definition: Chara.cs:585
override bool IsPCFaction
Definition: Chara.cs:671
override bool IsPCFactionMinion
Definition: Chara.cs:655
bool isBlind
Definition: Chara.cs:130
Hostility hostility
Definition: Chara.cs:291
bool CanWitness
Definition: Chara.cs:1003
bool isConfused
Definition: Chara.cs:126
Definition: ConDim.cs:2
List< Point > ListPointsInCircle(Point center, float radius, bool mustBeWalkable=true, bool los=true)
Definition: Map.cs:2278

References Chara.CanWitness, Chara.conSuspend, Chara.HasCondition(), Chara.hostility, Chara.isBlind, Chara.isConfused, Chara.IsDisabled, Chara.isParalyzed, Chara.IsPC, Chara.IsPCFaction, Chara.IsPCFactionMinion, item, Map.ListPointsInCircle(), map, Chara.OriginalHostility, and EClass.rnd().

Referenced by AI_PlayMusic.Run(), AI_Steal.Run(), TalkWitnesses(), and TryWitnessCrime().

◆ ModFire()

void Point.ModFire ( int  value,
bool  extinguish = false 
)
inline

Definition at line 933 of file Point.cs.

934 {
935 if (extinguish && cell.HasFire)
936 {
937 PlaySound("extinguish");
938 PlayEffect("smoke");
939 PlayEffect("vanish");
940 }
941 map.ModFire(x, z, value);
942 }
bool HasFire
Definition: Cell.cs:676
void ModFire(int x, int z, int amount)
Definition: Map.cs:1172
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
Definition: Point.cs:1253
Effect PlayEffect(string id)
Definition: Point.cs:1248

References cell, Cell.HasFire, map, Map.ModFire(), PlayEffect(), PlaySound(), x, and z.

Referenced by ActEffect.DamageEle(), GameUpdater.SurfaceUpdater.FixedUpdate(), TaskWater.Run(), ActThrow.Throw(), LogicalFire.Transfer(), and LogicalFire.Update().

◆ PlayEffect()

Effect Point.PlayEffect ( string  id)
inline

Definition at line 1248 of file Point.cs.

1249 {
1250 return Effect.Get(id).Play(this);
1251 }
Definition: Effect.cs:7
static Effect Get(Effect original)
Definition: Effect.cs:85
void Play(float delay, Point from, float fixY=0f, Point to=null, Sprite sprite=null)
Definition: Effect.cs:100

References Effect.Get(), and Effect.Play().

Referenced by ActMelee.Attack(), Chara.Banish(), Card.Die(), ModFire(), ActMultihit.Perform(), ActRush.Perform(), ActSwarm.Perform(), TraitBaseSpellbook.ReadFailEffect(), AI_Clean.Run(), AI_Slaughter.Run(), and TaskClean.Run().

◆ PlaySound()

SoundSource Point.PlaySound ( string  id,
bool  synced = true,
float  v = 1f,
bool  spatial = true 
)
inline

Definition at line 1253 of file Point.cs.

1254 {
1255 Vector3 vector = default(Vector3);
1256 if (spatial)
1257 {
1258 if (!IsValid)
1259 {
1260 return null;
1261 }
1262 vector = (EClass._zone.IsRegion ? PositionTopdown() : Position());
1263 vector.z = 0f;
1264 if (Vector3.Distance(vector, EClass.scene.transAudio.position) > EClass.core.gameSetting.audio.maxRange)
1265 {
1266 return null;
1267 }
1268 if (!synced)
1269 {
1270 v -= 0.4f;
1271 }
1272 }
1273 return EClass.Sound.Play(id, vector, (!spatial) ? 1f : (v * ((EClass.screen.Zoom >= 1f) ? 1f : EClass.screen.Zoom)));
1274 }
GameSetting gameSetting
Definition: Core.cs:47
static Core core
Definition: EClass.cs:6
static BaseGameScreen screen
Definition: EClass.cs:32
static SoundManager Sound
Definition: EClass.cs:46
AudioSetting audio
Definition: GameSetting.cs:297
ref Vector3 PositionTopdown()
Definition: Point.cs:569
Transform transAudio
Definition: Scene.cs:31

References GameSetting.audio, EClass.core, Core.gameSetting, GameSetting.AudioSetting.maxRange, EClass.scene, EClass.screen, EClass.Sound, Scene.transAudio, and BaseGameScreen.Zoom.

Referenced by Chara.Banish(), Map.DestroyObj(), Card.Die(), Map.MineBlock(), Map.MineFloor(), Map.MineObjSound(), ModFire(), TaskHarvest.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskCut.OnProgress(), TaskMoveInstalled.OnProgressComplete(), ActMultihit.Perform(), ActSwarm.Perform(), Card.PlaySound(), ActEffect.Proc(), ActEffect.ProcAt(), AI_Fish.ProgressFish.Ripple(), and AI_Craft_Snowman.Run().

◆ Plow()

void Point.Plow ( )
inline

Definition at line 944 of file Point.cs.

945 {
946 if (IsFarmField)
947 {
949 {
951 }
952 else if (cell.Front.HasWallOrFence)
953 {
955 }
956 }
957 SetFloor(4, 4);
958 }
bool HasWallOrFence
Definition: Cell.cs:831
Cell Front
Definition: Cell.cs:129
Point GetPoint()
Definition: Cell.cs:1101
Cell Right
Definition: Cell.cs:141
bool IsFarmField
Definition: Point.cs:127
void SetFloor(int idMat=0, int idFloor=0)
Definition: Point.cs:923

References cell, Cell.Front, Cell.GetPoint(), Cell.HasWallOrFence, IsFarmField, Cell.Right, Set(), and SetFloor().

◆ Position() [1/2]

ref Vector3 Point.Position ( )
inline

Definition at line 560 of file Point.cs.

561 {
562 byte b = ((cell.bridgeHeight == 0) ? cell.height : cell.bridgeHeight);
563 vCache.x = (float)(x + z) * _screen.tileAlign.x;
564 vCache.y = (float)(z - x) * _screen.tileAlign.y + (float)(int)b * _screen.tileMap._heightMod.y;
565 vCache.z = 1000f + vCache.x * _screen.tileWeight.x + vCache.y * _screen.tileWeight.z + (float)(int)b * _screen.tileMap._heightMod.z;
566 return ref vCache;
567 }
BaseTileMap tileMap
Vector3 _heightMod
Definition: BaseTileMap.cs:335
byte height
Definition: Cell.cs:72
byte bridgeHeight
Definition: Cell.cs:74
Vector3 vCache
Definition: Point.cs:41
static BaseGameScreen _screen
Definition: Point.cs:43

References BaseTileMap._heightMod, _screen, Cell.bridgeHeight, cell, Cell.height, BaseGameScreen.tileAlign, BaseGameScreen.tileMap, vCache, x, and z.

Referenced by GetAngle(), Position(), PositionAuto(), and PositionCenter().

◆ Position() [2/2]

◆ PositionAuto()

ref Vector3 Point.PositionAuto ( )
inline

Definition at line 539 of file Point.cs.

540 {
542 {
543 return ref PositionTopdown();
544 }
545 return ref Position();
546 }
virtual bool IsRegion
Definition: Spatial.cs:515

References EClass._zone, Spatial.IsRegion, Position(), and PositionTopdown().

Referenced by AM_Adv.OnAfterUpdate(), and CardRenderer.PlayAnime().

◆ PositionCenter()

ref Vector3 Point.PositionCenter ( )
inline

Definition at line 587 of file Point.cs.

588 {
590 {
591 _ = ref PositionTopdown();
592 }
593 else
594 {
595 _ = ref Position();
596 }
597 vCache.x += EClass.screen.tileWorldSize.x * 0.5f;
598 vCache.y += EClass.screen.tileWorldSize.y * 0.75f;
599 return ref vCache;
600 }

References EClass._zone, Spatial.IsRegion, Position(), PositionTopdown(), and vCache.

Referenced by BaseGameScreen.Focus(), Card.MoveImmediate(), AM_Adv.OnActivate(), AM_MoveInstalled.OnRenderTile(), Scene.OnUpdate(), AM_Cinema.OnUpdateInput(), AttackProcess.PlayRangedAnime(), ActorEx.Refresh(), AM_Adv.RefreshArrow(), BaseGameScreen.RefreshPosition(), Card.Teleport(), and GameUpdater.Update100ms().

◆ PositionTopdown()

ref Vector3 Point.PositionTopdown ( )
inline

Definition at line 569 of file Point.cs.

570 {
571 byte b = ((cell.bridgeHeight == 0) ? cell.height : cell.bridgeHeight);
572 vCache.x = (float)x * _screen.tileAlign.x;
573 vCache.y = (float)z * _screen.tileAlign.y + (float)(int)b * _screen.tileMap._heightMod.y;
574 vCache.z = 1000f + vCache.x * _screen.tileWeight.x + vCache.y * _screen.tileWeight.z + (float)(int)b * _screen.tileMap._heightMod.z;
575 return ref vCache;
576 }

References BaseTileMap._heightMod, _screen, Cell.bridgeHeight, cell, Cell.height, BaseGameScreen.tileAlign, BaseGameScreen.tileMap, vCache, x, and z.

Referenced by TileSelectorElona.OnRenderTile(), PositionAuto(), PositionCenter(), GameScreenElona.RefreshPosition(), ActionMode.RefreshTexts(), and GameUpdater.Update().

◆ PositionTopdownTreasure()

ref Vector3 Point.PositionTopdownTreasure ( )
inline

Definition at line 578 of file Point.cs.

579 {
581 vCache.x = (float)(x - EClass.scene.elomap.minX) * screenElona.tileAlign.x;
582 vCache.y = (float)(z - EClass.scene.elomap.minY) * screenElona.tileAlign.y;
583 vCache.z = 1400f;
584 return ref vCache;
585 }
int minX
Definition: EloMap.cs:112
int minY
Definition: EloMap.cs:114
EloMap elomap
Definition: Scene.cs:149
GameScreenElona screenElona
Definition: Scene.cs:95

References Scene.elomap, EloMap.minX, EloMap.minY, EClass.scene, Scene.screenElona, BaseGameScreen.tileAlign, vCache, x, and z.

Referenced by LayerTreasureMap.SetMap().

◆ RefreshNeighborTiles()

void Point.RefreshNeighborTiles ( )
inline

◆ RefreshTile()

void Point.RefreshTile ( )
inline

Definition at line 1281 of file Point.cs.

1282 {
1284 }
void RefreshSingleTile(int x, int z)
Definition: Map.cs:2103

References Map.RefreshSingleTile().

Referenced by TaskBuild.OnProgressComplete().

◆ Set() [1/4]

Point Point.Set ( int  _x,
int  _z 
)
inline

Definition at line 503 of file Point.cs.

504 {
505 x = _x;
506 z = _z;
507 return this;
508 }

References x, and z.

Referenced by Map._AddCard(), Chara._Move(), Card._OnDeserialized(), AM_Sim._OnUpdateInput(), ActPlan._Update(), Map._ValidateInstalled(), Zone.Activate(), Map.AddCardOnActivate(), Zone.AddGlobalCharasOnActivate(), AI_Goto.AI_Goto(), PartialMap.Apply(), ActMelee.Attack(), RecipeUpdater.Build(), GoalManualMove.CanMove(), ActRush.CanPerform(), ActThrow.CanPerform(), TaskPoint.CanPerform(), Act.CanPerform(), PointTarget.CheckLastTarget(), Copy< T >(), Crawler.Crawl(), EffectMeteor.Create(), BaseTileMap.Draw(), TaskBuild.DrawMarker(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), Player.EnterLocalZone(), GameUpdater.SurfaceUpdater.FixedUpdate(), GameUpdater.FastSurfaceUpdater.FixedUpdate(), Card.ForeachFOV(), ForeachMultiSize(), ForeachNearestPoint(), ForeachNeighbor(), Map.ForeachNeighbor(), Map.ForeachPoint(), MapBounds.ForeachPoint(), Map.ForeachSphere(), Zone_SnowGrave.GenerateGrave(), AI_Clean.GetCleanPoint(), AI_Fish.GetFishingPoint(), TaskBuild.GetHitResult(), TileTypeWallHang.GetMountHeight(), GetNearestPoint(), AI_Trolley.GetPoint(), BaseGameScreen.GetRandomPoint(), GetRandomPoint(), GetRandomPointInRadius(), MapBounds.GetRandomSpace(), Cell.GetSharedPoint(), MapBounds.GetSpawnPos(), ActEffect.GetTeleportPos(), BlockInfo.GetTemp(), ObjInfo.GetTemp(), BlockInfo.GetTempList(), ObjInfo.GetTempList(), Los.IsBlocked(), Los.IsVisible(), Los.ListVisible(), MapGen.MakeNeighbor(), MapGen.MakeNeighbor_old(), MapGen.MakeRoad(), MapGenDungen.OnGenerateTerrain(), WidgetMinimap.OnPointerDown(), AM_Designation< T >.OnProcessTiles(), AM_MoveInstalled.OnProcessTiles(), HotItemHeld.OnRenderTile(), BaseTileSelector.OnUpdate(), WidgetMinimap.OnUpdate(), AM_Cinema.OnUpdateInput(), Act.Perform(), ActMissileBarrage.Perform(), ActRanged.Perform(), ActRush.Perform(), ActThrow.Perform(), ActPlan.Item.Perform(), Zone_Dungeon.PlaceRail(), Plow(), Point(), GenRoom.Populate(), MapGen.Populate(), AM_Adv.PressedActionMove(), BaseTileSelector.ProcessTiles(), Religion.Reforge(), BaseTileSelector.RefreshMouseInfo(), PathProgress.RequestPath(), PathProgress.RequestPathImmediate(), AI_Fish.Run(), AI_Goto.Run(), GoalManualMove.Run(), TaskPoint.Run(), TaskWater.Run(), CharaRenderer.SetFirst(), Map.SetFoormark(), Act.SetReference(), RegionPoint.SetRegionPoint(), LayerInteraction.Show(), ActThrow.Throw(), AI_Goto.TryGoTo(), GoalManualMove.TryMove(), Chara.TryMoveFrom(), Chara.TryMoveTowards(), GameUpdater.Update(), LogicalFire.Update(), PointTarget.Update(), CharaRenderer.UpdatePosition(), and Chara.UpdateSight().

◆ Set() [2/4]

Point Point.Set ( int  index)
inline

Definition at line 510 of file Point.cs.

511 {
512 x = index % map.Size;
513 z = index % map.SizeXZ / map.Size;
514 return this;
515 }
int index
Definition: Point.cs:49

References index, map, MapBounds.Size, x, and z.

◆ Set() [3/4]

Point Point.Set ( Point  point)
inline

Definition at line 517 of file Point.cs.

518 {
519 x = point.x;
520 z = point.z;
521 return this;
522 }

References x, and z.

◆ Set() [4/4]

void Point.Set ( Vector3  v)
inline

Definition at line 529 of file Point.cs.

530 {
531 v.x -= 0.64f;
532 v.y -= 0.64f;
533 int num = Mathf.RoundToInt(v.x / _screen.tileAlign.x);
534 int num2 = Mathf.RoundToInt(v.y / _screen.tileAlign.y);
535 x = (num2 - num) / 2 * -1;
536 z = num - x;
537 }

References _screen, BaseGameScreen.tileAlign, x, and z.

◆ SetBlock()

void Point.SetBlock ( int  idMat = 0,
int  idBlock = 0 
)
inline

Definition at line 918 of file Point.cs.

919 {
920 map.SetBlock(x, z, idMat, idBlock);
921 }
void SetBlock(int x, int z, int idMat=0, int idBlock=0)
Definition: Map.cs:996

References map, Map.SetBlock(), x, and z.

Referenced by ZonePreEnterDigStairs.Execute(), Map.MineBlock(), Zone_Dungeon.PlaceRail(), and Chara.TryDropBossLoot().

◆ SetFloor()

void Point.SetFloor ( int  idMat = 0,
int  idFloor = 0 
)
inline

Definition at line 923 of file Point.cs.

924 {
925 map.SetFloor(x, z, idMat, idFloor);
926 }
void SetFloor(int x, int z, int idMat=0, int idFloor=0)
Definition: Map.cs:957

References map, Map.SetFloor(), x, and z.

Referenced by Map.MineFloor(), TraitBoat.OnChangePlaceState(), TaskPlow.OnCreateProgress(), TraitBoat.OnRemovedFromZone(), and Plow().

◆ SetHighlight()

void Point.SetHighlight ( int  id)
inline

Definition at line 1424 of file Point.cs.

1425 {
1426 cell.highlight = (byte)id;
1428 }
static Player player
Definition: EClass.cs:12
List< Cell > lastMarkedHighlights
Definition: Player.cs:1145

References Player.lastMarkedHighlights, and EClass.player.

Referenced by Act.OnMarkMapHighlights().

◆ SetObj()

void Point.SetObj ( int  id = 0,
int  value = 1,
int  dir = 0 
)
inline

Definition at line 928 of file Point.cs.

929 {
930 map.SetObj(x, z, id, value, dir);
931 }
void SetObj(int x, int z, int id=0, int value=1, int dir=0)
Definition: Map.cs:1535

References map, Map.SetObj(), x, and z.

Referenced by ZonePreEnterDigStairs.Execute(), GrowSystem.Grow(), TaskHarvest.OnCreateProgress(), GrowSystem.OnExceedLastStage(), Zone_Dungeon.PlaceRail(), BiomeProfile.ClusterObj.TryCreate(), Chara.TryDropBossLoot(), Zone.TryGenerateShrine(), and TraitSeed.TrySprout().

◆ TalkWitnesses()

void Point.TalkWitnesses ( Chara  criminal,
string  idTalk,
int  radius = 4,
WitnessType  type = WitnessType::everyone,
Func< Chara, bool >  talkIf = null,
int  chance = 3 
)
inline

Definition at line 815 of file Point.cs.

816 {
817 if (talkIf == null)
818 {
819 talkIf = (Chara c) => EClass.rnd(chance) == 0;
820 }
821 foreach (Chara item in ListWitnesses(criminal, radius, type))
822 {
823 if (talkIf(item) && !item.renderer.IsTalking())
824 {
825 item.Talk(idTalk);
826 }
827 }
828 }
List< Chara > ListWitnesses(Chara criminal, int radius=4, WitnessType type=WitnessType.crime, Chara target=null)
Definition: Point.cs:830

References item, ListWitnesses(), and EClass.rnd().

Referenced by ElementContainerCard.OnLevelUp(), ElementContainerZone.OnLevelUp(), AI_Bladder.Run(), and AI_Craft_Snowman.Run().

◆ ToRegionPos()

Point Point.ToRegionPos ( )
inline

Definition at line 1416 of file Point.cs.

1417 {
1418 Point point = new Point(x, z);
1419 point.x += EClass.scene.elomap.minX;
1420 point.z += EClass.scene.elomap.minY;
1421 return point;
1422 }

References Scene.elomap, EloMap.minX, EloMap.minY, and EClass.scene.

Referenced by TraitDeedRelocate.OnRead().

◆ ToString()

override string Point.ToString ( )
inline

Definition at line 524 of file Point.cs.

525 {
526 return "(" + x + " / " + z + ")";
527 }

References x, and z.

Referenced by Algorithms.PathFinder._FindPath(), Equals(), TaskPoint.Run(), Card.ToString(), Chara.ToString(), Zone.ToString(), and WidgetDebug.UpdateText().

◆ TryWitnessCrime()

bool Point.TryWitnessCrime ( Chara  criminal,
Chara  target = null,
int  radius = 4,
Func< Chara, bool >  funcWitness = null 
)
inline

Definition at line 873 of file Point.cs.

874 {
875 List<Chara> list = ListWitnesses(criminal, radius, WitnessType.crime, target);
876 bool result = false;
877 if (funcWitness == null)
878 {
879 funcWitness = (Chara c) => EClass.rnd(10) == 0;
880 }
881 foreach (Chara item in list)
882 {
883 if (funcWitness(item))
884 {
885 CallGuard(criminal, item);
886 result = true;
887 target?.DoHostileAction(criminal);
888 if (item != target)
889 {
890 item.DoHostileAction(criminal);
891 }
892 break;
893 }
894 }
895 return result;
896 }
void CallGuard(Chara criminal, Chara caller)
Definition: Point.cs:898

References CallGuard(), item, ListWitnesses(), and EClass.rnd().

Referenced by Player.ModKarma(), TaskDig.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), InvOwner.Transaction.Process(), AI_Fuck.Run(), and AI_Steal.Run().

◆ Within()

bool Point.Within ( int  _x,
int  _z,
int  _w,
int  _h 
)
inline

Definition at line 397 of file Point.cs.

398 {
399 if (x >= _x && z >= _z && x < _x + _w)
400 {
401 return z < _z + _h;
402 }
403 return false;
404 }

References x, and z.

Referenced by PartialMap.Save().

Member Data Documentation

◆ _screen

BaseGameScreen Point._screen
static

Definition at line 43 of file Point.cs.

Referenced by Position(), PositionTopdown(), and Set().

◆ fixedPos

Vector3 Point.fixedPos
static

Definition at line 18 of file Point.cs.

◆ Invalid

◆ listCard

List<Card> Point.listCard = new List<Card>()
staticprivate

Definition at line 45 of file Point.cs.

Referenced by ListCards(), ListThings< T >(), and ListVisibleCards().

◆ listChara

List<Chara> Point.listChara = new List<Chara>()
staticprivate

Definition at line 47 of file Point.cs.

Referenced by ListCharas(), ListCharasInNeighbor(), and ListVisibleCharas().

◆ map

◆ shared

◆ shared2

Point Point.shared2 = new Point()
static

Definition at line 22 of file Point.cs.

Referenced by TileTypeWallHang.GetMountHeight().

◆ shared3

Point Point.shared3 = new Point()
static

Definition at line 24 of file Point.cs.

◆ Surrounds

readonly XY [] Point.Surrounds
static
Initial value:
= new XY[4]
{
new XY(0, -1),
new XY(1, 0),
new XY(0, 1),
new XY(-1, 0)
}
Definition: XY.cs:2

Definition at line 10 of file Point.cs.

Referenced by LogicalFire.Update().

◆ vCache

Vector3 Point.vCache
private

Definition at line 41 of file Point.cs.

Referenced by Position(), PositionCenter(), PositionTopdown(), and PositionTopdownTreasure().

◆ x

int Point.x

Definition at line 36 of file Point.cs.

Referenced by Algorithms.PathFinder._FindPath(), PathManager._GetFirstStep(), Chara._Move(), Card._OnSerializing(), SerializedCards.Add(), Card.AddBlood(), SourceMaterial.Row.AddBlood(), Zone.AddCard(), Map.AddCardOnActivate(), Lot.AddConnectedRooms(), Zone.AddThing(), PartialMap.Apply(), AM_Adv.AxisMove(), Recipe.Build(), Card.CalculateFOV(), TraitSpotExit.CanBuiltAt(), Region.CanCreateZone(), Chara.CanInteractTo(), Chara.CanMoveTo(), Clamp(), Card.ClearFOV(), MapBounds.Contains(), Copy(), RecipeCard.Craft(), EffectMeteor.Create(), SpatialGen.CreateInstance(), Region.CreateRandomSite(), Region.CreateZone(), TraitNewZone.CreateZone(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), Spatial.Dist(), Distance(), BaseTileMap.Draw(), TileMapElona.Draw(), TaskBuild.DrawMarker(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), WidgetMinimap.EmitParticle(), Player.EnterLocalZone(), Equals(), ZonePreEnterDigStairs.Execute(), Algorithms.PathFinder.FindPath(), GameUpdater.SurfaceUpdater.FixedUpdate(), GameUpdater.FastSurfaceUpdater.FixedUpdate(), GameUpdater.LogicUpdater.FixedUpdate(), TraitBoat.ForeachDeck(), ForeachNearestPoint(), Map.ForeachNeighbor(), Zone.Generate(), Zone_SnowGrave.GenerateGrave(), GetAngle2(), EloMap.GetCell(), TraitScrollMapTreasure.GetDest(), TraitNewZone.GetExitPos(), AI_Fish.GetFishingPoint(), GetHashCode(), TaskBuild.GetHitResult(), TaskMine.GetHitResult(), TileTypeWallHang.GetMountHeight(), GetNearestPoint(), AI_Trolley.GetPoint(), GetPointTowards(), GetRandomNeighbor(), Region.GetRandomPoint(), GetRandomPoint(), GetRandomPointInRadius(), MapBounds.GetRandomSpace(), GetShared(), MapBounds.GetSpawnPos(), EloMap.GetZone(), AM_MoveInstalled.HitTest(), AI_Goto.IsDestinationReached(), PathProgress.IsDestinationReached(), BaseTileSelector.IsInRange(), Los.IsVisible(), Map.ListPointsInArc(), Map.ListPointsInCircle(), Los.ListVisible(), Chara.LookAt(), MapGen.MakeNeighbor(), MapGen.MakeNeighbor_old(), MapGen.MakeRiver(), MapGen.MakeRoad(), Map.MineBlock(), Map.MineFloor(), Map.MineObj(), Map.MineRamp(), ModFire(), Map.MoveCard(), Chara.MoveHome(), TraitNewZone.MoveZone(), TraitMoongate.MoveZone(), POIMap.OccyupyPOI(), WidgetArtTool.OnActivate(), Region.OnAdvanceHour(), AM_Copy.OnAfterProcessTiles(), Zone_Nymelle.OnBeforeSimulate(), TaskDrawWater.OnCreateProgress(), TaskPourWater.OnCreateProgress(), Player.OnExitBorder(), SurvivalManager.OnExpandFloor(), Act.OnMarkMapHighlights(), SurvivalManager.OnMineWreck(), AIWork_Clean.OnPerformWork(), GenRoom.OnPopulate(), AM_Populate.OnProcessTiles(), AM_Terrain.OnProcessTiles(), AI_Water.OnProgressComplete(), TaskBuild.OnProgressComplete(), TaskCut.OnProgressComplete(), TaskDig.OnProgressComplete(), TaskMine.OnProgressComplete(), TaskMoveInstalled.OnProgressComplete(), Recipe.OnRenderMarker(), AM_BaseTerrain.OnRenderTile(), HotItemHeld.OnRenderTile(), PointList.OnSerializing(), TraitFertilizer.OnSimulateHour(), TraitDrink.OnThrowGround(), WidgetMinimap.OnUpdate(), TraitStairsLocked.OnUse(), Zone_Dungeon.PlaceRail(), Point(), Position(), PositionTopdown(), PositionTopdownTreasure(), AM_Adv.PressedActionMove(), ActEffect.ProcAt(), BaseTileSelector.ProcessTiles(), Room.Refresh(), AM_Adv.RefreshArrow(), AM_Region.RefreshArrow(), BaseTileSelector.RefreshMouseInfo(), Weather.RefreshWeather(), RegionPoint.RegionPoint(), Card.RenderMarker(), Map.Resize(), SerializedCards.Restore(), Map.Reveal(), AI_Bladder.Run(), AI_Clean.Run(), AI_Fish.Run(), GoalCombat.Run(), TaskClean.Run(), TaskWater.Run(), RecipeUpdater.RunRecipe(), Map.Save(), ActWait.Search(), Set(), LogicalPoint.Set(), SetBlock(), SetFloor(), SetObj(), Card.SetPlaceState(), RegionPoint.SetRegionPoint(), WidgetHotbar.SetShortcutMenu(), LayerCraftFloat.ShowContextMenu(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), ToString(), Zone.TryGenerateShrine(), AI_Goto.TryGoTo(), MapGen.TryMakeRiver(), Chara.TryMoveFrom(), TraitNewZone.TrySetAct(), GameUpdater.Update(), LogicalFire.Update(), CoreDebug.UpdateInput(), WidgetDebug.UpdateText(), Map.ValidateInstalled(), VirtualRoom.VirtualRoom(), and Within().

◆ z

int Point.z

Definition at line 39 of file Point.cs.

Referenced by Algorithms.PathFinder._FindPath(), PathManager._GetFirstStep(), Chara._Move(), Card._OnSerializing(), SerializedCards.Add(), Card.AddBlood(), SourceMaterial.Row.AddBlood(), Zone.AddCard(), Map.AddCardOnActivate(), Lot.AddConnectedRooms(), Zone.AddThing(), PartialMap.Apply(), AM_Adv.AxisMove(), Recipe.Build(), Card.CalculateFOV(), TraitSpotExit.CanBuiltAt(), Region.CanCreateZone(), Chara.CanInteractTo(), GoalManualMove.CanMove(), Chara.CanMoveTo(), Clamp(), Card.ClearFOV(), MapBounds.Contains(), Copy(), RecipeCard.Craft(), EffectMeteor.Create(), SpatialGen.CreateInstance(), Region.CreateRandomSite(), Region.CreateZone(), TraitNewZone.CreateZone(), FactionBranch.DailyOutcome(), Spatial.Dist(), Distance(), BaseTileMap.Draw(), TileMapElona.Draw(), TaskBuild.DrawMarker(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), WidgetMinimap.EmitParticle(), Player.EnterLocalZone(), Equals(), ZonePreEnterDigStairs.Execute(), Algorithms.PathFinder.FindPath(), GameUpdater.SurfaceUpdater.FixedUpdate(), GameUpdater.FastSurfaceUpdater.FixedUpdate(), GameUpdater.LogicUpdater.FixedUpdate(), TraitBoat.ForeachDeck(), ForeachNearestPoint(), Map.ForeachNeighbor(), Zone.Generate(), Zone_SnowGrave.GenerateGrave(), GetAngle2(), EloMap.GetCell(), AI_Clean.GetCleanPoint(), TraitScrollMapTreasure.GetDest(), TraitNewZone.GetExitPos(), AI_Fish.GetFishingPoint(), GetHashCode(), TaskBuild.GetHitResult(), TaskMine.GetHitResult(), TileTypeWallHang.GetMountHeight(), GetNearestPoint(), AI_Trolley.GetPoint(), GetPointTowards(), GetRandomNeighbor(), Region.GetRandomPoint(), GetRandomPoint(), GetRandomPointInRadius(), MapBounds.GetRandomSpace(), GetShared(), MapBounds.GetSpawnPos(), EloMap.GetZone(), AM_MoveInstalled.HitTest(), AI_Goto.IsDestinationReached(), PathProgress.IsDestinationReached(), BaseTileSelector.IsInRange(), Los.IsVisible(), Map.ListPointsInArc(), Map.ListPointsInCircle(), Los.ListVisible(), Chara.LookAt(), MapGen.MakeNeighbor(), MapGen.MakeNeighbor_old(), MapGen.MakeRiver(), MapGen.MakeRoad(), Map.MineBlock(), Map.MineFloor(), Map.MineObj(), Map.MineRamp(), ModFire(), Map.MoveCard(), POIMap.OccyupyPOI(), WidgetArtTool.OnActivate(), Region.OnAdvanceHour(), AM_Copy.OnAfterProcessTiles(), Zone_Nymelle.OnBeforeSimulate(), TaskDrawWater.OnCreateProgress(), TaskPourWater.OnCreateProgress(), SurvivalManager.OnExpandFloor(), Act.OnMarkMapHighlights(), SurvivalManager.OnMineWreck(), AIWork_Clean.OnPerformWork(), GenRoom.OnPopulate(), AM_Populate.OnProcessTiles(), AM_Terrain.OnProcessTiles(), AI_Water.OnProgressComplete(), TaskBuild.OnProgressComplete(), TaskCut.OnProgressComplete(), TaskDig.OnProgressComplete(), TaskMine.OnProgressComplete(), TaskMoveInstalled.OnProgressComplete(), Recipe.OnRenderMarker(), AM_BaseTerrain.OnRenderTile(), HotItemHeld.OnRenderTile(), PointList.OnSerializing(), TraitFertilizer.OnSimulateHour(), TraitDrink.OnThrowGround(), WidgetMinimap.OnUpdate(), TraitStairsLocked.OnUse(), Zone_Dungeon.PlaceRail(), Point(), Position(), PositionTopdown(), PositionTopdownTreasure(), AM_Adv.PressedActionMove(), ActEffect.ProcAt(), BaseTileSelector.ProcessTiles(), Room.Refresh(), AM_Adv.RefreshArrow(), AM_Region.RefreshArrow(), BaseTileSelector.RefreshMouseInfo(), Weather.RefreshWeather(), RegionPoint.RegionPoint(), Card.RenderMarker(), Map.Resize(), SerializedCards.Restore(), Map.Reveal(), AI_Bladder.Run(), AI_Clean.Run(), AI_Fish.Run(), GoalCombat.Run(), GoalManualMove.Run(), TaskClean.Run(), TaskWater.Run(), RecipeUpdater.RunRecipe(), Map.Save(), ActWait.Search(), Set(), LogicalPoint.Set(), SetBlock(), SetFloor(), SetObj(), Card.SetPlaceState(), RegionPoint.SetRegionPoint(), LayerCraftFloat.ShowContextMenu(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), ToString(), Zone.TryGenerateShrine(), AI_Goto.TryGoTo(), MapGen.TryMakeRiver(), Chara.TryMoveFrom(), TraitNewZone.TrySetAct(), GameUpdater.Update(), LogicalFire.Update(), CoreDebug.UpdateInput(), WidgetDebug.UpdateText(), Map.ValidateInstalled(), VirtualRoom.VirtualRoom(), and Within().

◆ Zero

Point Point.Zero = new Point()
static

Definition at line 33 of file Point.cs.

Property Documentation

◆ area

◆ cell

Cell Point.cell
get

Definition at line 51 of file Point.cs.

Referenced by Map._AddCard(), ObjInfo._CanInspect(), TaskPoint._CanPerformTask(), AIWork._FuncWorkPoint(), PathManager._GetFirstStep(), ActionMode._HitTest(), TileType._HitTest(), Chara._Move(), Effect._Play(), Map._RemoveCard(), ActPlan._Update(), Map._ValidateInstalled(), SourceMaterial.Row.AddBlood(), Area.AddPoint(), GameDate.AdvanceMin(), PartialMap.Apply(), TraitHouseBoard.ApplyData(), ActMelee.Attack(), RecipeBridgePillar.Build(), RecipeCard.Build(), TaskClean.CanClean(), Chara.CanDuplicate(), AI_Fish.CanPerform(), TaskDrawWater.CanProgress(), TaskHarvest.CanProgress(), TaskPourWater.CanProgress(), Player.CanSee(), TraitPotionEmpty.CanUse(), CoreDebug.COM_Teleport(), RecipeCard.Craft(), Crawler.Crawl(), ActEffect.DamageEle(), Map.DestroyObj(), BaseGameScreen.Draw(), BaseTileMap.Draw(), TileMapElona.Draw(), CardRenderer.Draw(), ScreenGuide.DrawWall(), AM_Build.FixBridge(), GameUpdater.SurfaceUpdater.FixedUpdate(), GameUpdater.FastSurfaceUpdater.FixedUpdate(), ForeachNearestPoint(), Zone.Generate(), AI_Clean.GetCleanPoint(), TileTypeVine.GetDesiredDir(), TileTypeWallHang.GetDesiredDir(), AI_Fish.GetFishingPoint(), AM_Mine.GetGuidePass(), TaskBuild.GetHitResult(), TaskDrawWater.GetHitResult(), TaskMine.GetHitResult(), TaskPlow.GetHitResult(), TaskPourWater.GetHitResult(), Map.GetNearbyResourcePoint(), GetNearestPoint(), LogicalPointManager.GetOrCreate(), Map.GetRandomPoint(), MapBounds.GetRandomSpace(), MapBounds.GetRandomSpawnPos(), Chara.GetRoomWork(), Zone.GetSpawnPos(), Card.GetSprite(), MapBounds.GetSurface(), ActEffect.GetTeleportPos(), TaskWater.GetText(), BaseTaskHarvest.GetTextSmall(), TaskDig.GetTextSmall(), TaskMine.GetTextSmall(), BaseTileMap.GetThingPosition(), TraitBoat.GetWaterMat(), Chara.HasAccess(), Recipe.HasSameTile(), AM_Build.HitTest(), AM_Copy.HitTest(), AM_FlagCell.HitTest(), TileTypeBridgePillar.HitTest(), TileTypeRoof.HitTest(), IsBlockByHeight(), TraitDoor.IsOpen(), IsPublicSpace(), TraitDoor.IsValid(), Trait.ListPoints(), Map.ListPointsInCircle(), Props.ListThingStack(), MapGen.MakeRiver(), Map.MineBlock(), Map.MineFloor(), Map.MineObj(), Map.MineObjSound(), Map.MineRamp(), ModFire(), Chara.MoveRandom(), DesignationList< T >.OnAdd(), FactionBranch.OnAfterSimulate(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), GrowSystem.OnExceedLastStage(), SurvivalManager.OnMineWreck(), WidgetMinimap.OnPointerDown(), AM_FlagCell.OnProcessTiles(), AM_Populate.OnProcessTiles(), AM_Terrain.OnProcessTiles(), TaskCut.OnProgress(), TaskBuild.OnProgressComplete(), Area.OnRemove(), Recipe.OnRenderMarker(), RecipeCard.OnRenderMarker(), ActionMode.OnRenderTile(), AM_Build.OnRenderTile(), AM_Mine.OnRenderTile(), AM_Picker.OnRenderTile(), TraitRoadSign.OnRenderTile(), ActionMode.OnRenderTileFloor(), TaskCut.OnStart(), TraitDye.OnThrowGround(), EffectIRenderer.OnUpdate(), ActRanged.Perform(), ActWater.Perform(), Zone_Dungeon.PlaceRail(), Plow(), GenRoom.Populate(), MapGen.Populate(), BiomeProfile.Populate(), Position(), PositionTopdown(), ActEffect.ProcAt(), Room.Refresh(), Zone.RefreshBGM(), ActionMode.RefreshTexts(), BaseGameScreen.RefreshWeather(), DesignationList< T >.Remove(), Area.RemovePoint(), Card.RenderMarker(), ActionMode.RotateUnderMouse(), AI_Clean.Run(), AI_Fish.Run(), AI_Idle.Run(), TaskClean.Run(), TaskWater.Run(), RecipeUpdater.RunRecipe(), Map.SetFoormark(), Card.SetHidden(), Card.SetPlaceState(), AM_Adv.SetPressedAction(), PointTarget.ShouldIgnore(), TaskWater.ShouldWater(), AM_Picker.TestFloor(), AM_Terrain.TopHeight(), LogicalFire.Transfer(), Zone.TryAddThing(), BiomeProfile.ClusterObj.TryCreate(), BiomeProfile.ClusterThing.TryCreate(), TaskHarvest.TryGetAct(), AI_Goto.TryGoTo(), TraitHouseBoard.TrySetAct(), TraitRoomPlate.TrySetAct(), TraitFakeBlock.TrySetHeldAct(), HotItemHeld.TrySetToolAct(), Map.TryShatter(), TraitSeed.TrySprout(), LogicalFire.Update(), TraitSpotBiome.Update(), TransAnime.Update(), GameUpdater.Update100ms(), ActionMode.UpdateInput(), Chara.UpdateSight(), WidgetDebug.UpdateText(), BlockInfo.WriteNote(), and ObjInfo.WriteNote().

◆ Charas

◆ detail

◆ eloX

int Point.eloX
get

Definition at line 79 of file Point.cs.

Referenced by Chara.Tick().

◆ eloY

int Point.eloY
get

Definition at line 81 of file Point.cs.

Referenced by Chara.Tick().

◆ FirstChara

◆ FirstThing

Thing Point.FirstThing
get

Definition at line 300 of file Point.cs.

301 {
302 get
303 {
304 CellDetail cellDetail = detail;
305 if (cellDetail == null || cellDetail.things.Count <= 0)
306 {
307 return null;
308 }
309 return detail.things[0];
310 }
311 }

Referenced by CoreDebug.UpdateInput().

◆ Front

Point Point.Front
get

Definition at line 75 of file Point.cs.

◆ growth

◆ HasArea

bool Point.HasArea
get

Definition at line 235 of file Point.cs.

Referenced by TileType._HitTest().

◆ HasBlock

◆ HasBlockRecipe

bool Point.HasBlockRecipe
get

Definition at line 217 of file Point.cs.

Referenced by UIInspector.DrawHighlight(), and ActionMode.GetGuidePass().

◆ HasBridge

◆ HasChara

◆ HasDecal

bool Point.HasDecal
get

◆ HasDesignation

bool Point.HasDesignation
get

Definition at line 83 of file Point.cs.

Referenced by AM_Designation< T >.HitTest(), and AM_Build.OnProcessTiles().

◆ HasDirt

bool Point.HasDirt
get

Definition at line 85 of file Point.cs.

Referenced by TaskClean.CanClean(), AI_Clean.GetCleanPoint(), and AI_Clean.Run().

◆ HasFence

bool Point.HasFence
get

Definition at line 169 of file Point.cs.

170 {
171 get
172 {
173 if (cell._block != 0)
174 {
175 return cell.sourceBlock.tileType.IsFence;
176 }
177 return false;
178 }
179 }
byte _block
Definition: Cell.cs:30
SourceBlock.Row sourceBlock
Definition: Cell.cs:1052

◆ HasFloor

bool Point.HasFloor
get

Definition at line 219 of file Point.cs.

Referenced by CoreDebug.COM_Teleport(), Map.MineFloor(), and AM_Picker.Test().

◆ HasMinableBlock

bool Point.HasMinableBlock
get

Definition at line 143 of file Point.cs.

144 {
145 get
146 {
147 if (HasObj)
148 {
149 return sourceBlock.tileType.IsFullBlock;
150 }
151 return false;
152 }
153 }
SourceBlock.Row sourceBlock
Definition: Point.cs:63
bool HasObj
Definition: Point.cs:137

Referenced by TaskCut.GetHitResult(), and AI_HaulResource.Run().

◆ HasMultipleChara

bool Point.HasMultipleChara
get

Definition at line 263 of file Point.cs.

264 {
265 get
266 {
267 if (detail != null)
268 {
269 return detail.charas.Count > 1;
270 }
271 return false;
272 }
273 }

Referenced by GoalSleep.Run().

◆ HasNonWallBlock

bool Point.HasNonWallBlock
get

Definition at line 193 of file Point.cs.

194 {
195 get
196 {
197 if (HasBlock)
198 {
199 return !cell.sourceBlock.tileType.IsWallOrFence;
200 }
201 return false;
202 }
203 }
bool HasBlock
Definition: Point.cs:141

Referenced by BlockInfo._CanInspect(), ActionMode.GetGuidePass(), and Recipe.OnRenderMarker().

◆ HasObj

◆ HasRail

bool Point.HasRail
get

Definition at line 133 of file Point.cs.

Referenced by TraitTrolley.CanActivate(), and AI_Trolley.GetPoint().

◆ HasRamp

bool Point.HasRamp
get

Definition at line 131 of file Point.cs.

◆ HasRampOrLadder

bool Point.HasRampOrLadder
get

Definition at line 135 of file Point.cs.

◆ HasTaskBuild

bool Point.HasTaskBuild
get

Definition at line 205 of file Point.cs.

206 {
207 get
208 {
209 if (cell.detail != null)
210 {
211 return cell.detail.designation is TaskBuild;
212 }
213 return false;
214 }
215 }
CellDetail detail
Definition: Cell.cs:92

◆ HasThing

bool Point.HasThing
get

Definition at line 250 of file Point.cs.

251 {
252 get
253 {
254 CellDetail cellDetail = detail;
255 if (cellDetail == null)
256 {
257 return false;
258 }
259 return cellDetail.things.Count > 0;
260 }
261 }

Referenced by Chara._Move(), ActPlan._Update(), Zone.Generate(), SurvivalManager.GetRandomPoint(), Zone_Dungeon.PlaceRail(), Zone.SpawnLostItems(), Zone.TryGenerateShrine(), TaskHarvest.TryGetAct(), and TraitSpotBiome.Update().

◆ HasWall

bool Point.HasWall
get

Definition at line 157 of file Point.cs.

158 {
159 get
160 {
161 if (cell._block != 0)
162 {
163 return cell.sourceBlock.tileType.IsWall;
164 }
165 return false;
166 }
167 }

◆ HasWallOrFence

◆ index

◆ Installed

◆ IsBlocked

◆ IsDeepWater

bool Point.IsDeepWater
get

Definition at line 275 of file Point.cs.

276 {
277 get
278 {
280 {
281 return sourceFloor.tileType.IsDeepWater;
282 }
283 return false;
284 }
285 }
bool IsTopWaterAndNoSnow
Definition: Cell.cs:712
SourceFloor.Row sourceFloor
Definition: Point.cs:65

Referenced by Chara.MoveRandom().

◆ IsFarmField

◆ IsHidden

bool Point.IsHidden
get

Definition at line 346 of file Point.cs.

347 {
348 get
349 {
350 if (cell.isSeen)
351 {
352 if (cell.room != null && !EClass.screen.tileMap.hideRoomFog && !cell.hasDoor)
353 {
354 return cell.HasRoof;
355 }
356 return false;
357 }
358 return true;
359 }
360 }
bool hideRoomFog
Definition: BaseTileMap.cs:281
bool HasRoof
Definition: Cell.cs:648
bool isSeen
Definition: Cell.cs:282

Referenced by ActPlan._Update(), ActThrow.CanPerform(), Chara.CanSeeSimple(), HotItemHeld.TrySetToolAct(), and PointTarget.Update().

◆ IsHotSpring

bool Point.IsHotSpring
get

Definition at line 374 of file Point.cs.

375 {
376 get
377 {
379 {
380 if (!EClass.debug.enable && !EClass._zone.elements.Has(3701))
381 {
382 return IsInSpot<TraitGeyser>();
383 }
384 return true;
385 }
386 return false;
387 }
388 }
bool enable
Definition: CoreDebug.cs:286
static CoreDebug debug
Definition: EClass.cs:48
bool Has(int ele)
ElementContainerZone elements
Definition: Zone.cs:43
virtual bool IsUnderwater
Definition: Zone.cs:266

Referenced by AI_Idle.Run(), AI_PassTime.Run(), and TraitFoodEgg.Update().

◆ IsInBounds

◆ IsInBoundsPlus

bool Point.IsInBoundsPlus
get

Definition at line 115 of file Point.cs.

116 {
117 get
118 {
119 if (x >= 0 && z >= 0 && x <= map.Size - 1)
120 {
121 return z <= map.Size - 1;
122 }
123 return false;
124 }
125 }

Referenced by ActionMode._HitTest(), and TaskBuild.GetHitResult().

◆ IsSeen

◆ IsSky

bool Point.IsSky
get

Definition at line 223 of file Point.cs.

224 {
225 get
226 {
227 if (sourceFloor.tileType == TileType.Sky)
228 {
229 return !HasBridge;
230 }
231 return false;
232 }
233 }
bool HasBridge
Definition: Point.cs:221
static TileTypeSky Sky
Definition: TileType.cs:71

Referenced by TileType._HitTest(), ActPlan._Update(), ActThrow.CanPerform(), TaskDig.GetHitResult(), SurvivalManager.GetRandomPoint(), Map.MineFloor(), TaskDig.OnProgressComplete(), TraitSpotBiome.Update(), and GameUpdater.Update100ms().

◆ IsSunLit

bool Point.IsSunLit
get

Definition at line 181 of file Point.cs.

182 {
183 get
184 {
186 {
187 return Map.sunMap.Contains(index);
188 }
189 return true;
190 }
191 }
bool IsNight
Definition: Date.cs:112
static World world
Definition: EClass.cs:40
Definition: Map.cs:13
bool IsIndoor
Definition: Map.cs:131
static HashSet< int > sunMap
Definition: Map.cs:14
GameDate date
Definition: World.cs:6

◆ IsSync

◆ IsValid

bool Point.IsValid
getset

Definition at line 87 of file Point.cs.

88 {
89 get
90 {
91 if (x >= 0 && z >= 0 && x < map.Size)
92 {
93 return z < map.Size;
94 }
95 return false;
96 }
97 set
98 {
99 x = ((!value) ? (-999) : 0);
100 }
101 }

Referenced by PathManager._GetFirstStep(), ActionMode._HitTest(), AM_Sim._OnUpdateInput(), Effect._Play(), BaseTileSelector._ProcessTile(), ActPlan._Update(), Map._ValidateInstalled(), Zone.Activate(), Map.AddCardOnActivate(), Zone.AddCardSplinkle(), Zone.AddGlobalCharasOnActivate(), Card.AddThing(), AM_Adv.AxisMove(), DesignationList< T >.CanAdd(), Chara.CanInteractTo(), Chara.CanMoveTo(), Chara.CanSee(), Chara.CanSeeSimple(), CoreDebug.COM_Teleport(), Chara.DestroyPath(), Card.Die(), AIAct.DoGoto(), AIAct.DoGotoInteraction(), BaseTileMap.Draw(), ZonePreEnterDigStairs.Execute(), FindThing< T >(), GameUpdater.SurfaceUpdater.FixedUpdate(), GameUpdater.FastSurfaceUpdater.FixedUpdate(), ForeachNearestPoint(), ForeachNeighbor(), AI_Clean.GetCleanPoint(), PathManager.GetFirstStep(), AI_Fish.GetFishingPoint(), TaskBuild.GetHitResult(), LayerInspect.GetMenuItems(), Map.GetNearbyResourcePoint(), GetNearestPoint(), LogicalPointManager.GetOrCreate(), AI_Trolley.GetPoint(), Map.GetRandomEdge(), MapBounds.GetRandomEdge(), Trait.GetRandomPoint(), GetRandomPoint(), GetRandomPointInRadius(), MapBounds.GetRandomSpawnPos(), MapBounds.GetRandomSurface(), Zone.GetRandomVisitPos(), Zone.GetSpawnPos(), Card.GetSprite(), ActEffect.GetTeleportPos(), AM_BaseTerrain.HitTest(), UIInspector.InspectUnderMouse(), Chara.IsEnemyOnPath(), MapGen.MakeNeighbor(), MapGen.MakeNeighbor_old(), MapGen.MakeRoad(), Map.MineBlock(), Map.MineFloor(), Map.MineObj(), Map.MineRamp(), ActBolt.OnMarkMapHighlights(), ActRush.OnMarkMapHighlights(), TileSelectorElona.OnRenderTile(), ActionMode.OnRenderTile(), AM_BaseTerrain.OnRenderTile(), ActionMode.OnRenderTileFloor(), BaseTileSelector.OnUpdate(), AM_BaseGameMode.OnUpdateInput(), LayerInspect.OnUpdateInput(), CardRenderer.PlayAnime(), AM_Adv.PressedActionMove(), ActEffect.Proc(), ActEffect.ProcAt(), WidgetSearch.RefreshList(), BaseTileSelector.RefreshMouseInfo(), Chara.RequestProtection(), SerializedCards.Restore(), ActionMode.RotateUnderMouse(), AI_Fish.Run(), AI_Idle.Run(), GoalCombat.Run(), GoalManualMove.Run(), TaskDump.Run(), Player.TargetRanged(), Chara.TryMoveFrom(), LayerInteraction.TryShow(), Zone.TrySpawnFollower(), GameUpdater.Update(), LogicalFire.Update(), PointTarget.Update(), GameUpdater.Update100ms(), ActionMode.UpdateInput(), CoreDebug.UpdateInput(), Chara.UpdateSight(), and WidgetDebug.UpdateText().

◆ IsWater

bool Point.IsWater
get

◆ LastThing

Thing Point.LastThing
get

Definition at line 313 of file Point.cs.

314 {
315 get
316 {
317 CellDetail cellDetail = detail;
318 if (cellDetail == null || cellDetail.things.Count <= 0)
319 {
320 return null;
321 }
322 return detail.things.LastItem();
323 }
324 }

Referenced by CardRenderer.Draw(), AM_EditMarker.GetTarget(), AM_Visibility.GetTarget(), and AM_Adv.ShowAllAction().

◆ matBlock

◆ matBridge

◆ matFloor

◆ matRoofBlock

SourceMaterial.Row Point.matRoofBlock
get

Definition at line 53 of file Point.cs.

◆ sourceBlock

◆ sourceBridge

◆ sourceFloor

◆ sourceObj

◆ sourceRoofBlock

SourceBlock.Row Point.sourceRoofBlock
get

Definition at line 61 of file Point.cs.

Referenced by TaskBuild.OnProgressComplete().

◆ Things


The documentation for this class was generated from the following file: