Class ScriptField
서버에서 맵을 관리하는 객체 입니다. 하나의 맵에 대응됩니다.
네임스페이스: Commons.Server.Scripts
어셈블리: Creator.dll
Syntax
[MoonSharpUserData]
public class ScriptField : ScriptObject
생성자
ScriptField(ScriptServer, Field)
서버에서 맵을 관리하는 객체 입니다. 하나의 맵에 대응됩니다.
선언
public ScriptField(ScriptServer parent, Field field)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
ScriptServer | parent | |
Commons.Server.Field | field |
프로퍼티
channelID
이 맵의 채널 ID
선언
public int channelID { get; }
프로퍼티 값
타입 | 설명 |
---|---|
int |
dataID
이 맵의 데이터 ID
선언
public int dataID { get; }
프로퍼티 값
타입 | 설명 |
---|---|
int |
dropItems
해당 필드에 있는 모든 드랍 아이템을 배열 형식으로 가져옵니다.
선언
public ScriptDropItem[] dropItems { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptDropItem[] |
enemyUnits
해당 필드에 있는 모든 몬스터 유닛을 배열 형식으로 가져옵니다.
선언
public ScriptUnit[] enemyUnits { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptUnit[] |
height
이 맵의 세로 크기
선언
public int height { get; }
프로퍼티 값
타입 | 설명 |
---|---|
int |
maxPlayers
필드의 최대 플레이어 수
선언
public uint maxPlayers { get; set; }
프로퍼티 값
타입 | 설명 |
---|---|
uint |
name
이 맵의 이름
선언
public string name { get; }
프로퍼티 값
타입 | 설명 |
---|---|
string |
onJoinDropItem
해당 필드에 드랍 아이템이 들어왔을 때 호출되는 이벤트입니다.
호출될 함수의 인자 형식: function(ScriptField field, ScriptDropItem dropItem)[1] field: 해당 필드
[2] dropItem: 드랍된 아이템
선언
public ScriptEventPublisher onJoinDropItem { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptEventPublisher |
onJoinField
해당 필드에 유닛이 들어왔을 때 호출되는 이벤트입니다.
호출될 함수의 인자 형식: function(ScriptField field, ScriptUnit unit)[1] field: 해당 필드
[2] unit: 필드에 들어온 유닛
선언
public ScriptEventPublisher onJoinField { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptEventPublisher |
onLeaveDropItem
해당 필드에 드랍 아이템이 나갔을 때 호출되는 이벤트입니다.
호출될 함수의 인자 형식: function(ScriptField field, ScriptDropItem dropItem)[1] field: 해당 필드
[2] dropItem: 드랍된 아이템
선언
public ScriptEventPublisher onLeaveDropItem { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptEventPublisher |
onLeaveField
해당 필드에서 유닛이 나갔을 때 호출되는 이벤트입니다.
호출될 함수의 인자 형식: function(ScriptField field, ScriptUnit unit)[1] field: 해당 필드
[2] unit: 필드를 나간 유닛
선언
public ScriptEventPublisher onLeaveField { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptEventPublisher |
playerCount
이 맵의 플레이어 유닛 개수
선언
public int playerCount { get; }
프로퍼티 값
타입 | 설명 |
---|---|
int |
playerUnits
해당 필드에 있는 모든 플레이어 유닛을 배열 형식으로 가져옵니다.
선언
public ScriptUnit[] playerUnits { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptUnit[] |
units
해당 필드에 있는 모든 유닛을 배열 형식으로 가져옵니다.
선언
public ScriptUnit[] units { get; }
프로퍼티 값
타입 | 설명 |
---|---|
ScriptUnit[] |
width
이 맵의 가로 크기
선언
public int width { get; }
프로퍼티 값
타입 | 설명 |
---|---|
int |
함수
FindMaximumUnit(float, float, float, Closure, int, ScriptUnit)
현재 필드에서 가장 큰 조건에 맞는 유닛을 가져옵니다.
선언
public ScriptUnit FindMaximumUnit(float x, float y, float dist, Closure func, int findType = -1, ScriptUnit without = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | x | 거리를 찾는 기준이 될 유닛의 위치 X |
float | y | 거리를 찾는 기준이 될 유닛의 위치 Y |
float | dist | 찾는 거리 범위 |
MoonSharp.Interpreter.Closure | func | 실행할 스크립트 함수 |
int | findType | 탐색할 유닛 타입 0 : 플레이어, 1 : 이벤트 유닛 , 2 : 적 |
ScriptUnit | without | 제외할 유닛 |
반환
타입 | 설명 |
---|---|
ScriptUnit | 유닛 |
FindMinimumUnit(float, float, float, Closure, int, ScriptUnit)
현재 필드에서 가장 작은 조건에 맞는 유닛을 가져옵니다.
선언
public ScriptUnit FindMinimumUnit(float x, float y, float dist, Closure func, int findType = -1, ScriptUnit without = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | x | 거리를 찾는 기준이 될 유닛의 위치 X |
float | y | 거리를 찾는 기준이 될 유닛의 위치 Y |
float | dist | 찾는 거리 범위 |
MoonSharp.Interpreter.Closure | func | 실행할 스크립트 함수 |
int | findType | 탐색할 유닛 타입 0 : 플레이어, 1 : 이벤트 유닛 , 2 : 적 |
ScriptUnit | without | 제외할 유닛 |
반환
타입 | 설명 |
---|---|
ScriptUnit | 유닛 |
FindNearDropItem(float, float, float)
현재 필드에서 지정된 위치와 가장 가까운 드롭 아이템을 가져옵니다.
선언
public ScriptDropItem FindNearDropItem(float x, float y, float dist)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | x | 거리를 찾는 기준이 될 유닛의 위치 X |
float | y | 거리를 찾는 기준이 될 유닛의 위치 Y |
float | dist | 찾을 거리 범위 |
반환
타입 | 설명 |
---|---|
ScriptDropItem | 드롭된 아이템 |
FindNearUnit(float, float, float, Closure, int, ScriptUnit)
현재 필드에서 해당 조건에 맞는 유닛들 중 가장 가까운 유닛을 찾아서 가져옵니다.
선언
public ScriptUnit FindNearUnit(float x, float y, float dist, Closure func, int findType = -1, ScriptUnit without = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | x | 거리를 찾는 기준이 될 위치 X |
float | y | 거리를 찾는 기준이 될 위치 Y |
float | dist | 찾는 거리 범위 |
MoonSharp.Interpreter.Closure | func | 실행할 스크립트 함수 |
int | findType | 탐색할 유닛 타입 0 : 플레이어, 1 : 이벤트 유닛 , 2 : 적 |
ScriptUnit | without | 제외할 유닛 |
반환
타입 | 설명 |
---|---|
ScriptUnit | 유닛 |
FindNearUnit(float, float, float, int, ScriptUnit)
현재 필드에서 지정된 위치와 가장 가까운 유닛을 가져옵니다.
선언
public ScriptUnit FindNearUnit(float x, float y, float dist, int findType = -1, ScriptUnit without = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | x | 거리를 찾는 기준이 될 유닛의 위치 X |
float | y | 거리를 찾는 기준이 될 유닛의 위치 Y |
float | dist | 찾는 거리 범위 |
int | findType | 탐색할 유닛 타입 0 : 플레이어, 1 : 이벤트 유닛 , 2 : 적 |
ScriptUnit | without | 제외할 유닛 |
반환
타입 | 설명 |
---|---|
ScriptUnit | 유닛 |
FindUnit(float, float, float, Closure, int, ScriptUnit)
현재 필드에서 해당 조건에 맞는 유닛을 찾아서 가져옵니다.
선언
public ScriptUnit FindUnit(float x, float y, float dist, Closure func, int findType = -1, ScriptUnit without = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | x | 거리를 찾는 기준이 될 위치 X |
float | y | 거리를 찾는 기준이 될 위치 Y |
float | dist | 찾는 거리 범위 |
MoonSharp.Interpreter.Closure | func | 실행할 스크립트 함수 |
int | findType | 탐색할 유닛 타입 0 : 플레이어, 1 : 이벤트 유닛 , 2 : 적 |
ScriptUnit | without | 제외할 유닛 |
반환
타입 | 설명 |
---|---|
ScriptUnit | 유닛 |
GetEventUnitByName(string)
해당 필드에 있는 이벤트 유닛을 가져옵니다.
선언
public ScriptUnit GetEventUnitByName(string name)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
string | name | 이벤트 유닛의 이름 |
반환
타입 | 설명 |
---|---|
ScriptUnit | 유닛 |
GetFieldVar(int)
필드 변수의 값을 가져옵니다.
선언
public long GetFieldVar(int id)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | id | 변수 ID |
반환
타입 | 설명 |
---|---|
long | 값 |
GetTerrainTag(float, float)
필드 Tag의 값을 가져옵니다.
선언
public int GetTerrainTag(float posX, float posY)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | posX | |
float | posY |
반환
타입 | 설명 |
---|---|
int | 값 |
GetUnit(long)
해당 필드에 있는 유닛을 유닛 ID를 통해 가져옵니다.
선언
public ScriptUnit GetUnit(long id)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
long | id | 유닛의 ID |
반환
타입 | 설명 |
---|---|
ScriptUnit | 유닛 |
HandleEvent(NekoEvent)
서버에서 맵을 관리하는 객체 입니다. 하나의 맵에 대응됩니다.
선언
public void HandleEvent(NekoEvent e)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
Commons.NekoEvent | e |
IsValid()
이 필드의 유효성 여부를 가져옵니다.
선언
public bool IsValid()
반환
타입 | 설명 |
---|---|
bool |
JoinDropItem(ScriptDropItem, Point)
특정 드랍 아이템을 이 필드에 추가시킵니다.
선언
public bool JoinDropItem(ScriptDropItem dropItem, Point position = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
ScriptDropItem | dropItem | 해당 ScriptDropItem 객체 |
Point | position | 접속 시의 아이템 좌표 |
반환
타입 | 설명 |
---|---|
bool | 필드에 드랍 아이템 추가 성공여부 |
JoinUnit(ScriptUnit, Point)
특정 유닛을 이 필드에 접속시킵니다.
선언
public void JoinUnit(ScriptUnit unit, Point position = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
ScriptUnit | unit | 해당 유닛의 ScriptUnit 객체 |
Point | position | 접속 시의 유닛 좌표 |
JoinUnitByGridPos(ScriptUnit, Point)
서버에서 맵을 관리하는 객체 입니다. 하나의 맵에 대응됩니다.
선언
public void JoinUnitByGridPos(ScriptUnit unit, Point gridPos = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
ScriptUnit | unit | |
Point | gridPos |
SendCenterLabel(string)
CenterLabel을 표시합니다.
선언
public void SendCenterLabel(string text)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
string | text | 라벨에 표시할 텍스트 |
SetFieldVar(int, long)
필드 변수의 값을 설정합니다.
선언
public void SetFieldVar(int id, long value)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | id | 변수 ID |
long | value | 값 |
SpawnEnemy(int, float, float)
몬스터를 소환합니다.
선언
public bool SpawnEnemy(int dataID, float x, float y)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | dataID | 몬스터의 ID |
float | x | 소환할 위치 X |
float | y | 소환할 위치 Y |
반환
타입 | 설명 |
---|---|
bool | 성공 여부 (True / False) |