Elin Decompiled Documentation EA 23.102 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)
 
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 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 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]
 
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 450 of file Point.cs.

451 {
452 x = p.x;
453 z = p.z;
454 }
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 456 of file Point.cs.

457 {
458 x = _x;
459 z = _z;
460 }

References x, and z.

◆ Point() [4/4]

Point.Point ( int  _index)
inline

Definition at line 462 of file Point.cs.

463 {
464 Set(_index);
465 }
Point Set(int _x, int _z)
Definition: Point.cs:479

References Set().

Member Function Documentation

◆ Animate()

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

Definition at line 1266 of file Point.cs.

1267 {
1268 if (!IsValid)
1269 {
1270 return;
1271 }
1272 CellDetail orCreateDetail = cell.GetOrCreateDetail();
1273 if (orCreateDetail.anime == null)
1274 {
1275 TransAnime transAnime = (orCreateDetail.anime = new TransAnime
1276 {
1277 data = ResourceCache.Load<TransAnimeData>("Scene/Render/Anime/" + id),
1278 point = this,
1279 animeBlock = animeBlock
1280 }.Init());
1281 EClass._map.pointAnimes.Add(transAnime);
1282 if (id == AnimeID.Quake)
1283 {
1284 transAnime.drawBlock = true;
1285 }
1286 }
1287 }
AnimeID
Definition: AnimeID.cs:2
TransAnime anime
Definition: CellDetail.cs:21
CellDetail GetOrCreateDetail()
Definition: Cell.cs:1529
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 1304 of file Point.cs.

1305 {
1306 if (detail == null || detail.anime == null)
1307 {
1308 return p;
1309 }
1310 p.x += detail.anime.v.x;
1311 p.y += detail.anime.v.y;
1312 p.z += detail.anime.v.z;
1313 return p;
1314 }
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 1289 of file Point.cs.

1290 {
1291 if (detail == null || detail.anime == null)
1292 {
1293 return p;
1294 }
1295 p.x += detail.anime.v.x;
1296 p.y += detail.anime.v.y;
1297 p.z += detail.anime.v.z;
1298 p.v.x += detail.anime.v.x;
1299 p.v.y += detail.anime.v.y;
1300 p.v.z += detail.anime.v.z;
1301 return p;
1302 }

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 870 of file Point.cs.

871 {
872 caller.Talk("callGuards");
873 List<Chara> list = EClass._map.charas.Where((Chara c) => c.trait is TraitGuard && !c.IsInCombat).ToList();
874 if (list.Count > 0)
875 {
876 Chara chara = list.RandomItem();
877 caller.Say("calledGuard", caller);
878 chara.DoHostileAction(criminal);
879 }
880 }
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:5949
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6046
Definition: Chara.cs:10
new TraitChara trait
Definition: Chara.cs:488
bool IsInCombat
Definition: Chara.cs:817
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:5707
List< Chara > charas
Definition: Map.cs:81

References EClass._map, Map.charas, Chara.DoHostileAction(), Chara.IsInCombat, Card.Say(), Card.Talk(), and Chara.trait.

Referenced by TryWitnessCrime().

◆ Clamp()

Point Point.Clamp ( bool  useBounds = false)
inline

Definition at line 972 of file Point.cs.

973 {
974 if (useBounds)
975 {
976 if (x < map.bounds.x)
977 {
978 x = map.bounds.x;
979 }
980 else if (x >= map.bounds.maxX)
981 {
982 x = map.bounds.maxX;
983 }
984 if (z < map.bounds.z)
985 {
986 z = map.bounds.z;
987 }
988 else if (z >= map.bounds.maxZ)
989 {
990 z = map.bounds.maxZ;
991 }
992 }
993 else
994 {
995 if (x < 0)
996 {
997 x = 0;
998 }
999 else if (x >= map.Size)
1000 {
1001 x = map.Size - 1;
1002 }
1003 if (z < 0)
1004 {
1005 z = 0;
1006 }
1007 else if (z >= map.Size)
1008 {
1009 z = map.Size - 1;
1010 }
1011 }
1012 return this;
1013 }
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 467 of file Point.cs.

468 {
469 return new Point(x, z);
470 }
Point()
Definition: Point.cs:446

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.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 472 of file Point.cs.

472 : Point
473 {
474 T val = Activator.CreateInstance<T>();
475 val.Set(this);
476 return val;
477 }
Definition: Point.cs:9

References Set().

◆ Distance() [1/2]

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

Definition at line 958 of file Point.cs.

959 {
960 return Fov.Distance(tx, tz, x, z);
961 }
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]

◆ Equals() [2/2]

override bool Point.Equals ( object  obj)
inline

Definition at line 933 of file Point.cs.

934 {
935 Point point = obj as Point;
936 if (point == null)
937 {
938 Debug.Log(point?.ToString() + ":" + point.GetType()?.ToString() + "is not Point");
939 return false;
940 }
941 if (x == point.x)
942 {
943 return z == point.z;
944 }
945 return false;
946 }
override string ToString()
Definition: Point.cs:500

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

◆ FindAttackTarget()

Card Point.FindAttackTarget ( )
inline

Definition at line 1062 of file Point.cs.

1063 {
1064 foreach (Card item in ListCards())
1065 {
1066 if (item.isChara || item.trait.CanBeAttacked)
1067 {
1068 return item;
1069 }
1070 }
1071 return null;
1072 }
Definition: Card.cs:11
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1015

References item, and ListCards().

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

◆ FindChara()

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

Definition at line 1074 of file Point.cs.

1075 {
1076 if (detail != null)
1077 {
1078 foreach (Chara chara in detail.charas)
1079 {
1080 if (func(chara))
1081 {
1082 return chara;
1083 }
1084 }
1085 }
1086 return null;
1087 }
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 1104 of file Point.cs.

1105 {
1106 if (detail != null)
1107 {
1108 foreach (Thing thing in detail.things)
1109 {
1110 if (func(thing))
1111 {
1112 return thing;
1113 }
1114 }
1115 }
1116 return null;
1117 }
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(), AI_Idle.Run(), and ConSuspend.Tick().

◆ FindThing< T >()

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

Definition at line 1089 of file Point.cs.

1089 : Trait
1090 {
1091 if (IsValid && detail != null)
1092 {
1093 foreach (Thing thing in detail.things)
1094 {
1095 if (thing.trait is T)
1096 {
1097 return thing.trait as T;
1098 }
1099 }
1100 }
1101 return null;
1102 }
Trait trait
Definition: Card.cs:49
Definition: Trait.cs:7

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

◆ FirstVisibleChara()

Chara Point.FirstVisibleChara ( )
inline

Definition at line 382 of file Point.cs.

383 {
384 if (detail != null)
385 {
386 foreach (Chara chara in detail.charas)
387 {
388 if (EClass.pc.CanSee(chara))
389 {
390 return chara;
391 }
392 }
393 }
394 return null;
395 }
bool CanSee(Card c)
Definition: Chara.cs:1027
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 1349 of file Point.cs.

1350 {
1351 for (int i = 0; i < h; i++)
1352 {
1353 for (int j = 0; j < w; j++)
1354 {
1355 shared3.Set(x - j, z + i);
1356 action(shared3, j == 0 && i == 0);
1357 }
1358 }
1359 }
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 663 of file Point.cs.

664 {
665 Point p = new Point();
666 int num = 1;
667 int num2 = x;
668 int num3 = z;
669 if (IsValid(num2, num3) && endFunc(p))
670 {
671 return true;
672 }
673 if (IsValid(num2, num3 + 1) && endFunc(p))
674 {
675 return true;
676 }
677 for (int i = 0; i < maxRange; i++)
678 {
679 for (int j = 0; j < num; j++)
680 {
681 num2++;
682 if (IsValid(num2, num3) && endFunc(p))
683 {
684 return true;
685 }
686 }
687 for (int k = 0; k < num; k++)
688 {
689 num3++;
690 if (IsValid(num2, num3) && endFunc(p))
691 {
692 return true;
693 }
694 }
695 num++;
696 for (int l = 0; l < num; l++)
697 {
698 num2--;
699 if (IsValid(num2, num3) && endFunc(p))
700 {
701 return true;
702 }
703 }
704 for (int m = 0; m < num; m++)
705 {
706 num3--;
707 if (IsValid(num2, num3) && endFunc(p))
708 {
709 return true;
710 }
711 }
712 num++;
713 }
714 Debug.Log("ForeachNearestPoint Fail:" + this);
715 return false;
716 bool IsValid(int dx, int dz)
717 {
718 p.Set(dx, dz);
719 if (!p.IsInBounds || !map.Contains(dx, dz) || (ignoreCenter && dx == x && dz == z))
720 {
721 return false;
722 }
723 if ((!allowBlock && (p.cell.blocked || p.cell.hasDoor || (p.cell.growth != null && p.cell.growth.IsTree))) || (!allowChara && p.HasChara) || (!allowInstalled && p.Installed != null))
724 {
725 return false;
726 }
727 return true;
728 }
729 }
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:303
bool IsInBounds
Definition: Point.cs:104
bool HasChara
Definition: Point.cs:226

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 1361 of file Point.cs.

1362 {
1363 Point point = new Point();
1364 for (int i = x - 1; i <= x + 1; i++)
1365 {
1366 for (int j = z - 1; j <= z + 1; j++)
1367 {
1368 if (diagonal || i == x || j == z)
1369 {
1370 point.Set(i, j);
1371 if (point.IsValid)
1372 {
1373 action(point);
1374 }
1375 }
1376 }
1377 }
1378 }

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 583 of file Point.cs.

584 {
585 Vector3 vector = to.Position() - Position();
586 return Mathf.Atan2(vector.y, vector.x) * 57.29578f;
587 }
ref Vector3 Position(int height)
Definition: Point.cs:524
ref Vector3 Position()
Definition: Point.cs:536

References Position().

Referenced by GetRotation().

◆ GetAngle2()

float Point.GetAngle2 ( Point  to)
inline

Definition at line 589 of file Point.cs.

590 {
591 int num = to.x - x;
592 return Mathf.Atan2(to.z - z, num) * 57.29578f;
593 }

References x, and z.

Referenced by Map.ListPointsInArc().

◆ GetHashCode()

override int Point.GetHashCode ( )
inline

Definition at line 948 of file Point.cs.

949 {
950 return x + z * map.Size;
951 }

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

◆ GetInstalled< T >()

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

Definition at line 1197 of file Point.cs.

1197 : Trait
1198 {
1199 if (detail != null)
1200 {
1201 foreach (Thing thing in detail.things)
1202 {
1203 if (thing.IsInstalled && thing.trait is T)
1204 {
1205 return thing.trait as T;
1206 }
1207 }
1208 }
1209 return null;
1210 }
bool IsInstalled
Definition: Card.cs:2241

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

◆ GetNearestPoint()

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

Definition at line 595 of file Point.cs.

596 {
597 Point p = new Point();
598 int num = 1;
599 int num2 = x;
600 int num3 = z;
601 if (IsValid(num2, num3))
602 {
603 return p;
604 }
605 if (IsValid(num2, num3 + 1))
606 {
607 return p;
608 }
609 for (int i = 0; i < 30; i++)
610 {
611 for (int j = 0; j < num; j++)
612 {
613 num2++;
614 if (IsValid(num2, num3))
615 {
616 return p;
617 }
618 }
619 for (int k = 0; k < num; k++)
620 {
621 num3++;
622 if (IsValid(num2, num3))
623 {
624 return p;
625 }
626 }
627 num++;
628 for (int l = 0; l < num; l++)
629 {
630 num2--;
631 if (IsValid(num2, num3))
632 {
633 return p;
634 }
635 }
636 for (int m = 0; m < num; m++)
637 {
638 num3--;
639 if (IsValid(num2, num3))
640 {
641 return p;
642 }
643 }
644 num++;
645 }
646 p.Set(this);
647 return p;
648 bool IsValid(int dx, int dz)
649 {
650 p.Set(dx, dz);
651 if (!p.IsInBounds || !map.Contains(dx, dz) || (ignoreCenter && dx == x && dz == z))
652 {
653 return false;
654 }
655 if ((!allowBlock && (p.cell.blocked || p.cell.hasDoor || (p.cell.growth != null && p.cell.growth.IsTree))) || (!allowChara && p.HasChara) || (!allowInstalled && p.Installed != null))
656 {
657 return false;
658 }
659 return true;
660 }
661 }

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(), Zone.GetSpawnPos(), ActEffect.GetTeleportPos(), TraitFoodEggFertilized.Incubate(), Chara.Kick(), Chara.MoveHome(), FactionBranch.OnActivateZone(), FactionBranch.OnAfterSimulate(), QuestIntroInspector.OnComplete(), QuestVernis.OnComplete(), QuestDialog.OnDropReward(), GrowSystemTree.OnHitFail(), TraitDiary.OnRead(), QuestEscort.OnStart(), ZoneEventDefenseGame.OnVisit(), ActSummonGuard.Perform(), ActEffect.Proc(), ActEffect.ProcAt(), CoreDebug.QuickStart(), TraitBaseSpellbook.ReadFailEffect(), Chara.RequestProtection(), Zone.Revive(), Chara.Revive(), AI_Idle.Run(), ZoneEventQuest.Spawn(), ZoneEventQuest.SpawnBoss(), CoreDebug.SpawnBoss(), Card.SpawnLoot(), CoreDebug.TestSpawn(), Chara.TryDropBossLoot(), Religion.TryGetGift(), Zone.TrySpawnFollower(), and Card.TryUnrestrain().

◆ GetPointTowards()

Point Point.GetPointTowards ( Point  dest)
inline

Definition at line 773 of file Point.cs.

774 {
775 Point point = new Point(this);
776 int num = dest.x - point.x;
777 int num2 = dest.z - point.z;
778 if (Mathf.Abs(num) > 1 || Mathf.Abs(num2) > 1)
779 {
780 int num3 = Mathf.Max(Mathf.Abs(num), Mathf.Abs(num2));
781 point.x += num / num3;
782 point.z += num2 / num3;
783 }
784 return point;
785 }

References Point(), x, and z.

Referenced by Chara.TryMoveTowards().

◆ GetRandomNeighbor()

Point Point.GetRandomNeighbor ( )
inline

Definition at line 731 of file Point.cs.

732 {
733 int num = ((EClass.rnd(2) == 0) ? 1 : (-1));
734 if (EClass.rnd(2) == 0)
735 {
736 return new Point(Mathf.Clamp(x + num, 0, map.Size - 1), z);
737 }
738 return new Point(x, Mathf.Clamp(z + num, 0, map.Size - 1));
739 }
static int rnd(int a)
Definition: EClass.cs:50

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

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

◆ GetRandomPoint()

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

Definition at line 741 of file Point.cs.

742 {
743 Point point = new Point();
744 for (int i = 0; i < tries; i++)
745 {
746 point.Set(x - radius + EClass.rnd(radius * 2 + 1), z - radius + EClass.rnd(radius * 2 + 1));
747 if (point.IsValid && (allowBlocked || !point.IsBlocked) && (!requireLos || Los.IsVisible(this, point)) && (allowChara || !point.HasChara))
748 {
749 return point;
750 }
751 }
752 return null;
753 }
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:339

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(), 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 755 of file Point.cs.

756 {
757 Point point = new Point();
758 for (int i = 0; i < tries; i++)
759 {
760 point.Set(x - maxRadius + EClass.rnd(maxRadius * 2 + 1), z - maxRadius + EClass.rnd(maxRadius * 2 + 1));
761 if (point.IsValid && (allowBlocked || !point.IsBlocked) && (allowChara || !point.HasChara))
762 {
763 int num = point.Distance(this);
764 if (num >= minRadius && num <= maxRadius && (!requireLos || Los.IsVisible(this, point)))
765 {
766 return point;
767 }
768 }
769 }
770 return null;
771 }
int Distance(Point p)
Definition: Point.cs:953

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

Referenced by ZonePreEnterEncounter.Execute().

◆ GetRotation()

Quaternion Point.GetRotation ( Point  to)
inline

Definition at line 578 of file Point.cs.

579 {
580 return Quaternion.Euler(0f, 0f, GetAngle(to));
581 }
float GetAngle(Point to)
Definition: Point.cs:583

References GetAngle().

Referenced by Effect._Play().

◆ GetShared()

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

Definition at line 366 of file Point.cs.

367 {
368 shared.x = x;
369 shared.z = z;
370 return shared;
371 }
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 1250 of file Point.cs.

1251 {
1252 if (FirstThing == null)
1253 {
1254 return false;
1255 }
1256 foreach (Thing thing in detail.things)
1257 {
1258 if (thing != exclude && thing.isNPCProperty)
1259 {
1260 return true;
1261 }
1262 }
1263 return false;
1264 }
bool isNPCProperty
Definition: Card.cs:526
Thing FirstThing
Definition: Point.cs:277

References Card.isNPCProperty, and CellDetail.things.

◆ HasRoomOrArea()

bool Point.HasRoomOrArea ( BaseArea  a)
inline

Definition at line 397 of file Point.cs.

398 {
399 if (area != a)
400 {
401 return cell.room == a;
402 }
403 return true;
404 }
Area area
Definition: Point.cs:73

References area.

Referenced by Map.FindThing().

◆ IsBlockByHeight()

bool Point.IsBlockByHeight ( Point  p)
inline

Definition at line 963 of file Point.cs.

964 {
965 if (Mathf.Abs(p.cell.minHeight - cell.topHeight) > 8)
966 {
967 return Mathf.Abs(p.cell.topHeight - cell.minHeight) > 8;
968 }
969 return false;
970 }
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 406 of file Point.cs.

406 : Trait
407 {
408 foreach (Thing thing in EClass._map.things)
409 {
410 if (!(thing.trait is T) || thing.trait.radius == 0)
411 {
412 continue;
413 }
414 foreach (Point item in thing.trait.ListPoints())
415 {
416 if (Equals(item))
417 {
418 return true;
419 }
420 }
421 }
422 return false;
423 }
List< Thing > things
Definition: Map.cs:49
bool Equals(int _x, int _z)
Definition: Point.cs:924
virtual int radius
Definition: Trait.cs:88
virtual List< Point > ListPoints(Point center=null, bool onlyPassable=true)
Definition: Trait.cs:707

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

◆ IsPublicSpace()

bool Point.IsPublicSpace ( )
inline

Definition at line 425 of file Point.cs.

426 {
427 if (area != null)
428 {
430 {
431 return true;
432 }
433 return false;
434 }
435 if (cell.room != null)
436 {
438 {
439 return true;
440 }
441 return false;
442 }
443 return true;
444 }
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 1015 of file Point.cs.

1016 {
1017 listCard.Clear();
1018 bool flag = EClass.scene.actionMode != null && EClass.scene.actionMode.IsRoofEditMode();
1019 if (detail != null)
1020 {
1021 foreach (Thing thing in detail.things)
1022 {
1023 if (!thing.isHidden && (includeMasked || !thing.isMasked) && thing.isRoofItem == flag)
1024 {
1025 listCard.Add(thing);
1026 }
1027 }
1028 if (!flag)
1029 {
1030 foreach (Chara chara in detail.charas)
1031 {
1032 listCard.Add(chara);
1033 }
1034 }
1035 }
1036 return listCard;
1037 }
virtual bool IsRoofEditMode(Card c=null)
Definition: ActionMode.cs:311
bool isMasked
Definition: Card.cs:562
bool isRoofItem
Definition: Card.cs:550
bool isHidden
Definition: Card.cs:502
static Scene scene
Definition: EClass.cs:30
static List< Card > listCard
Definition: Point.cs:45
ActionMode actionMode
Definition: Scene.cs:77

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(), TraitWhipLove.TrySetHeldAct(), Map.TryShatter(), and CoreDebug.UpdateInput().

◆ ListCharas()

List< Chara > Point.ListCharas ( )
inline

Definition at line 1135 of file Point.cs.

1136 {
1137 listChara.Clear();
1138 if (detail != null)
1139 {
1140 foreach (Chara chara in detail.charas)
1141 {
1142 listChara.Add(chara);
1143 }
1144 }
1145 return listChara;
1146 }
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(), ActEffect.Proc(), and Chara.TryPush().

◆ ListCharasInNeighbor()

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

Definition at line 1164 of file Point.cs.

1165 {
1166 listChara.Clear();
1167 ForeachNeighbor(delegate(Point p)
1168 {
1169 if (p.detail == null)
1170 {
1171 return;
1172 }
1173 foreach (Chara chara in p.detail.charas)
1174 {
1175 if (func(chara))
1176 {
1177 listChara.Add(chara);
1178 }
1179 }
1180 });
1181 return listChara;
1182 }
void ForeachNeighbor(Action< Point > action, bool diagonal=true)
Definition: Point.cs:1361

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

Referenced by AI_Idle.DoSomethingToNearChara().

◆ ListCharasInRadius()

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

Definition at line 1184 of file Point.cs.

1185 {
1186 listChara.Clear();
1187 foreach (Chara chara in EClass._map.charas)
1188 {
1189 if (func(chara) && chara.Dist(cc) < dist && (!onlyVisible || Los.IsVisible(chara, cc)))
1190 {
1191 listChara.Add(chara);
1192 }
1193 }
1194 return listChara;
1195 }
int Dist(Card c)
Definition: Card.cs:6777

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

Referenced by AI_Idle.DoSomethingToCharaInRadius(), and AI_Idle.Run().

◆ ListInspectorTargets()

List< IInspect > Point.ListInspectorTargets ( )
inline

Definition at line 1316 of file Point.cs.

1317 {
1318 List<IInspect> list = new List<IInspect>();
1319 CellDetail cellDetail = detail;
1320 if (cellDetail != null)
1321 {
1322 foreach (Chara chara in cellDetail.charas)
1323 {
1324 if (chara.isSynced)
1325 {
1326 list.Add(chara);
1327 }
1328 }
1329 foreach (Thing thing in cellDetail.things)
1330 {
1331 list.Add(thing);
1332 }
1333 if (cellDetail.designation != null && !(cellDetail.designation is TaskCut) && !(cellDetail.designation is TaskMine))
1334 {
1335 list.Add(cellDetail.designation);
1336 }
1337 }
1338 if (ObjInfo._CanInspect(this))
1339 {
1340 list.Add(ObjInfo.GetTempList(this));
1341 }
1342 if (BlockInfo._CanInspect(this))
1343 {
1344 list.Add(BlockInfo.GetTempList(this));
1345 }
1346 return list;
1347 }
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:676
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 1119 of file Point.cs.

1119 : Trait
1120 {
1121 listCard.Clear();
1122 if (detail != null)
1123 {
1124 foreach (Thing thing in detail.things)
1125 {
1126 if (!thing.isHidden && !thing.isRoofItem && !thing.isMasked && (!onlyInstalled || thing.IsInstalled) && thing.trait is T)
1127 {
1128 listCard.Add(thing);
1129 }
1130 }
1131 }
1132 return listCard;
1133 }

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 1039 of file Point.cs.

1040 {
1041 listCard.Clear();
1042 if (detail != null)
1043 {
1044 foreach (Thing thing in detail.things)
1045 {
1046 if (!thing.isHidden && !thing.isMasked && !thing.isRoofItem)
1047 {
1048 listCard.Add(thing);
1049 }
1050 }
1051 foreach (Chara chara in detail.charas)
1052 {
1053 if (EClass.pc.CanSee(chara))
1054 {
1055 listCard.Add(chara);
1056 }
1057 }
1058 }
1059 return listCard;
1060 }

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 1148 of file Point.cs.

1149 {
1150 listChara.Clear();
1151 if (detail != null)
1152 {
1153 foreach (Chara chara in detail.charas)
1154 {
1155 if (EClass.pc.CanSee(chara))
1156 {
1157 listChara.Add(chara);
1158 }
1159 }
1160 }
1161 return listChara;
1162 }

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 802 of file Point.cs.

803 {
804 List<Chara> list = new List<Chara>();
805 foreach (Point item in map.ListPointsInCircle(this, radius, mustBeWalkable: false))
806 {
807 List<Chara> list2 = item.detail?.charas;
808 if (list2 == null || list2.Count == 0)
809 {
810 continue;
811 }
812 foreach (Chara item2 in list2)
813 {
814 if (item2 == criminal || item2.IsPC || (item2 != target && !item2.CanWitness) || (item2.HasCondition<ConDim>() && EClass.rnd(2) == 0) || item2.conSuspend != null || item2.isParalyzed || item2.IsDisabled)
815 {
816 continue;
817 }
818 switch (type)
819 {
820 case WitnessType.ally:
821 if (!criminal.IsPCFaction || item2.hostility <= Hostility.Neutral)
822 {
823 continue;
824 }
825 break;
826 case WitnessType.crime:
827 if (criminal == null || item2.isBlind || item2.isConfused || (criminal.IsPCParty && (item2.IsPCFaction || item2.IsPCFactionMinion)) || (target == null && item2.OriginalHostility < Hostility.Neutral))
828 {
829 continue;
830 }
831 break;
832 case WitnessType.music:
833 if (item2.hostility <= Hostility.Enemy)
834 {
835 continue;
836 }
837 break;
838 }
839 list.Add(item2);
840 }
841 }
842 return list;
843 }
Hostility
Definition: Hostility.cs:2
WitnessType
Definition: WitnessType.cs:2
Hostility OriginalHostility
Definition: Chara.cs:456
ConSuspend conSuspend
Definition: Chara.cs:101
override bool IsPC
Definition: Chara.cs:597
override bool IsPCParty
Definition: Chara.cs:600
bool isParalyzed
Definition: Chara.cs:127
bool HasCondition(string alias)
Definition: Chara.cs:8568
override bool IsDisabled
Definition: Chara.cs:570
override bool IsPCFaction
Definition: Chara.cs:656
override bool IsPCFactionMinion
Definition: Chara.cs:640
bool isBlind
Definition: Chara.cs:125
Hostility hostility
Definition: Chara.cs:276
bool CanWitness
Definition: Chara.cs:824
bool isConfused
Definition: Chara.cs:121
Definition: ConDim.cs:2
List< Point > ListPointsInCircle(Point center, float radius, bool mustBeWalkable=true, bool los=true)
Definition: Map.cs:2256

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 897 of file Point.cs.

898 {
899 if (extinguish && cell.HasFire)
900 {
901 PlaySound("extinguish");
902 PlayEffect("smoke");
903 PlayEffect("vanish");
904 }
905 map.ModFire(x, z, value);
906 }
bool HasFire
Definition: Cell.cs:676
void ModFire(int x, int z, int amount)
Definition: Map.cs:1166
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
Definition: Point.cs:1217
Effect PlayEffect(string id)
Definition: Point.cs:1212

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 1212 of file Point.cs.

1213 {
1214 return Effect.Get(id).Play(this);
1215 }
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 ActPlan._Update(), ActMelee.Attack(), Card.Die(), ModFire(), ActRush.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 1217 of file Point.cs.

1218 {
1219 Vector3 vector = default(Vector3);
1220 if (spatial)
1221 {
1222 if (!IsValid)
1223 {
1224 return null;
1225 }
1226 vector = (EClass._zone.IsRegion ? PositionTopdown() : Position());
1227 vector.z = 0f;
1228 if (Vector3.Distance(vector, EClass.scene.transAudio.position) > EClass.core.gameSetting.audio.maxRange)
1229 {
1230 return null;
1231 }
1232 if (!synced)
1233 {
1234 v -= 0.4f;
1235 }
1236 }
1237 return EClass.Sound.Play(id, vector, (!spatial) ? 1f : (v * ((EClass.screen.Zoom >= 1f) ? 1f : EClass.screen.Zoom)));
1238 }
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:545
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 ActPlan._Update(), Map.DestroyObj(), Card.Die(), Map.MineBlock(), Map.MineFloor(), Map.MineObjSound(), ModFire(), TaskHarvest.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskCut.OnProgress(), TaskMoveInstalled.OnProgressComplete(), Card.PlaySound(), ActEffect.ProcAt(), AI_Fish.ProgressFish.Ripple(), and AI_Craft_Snowman.Run().

◆ Plow()

void Point.Plow ( )
inline

Definition at line 908 of file Point.cs.

909 {
910 if (IsFarmField)
911 {
913 {
915 }
916 else if (cell.Front.HasWallOrFence)
917 {
919 }
920 }
921 SetFloor(4, 4);
922 }
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:887

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 536 of file Point.cs.

537 {
538 byte b = ((cell.bridgeHeight == 0) ? cell.height : cell.bridgeHeight);
539 vCache.x = (float)(x + z) * _screen.tileAlign.x;
540 vCache.y = (float)(z - x) * _screen.tileAlign.y + (float)(int)b * _screen.tileMap._heightMod.y;
541 vCache.z = 1000f + vCache.x * _screen.tileWeight.x + vCache.y * _screen.tileWeight.z + (float)(int)b * _screen.tileMap._heightMod.z;
542 return ref vCache;
543 }
BaseTileMap tileMap
Vector3 _heightMod
Definition: BaseTileMap.cs:329
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 515 of file Point.cs.

516 {
518 {
519 return ref PositionTopdown();
520 }
521 return ref Position();
522 }
static Zone _zone
Definition: EClass.cs:20
virtual bool IsRegion
Definition: Spatial.cs:501

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 563 of file Point.cs.

564 {
566 {
567 _ = ref PositionTopdown();
568 }
569 else
570 {
571 _ = ref Position();
572 }
573 vCache.x += EClass.screen.tileWorldSize.x * 0.5f;
574 vCache.y += EClass.screen.tileWorldSize.y * 0.75f;
575 return ref vCache;
576 }

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 545 of file Point.cs.

546 {
547 byte b = ((cell.bridgeHeight == 0) ? cell.height : cell.bridgeHeight);
548 vCache.x = (float)x * _screen.tileAlign.x;
549 vCache.y = (float)z * _screen.tileAlign.y + (float)(int)b * _screen.tileMap._heightMod.y;
550 vCache.z = 1000f + vCache.x * _screen.tileWeight.x + vCache.y * _screen.tileWeight.z + (float)(int)b * _screen.tileMap._heightMod.z;
551 return ref vCache;
552 }

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 554 of file Point.cs.

555 {
557 vCache.x = (float)(x - EClass.scene.elomap.minX) * screenElona.tileAlign.x;
558 vCache.y = (float)(z - EClass.scene.elomap.minY) * screenElona.tileAlign.y;
559 vCache.z = 1400f;
560 return ref vCache;
561 }
int minX
Definition: EloMap.cs:112
int minY
Definition: EloMap.cs:114
EloMap elomap
Definition: Scene.cs:143
GameScreenElona screenElona
Definition: Scene.cs:91

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

Referenced by LayerTreasureMap.SetMap().

◆ RefreshNeighborTiles()

◆ RefreshTile()

void Point.RefreshTile ( )
inline

Definition at line 1245 of file Point.cs.

1246 {
1248 }
void RefreshSingleTile(int x, int z)
Definition: Map.cs:2081

References Map.RefreshSingleTile().

Referenced by TaskBuild.OnProgressComplete().

◆ Set() [1/4]

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

Definition at line 479 of file Point.cs.

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

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(), 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(), 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 486 of file Point.cs.

487 {
488 x = index % map.Size;
489 z = index % map.SizeXZ / map.Size;
490 return this;
491 }
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 493 of file Point.cs.

494 {
495 x = point.x;
496 z = point.z;
497 return this;
498 }

References x, and z.

◆ Set() [4/4]

void Point.Set ( Vector3  v)
inline

Definition at line 505 of file Point.cs.

506 {
507 v.x -= 0.64f;
508 v.y -= 0.64f;
509 int num = Mathf.RoundToInt(v.x / _screen.tileAlign.x);
510 int num2 = Mathf.RoundToInt(v.y / _screen.tileAlign.y);
511 x = (num2 - num) / 2 * -1;
512 z = num - x;
513 }

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

◆ SetBlock()

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

Definition at line 882 of file Point.cs.

883 {
884 map.SetBlock(x, z, idMat, idBlock);
885 }
void SetBlock(int x, int z, int idMat=0, int idBlock=0)
Definition: Map.cs:990

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 887 of file Point.cs.

888 {
889 map.SetFloor(x, z, idMat, idFloor);
890 }
void SetFloor(int x, int z, int idMat=0, int idFloor=0)
Definition: Map.cs:951

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 1388 of file Point.cs.

1389 {
1390 cell.highlight = (byte)id;
1392 }
static Player player
Definition: EClass.cs:12
List< Cell > lastMarkedHighlights
Definition: Player.cs:946

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 892 of file Point.cs.

893 {
894 map.SetObj(x, z, id, value, dir);
895 }
void SetObj(int x, int z, int id=0, int value=1, int dir=0)
Definition: Map.cs:1522

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 787 of file Point.cs.

788 {
789 if (talkIf == null)
790 {
791 talkIf = (Chara c) => EClass.rnd(chance) == 0;
792 }
793 foreach (Chara item in ListWitnesses(criminal, radius, type))
794 {
795 if (talkIf(item) && !item.renderer.IsTalking())
796 {
797 item.Talk(idTalk);
798 }
799 }
800 }
List< Chara > ListWitnesses(Chara criminal, int radius=4, WitnessType type=WitnessType.crime, Chara target=null)
Definition: Point.cs:802

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 1380 of file Point.cs.

1381 {
1382 Point point = new Point(x, z);
1383 point.x += EClass.scene.elomap.minX;
1384 point.z += EClass.scene.elomap.minY;
1385 return point;
1386 }

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

Referenced by TraitDeedRelocate.OnRead().

◆ ToString()

override string Point.ToString ( )
inline

Definition at line 500 of file Point.cs.

501 {
502 return "(" + x + " / " + z + ")";
503 }

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 845 of file Point.cs.

846 {
847 List<Chara> list = ListWitnesses(criminal, radius, WitnessType.crime, target);
848 bool result = false;
849 if (funcWitness == null)
850 {
851 funcWitness = (Chara c) => EClass.rnd(10) == 0;
852 }
853 foreach (Chara item in list)
854 {
855 if (funcWitness(item))
856 {
857 CallGuard(criminal, item);
858 result = true;
859 target?.DoHostileAction(criminal);
860 if (item != target)
861 {
862 item.DoHostileAction(criminal);
863 }
864 break;
865 }
866 }
867 return result;
868 }
void CallGuard(Chara criminal, Chara caller)
Definition: Point.cs:870

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

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

◆ Within()

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

Definition at line 373 of file Point.cs.

374 {
375 if (x >= _x && z >= _z && x < _x + _w)
376 {
377 return z < _z + _h;
378 }
379 return false;
380 }

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_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(), ZoneEventSiege.OnFirstTick(), Act.OnMarkMapHighlights(), 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_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(), ZoneEventSiege.OnFirstTick(), Act.OnMarkMapHighlights(), 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(), 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(), 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(), DesignationList< T >.OnAdd(), FactionBranch.OnAfterSimulate(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), GrowSystem.OnExceedLastStage(), 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(), HotItemHeld.TrySetToolAct(), Map.TryShatter(), TraitSeed.TrySprout(), LogicalFire.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 276 of file Point.cs.

277 {
278 get
279 {
280 CellDetail cellDetail = detail;
281 if (cellDetail == null || cellDetail.things.Count <= 0)
282 {
283 return null;
284 }
285 return detail.things[0];
286 }
287 }

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 223 of file Point.cs.

Referenced by TileType._HitTest().

◆ HasBlock

◆ HasBlockRecipe

bool Point.HasBlockRecipe
get

Definition at line 205 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 207 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 251 of file Point.cs.

252 {
253 get
254 {
255 if (detail != null)
256 {
257 return detail.charas.Count > 1;
258 }
259 return false;
260 }
261 }

Referenced by GoalSleep.Run().

◆ HasNonWallBlock

bool Point.HasNonWallBlock
get

Definition at line 181 of file Point.cs.

182 {
183 get
184 {
185 if (HasBlock)
186 {
187 return !cell.sourceBlock.tileType.IsWallOrFence;
188 }
189 return false;
190 }
191 }
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 193 of file Point.cs.

194 {
195 get
196 {
197 if (cell.detail != null)
198 {
199 return cell.detail.designation is TaskBuild;
200 }
201 return false;
202 }
203 }
CellDetail detail
Definition: Cell.cs:92

◆ HasThing

bool Point.HasThing
get

Definition at line 238 of file Point.cs.

239 {
240 get
241 {
242 CellDetail cellDetail = detail;
243 if (cellDetail == null)
244 {
245 return false;
246 }
247 return cellDetail.things.Count > 0;
248 }
249 }

Referenced by Chara._Move(), ActPlan._Update(), Zone_Dungeon.PlaceRail(), Zone.SpawnLostItems(), Zone.TryGenerateShrine(), and TaskHarvest.TryGetAct().

◆ 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

◆ IsFarmField

◆ IsHidden

bool Point.IsHidden
get

Definition at line 322 of file Point.cs.

323 {
324 get
325 {
326 if (cell.isSeen)
327 {
328 if (cell.room != null && !EClass.screen.tileMap.hideRoomFog && !cell.hasDoor)
329 {
330 return cell.HasRoof;
331 }
332 return false;
333 }
334 return true;
335 }
336 }
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 350 of file Point.cs.

351 {
352 get
353 {
355 {
356 if (!EClass._zone.elements.Has(3701))
357 {
358 return IsInSpot<TraitGeyser>();
359 }
360 return true;
361 }
362 return false;
363 }
364 }
bool IsTopWaterAndNoSnow
Definition: Cell.cs:712
bool Has(int ele)
ElementContainerZone elements
Definition: Zone.cs:43

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 211 of file Point.cs.

212 {
213 get
214 {
215 if (sourceFloor.tileType == TileType.Sky)
216 {
217 return !HasBridge;
218 }
219 return false;
220 }
221 }
bool HasBridge
Definition: Point.cs:209
SourceFloor.Row sourceFloor
Definition: Point.cs:65
static TileTypeSky Sky
Definition: TileType.cs:67

Referenced by ActPlan._Update(), Map.MineFloor(), TaskDig.OnProgressComplete(), and GameUpdater.Update100ms().

◆ 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(), 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(), 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 289 of file Point.cs.

290 {
291 get
292 {
293 CellDetail cellDetail = detail;
294 if (cellDetail == null || cellDetail.things.Count <= 0)
295 {
296 return null;
297 }
298 return detail.things.LastItem();
299 }
300 }

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: