沙盘引擎 (SEngine)

创意诞生沙盘世界,不止如此想象!

用户工具

站点工具


scripting:world:radarmarker

📚 World/RadarMarker

📒 Event

📘 OnRadarMarkerFocusActive( radarMarker, active )

地图标记点焦点Focus开启或结束时触发。

📒 Property

📘 radarMarker.UUID

获取地图标记点UUID,这是由一串较长的字符串组成的全局唯一文本ID(实例化时自动赋值,非持久化数据)。

radarMarker.UUID: string

📘 radarMarker.Pos

获取地图标记点实时坐标(只读)。

radarMarker.Pos: Vector

📘 radarMarker.World

设置地图标记点实例世界ID(不同世界将不可视)。

radarMarker.World = 0; //int

📘 radarMarker.Type

获取地图标记点实例类型,不同类型有不同的作用。

radarMarker.Type: int
Type 说明
0(图标|Icon) 标记点图标radarMarker.Icon
1(文本|Text) 标记点文本radarMarker.Text

📘 radarMarker.Color

设置地图标记点覆盖颜色。

radarMarker.Color = Color(255, 255, 255); //Color

📘 radarMarker.Important

设置地图标记点实例是否为关键点,关键标记点即使在小地图范围外也会被显示

注意:此属性仅限Type==Icon类型修改。

radarMarker.Important = false; //bool

📘 radarMarker.Compass

设置地图标记点实例是否显示在标尺(屏幕顶部的方向标尺)。

注意:此属性仅限Type==Icon类型修改。

radarMarker.Compass = false; //bool

📘 radarMarker.Icon

设置地图标记点图标(图片)。

注意:此属性仅限Type==Icon类型修改。

radarMarker.Icon = true; //bool

📘 radarMarker.Text

设置地图标记点文本(字符串)。

注意:此属性仅限Type==Text类型修改。

radarMarker.Text = ""; //string

📘 radarMarker.Title

设置地图标记点标题\标签。

标签文本将在大地图界面以【图标|标题】样式展示。

如果希望以不同玩家语言翻译,可以使用$LanguageTag格式进行赋值(例如:$Native.MyRadarMarker.PointA将在不同玩家的翻译文件寻找此路径翻译后文本)。

注意:此属性仅限Type==Icon类型修改。

radarMarker.Title = ""; //string

📘 radarMarker.Scale

设置地图标记点尺寸缩放,默认1.0

radarMarker.Scale = 1.0; //float

📘 radarMarker.Target

设置地图标记点跟随坐标或对象(Entity)。

如果设置为Vector将会固定坐标,如果设置为Entity将始终跟随其最新位置,直到对象被销毁。

注意:在读取此属性时,应该提前自行确定属性类型(Vector ? Entity),避免出现异常。

radarMarker.Target = object; //Vector || Entity
radarMarker.Target = Vector(0, 0, 0);
radarMarker.Target = Character.Find(0); //Always follow until 'null'

📘 radarMarker.Match

设置地图标记点白名单匹配表达式。

如果表达式字符串不为null,则只有表达式内包含的PlayerID可见,反之则不可见。这可能用于对玩家自身不可见等情况。

radarMarker.Match = ""; //string
radarMarker.Match = ""; //All visable
radarMarker.Match = "2"; //Only visable: player id == 2
radarMarker.Match = "2|3|5|7|8"; //Visable: player id == 2\3\5\7\8

📒 Static Function

📘 RadarMarker.Create()

生成一个新的地图标记点实例。

function RadarMarker.Create( icon: int, target: Vector || Entity, important: bool = false, compass: bool = false ): RadarMarker
let newRM = RadarMarker.Create(10, Vector(0, 0, 0)); //Create Point 'A', to Vector(0, 0, 0)
let newRM2 = RadarMarker.Create(10, Character.Find(0)); //Create Point 'A', always follow Character 0(ID)
  • icon标记点图标
  • target跟随坐标或对象(Entity
  • important是否为关键点
  • compass是否显示在标尺

📘 RadarMarker.CreateText()

生成一个新的地图文本标记点实例,类似地区名称效果。

function RadarMarker.CreateText( text: string, target: Vector || Entity ): RadarMarker
let newRMText = RadarMarker.CreateText("Test Text", Vector(0, 0, 0));
  • text文本内容
  • target跟随坐标或对象(Entity

📘 RadarMarker.Find()

寻找一个地图标记点实例(通过UUID),不存在则返回null

function RadarMarker.Find( uuid: string ): RadarMarker

📘 RadarMarker.GetCount()

获取当前所有存在地图标记点数量。

function RadarMarker.GetCount(): int

📘 RadarMarker.Get()

获取当前存在的指定索引地图标记点实例,通常搭配GetCount()遍历使用。

function RadarMarker.Get( index: int ): RadarMarker

📒 Function

📘 radarMarker.Remove()

销毁当前地图标记点实例。

function radarMarker.Remove()

📘 radarMarker.Focus()

触发一次当前地图标记点实例焦点(地图高亮)。

function radarMarker.Focus( time: float = 1.0, color: Color = Color(255, 255, 255), size: float = 1.0 )
  • time焦点保持时间(秒),如果<=0则会一直存在
  • color焦点高亮颜色(默认值Color(255, 255, 255)
  • size焦点高亮尺寸缩放(默认值1.0

scripting/world/radarmarker.txt · 最后更改: 2024/08/10 22:05 由 bibiboxs