Game
Game ์ ์ญ ์ค๋ธ์ ํธ์์.
์ด๋ฒคํธ
๋งค ํ๋ ์๋ง๋ค ํธ์ถ๋๋ ์ด๋ฒคํธ์์.
์ฐ๊ฒฐํจ์ ํ์์ function(updateTime), updateTime ์ number ์
๋๋ค.
-- ์ํ --
local cube = Workspace.Cube
local playTime = 0
local function UpdateEvent(updateTime) --OnUpdateEvent๋ก ์ฐ๊ฒฐ๋ ํจ์๋ updateTime ์ธ์๊ฐ ๊ณ ์ ์ ์ผ๋ก ๋ค์ด๊ฐ์.
playTime = playTime + updateTime --์๊ฐ์ ๊ธฐ๋กํด์.
end
cube.OnUpdateEvent:Connect(UpdateEvent) --Game์ด๋ ์ค๋ธ์ ํธ์ ๋งคํ๋ ์๋ง๋ค ํธ์ถ๋๋ ํจ์๋ฅผ ์ฐ๊ฒฐํด์.
ํ๋ ์ด์ด๊ฐ ๊ฒ์์ ์
์ฅ ์ ํธ์ถ๋๋ ์ด๋ฒคํธ์์.
์ฐ๊ฒฐํจ์ ํ์์ function(enterPlayer), enterPlayer ์ Player ๊ฐ์ฒด ์
๋๋ค.
-- ์ํ --
local function EnterPlayer(player) --OnEnterPlayer๋ก ์ฐ๊ฒฐ๋ ํจ์๋ player ์ธ์๊ฐ ๊ณ ์ ์ ์ผ๋ก ๋ค์ด๊ฐ์.
print("Enter " .. player.Name)
end
Game.OnEnterPlayer:Connect(EnterPlayer) --Game์ ํ๋ ์ด์ด๊ฐ ๊ฒ์์ ์
์ฅํ๋ฉด ํธ์ถ๋๋ ํจ์๋ฅผ ์ฐ๊ฒฐํด์.
ํ๋ ์ด์ด๊ฐ ๊ฒ์์์ ๋๊ฐ ๋ ํธ์ถ๋๋ ์ด๋ฒคํธ์์.
์ฐ๊ฒฐํจ์ ํ์์ function(leavePlayer), leavePlayer ์ Player ๊ฐ์ฒด ์
๋๋ค.
-- ์ํ --
local function LeavePlayer(player) --OnLeavePlayer๋ก ์ฐ๊ฒฐ๋ ํจ์๋ player ์ธ์๊ฐ ๊ณ ์ ์ ์ผ๋ก ๋ค์ด๊ฐ์.
print("Leave " .. player.Name)
end
Game.OnLeavePlayer:Connect(LeavePlayer) --Game์ ํ๋ ์ด์ด๊ฐ ๊ฒ์์ ์ข
๋ฃํ๋ฉด ํธ์ถ๋๋ ํจ์๋ฅผ ์ฐ๊ฒฐํด์.
์บ๋ฆญํฐ๊ฐ ์ฃฝ์ ๋ ํธ์ถ๋๋ ์ด๋ฒคํธ์์.
์ฐ๊ฒฐํจ์ ํ์์ function(deathCharacter), deathCharacter ๋ Character ๊ฐ์ฒด ์
๋๋ค.
-- ์ํ --
local function DeathCharacter(character) --OnDeathCharacter๋ก ์ฐ๊ฒฐ๋ ํจ์๋ character ์ธ์๊ฐ ๊ณ ์ ์ ์ผ๋ก ๋ค์ด๊ฐ์.
print("Death " .. character.Name)
end
Game.OnDeathCharacter:Connect(DeathCharacter) --Game์ ์บ๋ฆญํฐ๊ฐ ์ฃฝ์ผ๋ฉด ํธ์ถ๋๋ ํจ์๋ฅผ ์ฐ๊ฒฐํด์.
์บ๋ฆญํฐ๊ฐ ์คํฐ ๋ ๋ ํธ์ถ๋๋ ์ด๋ฒคํธ์์.
์ฐ๊ฒฐํจ์ ํ์์ function(spawnCharacter), spawnCharacter ๋ Character ๊ฐ์ฒด ์
๋๋ค.
-- ์ํ --
local function SpawnCharacter(character) --OnSpawnCharacter๋ก ์ฐ๊ฒฐ๋ ํจ์๋ character ์ธ์๊ฐ ๊ณ ์ ์ ์ผ๋ก ๋ค์ด๊ฐ์.
print("Spawn " .. character.Name)
end
Game.OnSpawnCharacter:Connect(SpawnCharacter) --Game์ ์บ๋ฆญํฐ๊ฐ ์์ฑ๋๋ฉด ํธ์ถ๋๋ ํจ์๋ฅผ ์ฐ๊ฒฐํด์.
ํจ์
Phase AddPhase(string phasename)
๊ฒ์์ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ ์ ์์ด์. (์ถ๊ฐํ ๋จ๊ณ ์ด๋ฆ)
-- ์ํ --
--์๋ฒ ์คํฌ๋ฆฝํธ์์-------------
local LobbyState = Game:AddPhase("Lobby") --์ฌ์ฉํ Phase๋ฅผ ๋ฑ๋กํด์.
local PlayState = Game:AddPhase("Play") --Phase๋ ์ฌ๋ฌ๊ฐ๋ ๋ฑ๋กํ ์ ์์ด์.
local ResultState = Game:AddPhase("Result")
Game:AddReplicateValue("GameState", "Lobby", Enum.ReplicateType.Changed, 0) --์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ๋๊ธฐํ๋๋ ๊ฐ์ ๋ฑ๋กํ๊ณ ์ด๊ธฐ๊ฐ์ ์ค์ ํ๋ค, ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํธ์ถ๋๊ฒ ํด์.
--๊ฐ Phase๋ก ์ ํ๋์์๋ ์ฒ๋ฆฌํ ์ด๋ฒคํธ ํจ์๋ฅผ ์ถ๊ฐํด์.
local function EnterLobbyState()
Game.GameState = "Lobby"
print("Enter Lobby State")
end
LobbyState.EnterEvent:Connect(EnterLobbyState) --ํด๋น Phase๋ก ๋ณ๊ฒฝ๋์๋ ํธ์ถ๋๋ ์ด๋ฒคํธ๋ฅผ ์ฐ๊ฒฐํด์.
local function UpdateLobbyState(UpdateTime)
print("Update Lobby State")
end
LobbyState.UpdateEvent:Connect(UpdateLobbyState) --ํด๋น Phase์ผ๋ ๋งคํ๋ ์๋ง๋ค ํธ์ถ๋๋ ์ด๋ฒคํธ๋ฅผ ์ฐ๊ฒฐํด์.
local function ExitLobbyState()
print("End Lobby State")
end
LobbyState.ExitEvent:Connect(ExitLobbyState) --ํด๋น Phase๊ฐ ๋๋ ๋ ํธ์ถ๋๋ ์ด๋ฒคํธ๋ฅผ ์ฐ๊ฒฐํด์.
local function EnterPlayState()
Game.GameState = "Play"
print("Enter Play State")
end
PlayState.EnterEvent:Connect(EnterPlayState)
local function EnterResultState()
Game.GameState = "Result"
print("Enter Result State")
end
ResultState.EnterEvent:Connect(EnterResultState)
wait(1)
Game:ChangePhaseByName("Game") --์ด๋ฆ์ผ๋ก Phase๋ฅผ ์ ํํด์.
wait(1)
Game:ChangeToNextPhase() --๋ค์ Phase๋ก ์ ํํด์. (๋ง์ฝ ๋ง์ง๋ง Phase๋ฉด ์ฒ๋ฆฌ๋์ง ์์์.)
--ํด๋ผ ์คํฌ๋ฆฝํธ์์-------------
local LobbyState = Game:AddPhase("Lobby") --์๋ฒ ์คํฌ๋ฆฝํธ์์ ์ถ๊ฐํ Phase๋ฅผ ๋๊ฐ์ด ๋ฑ๋กํด์.
local PlayState = Game:AddPhase("Play")
local ResultState = Game:AddPhase("Result")
--๊ฐ Phase๋ก ์ ํ๋์์๋ ์ฒ๋ฆฌํ ์ด๋ฒคํธ ํจ์๋ฅผ ์ถ๊ฐํด์.
--์๋ฒ ์คํฌ๋ฆฝํธ์ ๋์ผํ๊ฒ ์์ฑํ๋, Game.GameState = "Lobby" ๊ฐ์ Phase ๋ณ๊ฒฝ์ ์ ์ธํด์. (์๋ฒ์์๋ง ์ฒ๋ฆฌํด์ผ ํด์.)
local function EnterLobbyState()
print("Enter Lobby State")
end
LobbyState.EnterEvent:Connect(EnterLobbyState)
local function EnterPlayState()
print("Enter Play State")
end
PlayState.EnterEvent:Connect(EnterPlayState)
local function EnterResultState()
print("Enter Result State")
end
ResultState.EnterEvent:Connect(EnterResultState)
--์คํฌ๋ฆฝํธ ์ ์ผ ์๋์ ์ํ๊ฐ ๋ฐ๋๋๋ง๋ค ๊ด๋ จ๋ Phase ํจ์๊ฐ ํธ์ถ๋ ์ ์๋๋ก ์ฐ๊ฒฐํด์.
Game:ConnectChangeEventFunction("GameState", function(self, value)
Game:ChangePhaseByName(Game.GameState)
end)
Phase GetPhase(string phasename)
๋จ๊ณ ์ด๋ฆ์ผ๋ก ๋จ๊ณ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ด์. (๋ถ๋ฌ์ฌ ๋จ๊ณ ์ด๋ฆ)
-- ์ํ --
local phase = Game:GetPhase("Play") -- "Play" ๋จ๊ณ๋ฅผ ๋ถ๋ฌ์์.
ํ์ฌ ๋จ๊ณ๋ฅผ ์ป์ ์ ์์ด์.
-- ์ํ --
local phase = Game:GetCurPhase()
Phase ChangePhaseByName(string changephasename)
๋จ๊ณ ์ด๋ฆ์ ํตํด ํด๋น ๋จ๊ณ๋ก ๋ณ๊ฒฝํ ์ ์์ด์. (๋ณ๊ฒฝํ ๋จ๊ณ ์ด๋ฆ)
-- ์ํ --
local phase = Game:ChangePhaseByName("Play") -- ๋จ๊ณ๋ฅผ "Play" ๋จ๊ณ๋ก ๋ณ๊ฒฝํด์.
Phase ChangeToNextPhase()
๋ค์ ๋จ๊ณ๋ก ๋ณ๊ฒฝํ ์ ์์ด์.
-- ์ํ --
local phase = Game:ChangeToNextPhase()
void ConnectEventFunction(string customevent, function TargetFunction)
์ ์ ๊ฐ ์ถ๊ฐํ ์ด๋ฒคํธ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์์ด์. (์ด๋ฒคํธ ์ด๋ฆ, ์ฐ๊ฒฐ ํจ์)
-- ์ํ --
--์๋ฒ ์คํฌ๋ฆฝํธ์์
local cube = Workspace.cube
--์๋ฒ์์ ์ด๋ฒคํธ ์์ฑ์ ์ฒซ ์ธ์๋ก player๊ฐ ๋ค์ด๊ฐ์.
local function ServerSomeFunc(player)
print(player .. " - Call ServerSomeFunc")
end
Game:ConnectEventFunction("ServerSomeFunc", ServerSomeFunc) --Game์ "ServerSomeFunc"๋ผ๋ ์ด๋ฒคํธ ์ด๋ฆ์ผ๋ก ServerSomeFunc ํจ์๋ฅผ ์ฐ๊ฒฐํด์.
--Game์ด ์๋ ์ค๋ธ์ ํธ์๋ ์ฐ๊ฒฐํ ์ ์์ด์.
--๊ฐ์ ๋์์ ๋ฑ๋ก๋ ์ด๋ฒคํธ๋ง ํธ์ถํ ์ ์์ด์.
--๊ฐ์ ์ด๋ฆ์ผ๋ก ์ฌ๋ฌ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์์ง๋ง ์ด ๊ฒฝ์ฐ ํธ์ถํ ๋ ์ฐ๊ฒฐ๋ ํจ์๊ฐ ๋ชจ๋ ํธ์ถ๋ผ์.
-----------------------------------
--ํด๋ผ ์คํฌ๋ฆฝํธ์์
local cube = Workspace.cube
--ํด๋ผ์์ ์ด๋ฒคํธ ์์ฑ์ player ์ธ์๋ฅผ ์ฐ์ง ์์๋ ๋ผ์.
local function ClientSomeFunc()
print("Call ClientSomeFunc")
end
Game:ConnectEventFunction("ClientSomeFunc", ClientSomeFunc)
void DeleteObject(Object TargetObject)
์ค๋ธ์ ํธ๋ฅผ ์ญ์ ํ ์ ์์ด์. (์ญ์ ํ ์ค๋ธ์ ํธ)
์๋ฒ์์ ์ฌ์ฉํ๋ฉด ์๋ฒ์ ํด๋ผ ์ค๋ธ์ ํธ ๋ชจ๋ ์ญ์ ๋๊ณ ํด๋ผ์์ ์ฌ์ฉํ๋ฉด ํด๋ผ ์ค๋ธ์ ํธ๋ง ์ญ์ ํด์
-- ์ํ --
local cube = Workspace.Cube
Game:DeleteObject(cube) --์ค๋ธ์ ํธ๋ฅผ ํ๊ดดํด์.
HitResultList LineTraceList(Vector Start, Vector Dir, number Distance)
์ค์ ๋ ์์ ์ง์ ์์ ์ํ๋ ๋ฐฉํฅ์ผ๋ก ์ง์ ๋ ๊ฑฐ๋ฆฌ ๋งํผ์ ์ถฉ๋ ๋ฆฌ์คํธ๋ค์ ๊ฐ์ ธ์ฌ ์ ์์ด์. (์์ ์ง์ Vector, ๋ฐฉํฅ Vector, ๊ฑฐ๋ฆฌ ๊ฐ)
-- ์ํ --
local startPos = Workspace.Cube.Transform.Location
local dir = Vector.new(1, 0, 0)
local distance = 1000
local targetList = Game:LineTraceList(startPos, dir, distance) --์์ ์์น์์ ์ง์ ๋ฐฉํฅ์ ๊ฑฐ๋ฆฌ์ ์ถฉ๋์ฒด๊ฐ ์์ผ๋ฉด ์ถฉ๋ ์ ๋ณด ๋ฆฌ์คํธ๋ฅผ ๋ฐํํด์.
for i = 1, #targetList do
print(targetList[i].HitObject.Name) --์ถฉ๋ํ ์ค๋ธ์ ํธ์์.
print(targetList[i].HitLocation) --์ถฉ๋ํ ์ค๋ธ์ ํธ์ ์์น์์.
end
HitResultList LineTraceList(Vector Start, Vector Dir, number Distance, string UserCollisionName)
์ค์ ๋ ์์ ์ง์ ์์ ์ํ๋ ๋ฐฉํฅ์ผ๋ก ์ง์ ๋ ๊ฑฐ๋ฆฌ ๋งํผ์ ์ ์ ๊ฐ ์ถ๊ฐํ ์ถฉ๋ ํ์
๊ณผ์ ์ถฉ๋ ๋ฆฌ์คํธ๋ค์ ๊ฐ์ ธ์ฌ ์ ์์ด์. (์์ ์ง์ Vector, ๋ฐฉํฅ Vector, ๊ฑฐ๋ฆฌ ๊ฐ, ์ํ๋ ์ ์ ์ถฉ๋ ํ์
์ด๋ฆ)
-- ์ํ --
--------์๋ฒ ์คํฌ๋ฆฝํธ์์
Game:AddUserCollisionType("CollisionTag1") --์ ์ ์ถฉ๋ ํ์
์ ์ถ๊ฐํด์.
--------์๋ฒ ๋๋ ํด๋ผ ์คํฌ๋ฆฝํธ์์
Workspace.Cube.Collision:SetCollisionType("CollisionTag1") --ํด๋น ์ค๋ธ์ ํธ์ ์ถฉ๋ ํ์
์ ์ค์ ํด์.
local startPos = Workspace.Cube.Transform.Location
local dir = Vector.new(1, 0, 0)
local distance = 1000
local targetList = Game:LineTraceList(startPos, dir, distance, "CollisionTag1") --์์ ์์น์์ ์ง์ ๋ฐฉํฅ์ ๊ฑฐ๋ฆฌ์ "CollisiongTag1"์
--์ถฉ๋ ํ์
์ ๊ฐ์ง ์ถฉ๋์ฒด๊ฐ ์์ผ๋ฉด ์ถฉ๋ ์ ๋ณด ๋ฆฌ์คํธ๋ฅผ ๋ฐํํด์.
for i = 1, #targetList do
print(targetList[i].HitObject.Name) --์ถฉ๋ํ ์ค๋ธ์ ํธ์์.
print(targetList[i].HitLocation) --์ถฉ๋ํ ์ค๋ธ์ ํธ์ ์์น์์.
end
๋ฐํ๊ฐ์ด false์ด๋ฉด ์คํ๋์ค(์คํ๋์ค๋ก ์ ์), true์ด๋ฉด ํผ๋ธ๋ฆฌ์ฌ๋ ์ํ(ํ๋ ์ด์ด๋ก ์ ์)
-- ์ํ --
if Game:IsPublished() == true then
print("ํผ๋ธ๋ฆฌ์ ๊ฒ์์ด๋ฏ๋ก Player์์ ์คํํ๊ฒ.")
else
print("์๋๋ฏ๋ก Studio์์ ์คํํ๊ฒ.")
end
void SetEnableChatLog(bool Enable)
๋ก๊ทธ ์ฑํ
์ฐฝ ์ถ๋ ฅ ๊ธฐ๋ฅ ํ์ฑ, ๋นํ์ฑ ์ค์ (true๋ก ์ค์ ์ ์คํฌ๋ฆฝํธ print ๊ฐ ์ฑํ
์ฐฝ์๋ ํ์๋จ)
ObjectList FindObjects(Object RootObject, string ObjectName)
RootObject ํ์์ ์ค๋ธ์ ํธ๋ค ์ค ObjectName ์ ํด๋นํ๋ ์ค๋ธ์ ํธ ๋ฆฌ์คํธ๋ฅผ ์ป์ ์ ์์ด์.
-- ์ํ --
local objList = Game:FindObjects(Workspace, "Cube") --Workspace์์ ์ด๋ฆ์ด Cube์ธ ๊ฐ์ฒด๋ฅผ ๋ชจ๋ ๊ฐ์ ธ์์.
for i = 1, #objList do --๋ฆฌ์คํธ์์ #์ ๋ถ์ฌ ๋ฆฌ์คํธ์ ๊ธธ์ด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ด์.
print(objList[i].Name)
end
ObjectList FindObjects(Object RootObject, ObjectType FindType)
RootObject ํ์์ ์ค๋ธ์ ํธ๋ค ์ค ObjectType ์ ํด๋นํ๋ ์ค๋ธ์ ํธ ๋ฆฌ์คํธ๋ฅผ ์ป์ ์ ์์ด์.
-- ์ํ --
local objList = Game:FindObjects(Workspace, Enum.ObjectType.StaticMesh) --Workspace์์ StaticMesh ๊ฐ์ฒด๋ฅผ ๋ชจ๋ ๊ฐ์ ธ์์.
for i = 1, #objList do --๋ฆฌ์คํธ์์ #์ ๋ถ์ฌ ๋ฆฌ์คํธ์ ๊ธธ์ด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ด์.
print(objList[i].Name)
end
์ฌ์ฉ ๊ฐ๋ฅํ ๋ถ๋ชจ ์ค๋ธ์ ํธ ๊ธฐ๋ฅ๋ค
์์ฑ
๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ์ป์ ์ ์์ด์.
๊ฐ์ฒด์ ์ด๋ฆ์
๋๋ค.
์ด๋ฒคํธ
ํจ์
์ถ๊ฐ๋ ๊ฐ์ด ๋ณ๊ฒฝ ๋ ๋ ํธ์ถ๋๋ ์ด๋ฒคํธ์์. (Value ์ด๋ฆ, ์ฐ๊ฒฐ ํจ์)
์ด๋ฆ์ผ๋ก ์์ ๊ฐ์ฒด๋ฅผ ์ป์ ์ ์์ด์. (์ฐพ๊ณ ์ถ์ ์์ ๊ฐ์ฒด ์ด๋ฆ)
์์ ๊ฐ์ฒด์ ๋ฆฌ์คํธ๋ฅผ ์ป์ ์ ์์ด์.
์บ๋ฆญํฐ์ธ์ง ํ์ธํ ์ ์์ด์.
์คํ
ํฑ ๋ฉ์์ธ์ง ํ์ธํ ์ ์์ด์.
FX์ธ์ง ํ์ธํ ์ ์์ด์.
Sound์ธ์ง ํ์ธํ ์ ์์ด์.
ํฌ์ธํธ ๋ผ์ดํธ์ธ์ง ํ์ธํ ์ ์์ด์.
์คํฌํธ ๋ผ์ดํธ์ธ์ง ํ์ธํ ์ ์์ด์.
์ํผ์ค UI์ธ์ง ํ์ธํ ์ ์์ด์.
์คํฌ๋ฆฐ UI์ธ์ง ํ์ธํ ์ ์์ด์.
ํฐ์น UI์ธ์ง ํ์ธํ ์ ์์ด์.
์์ดํ
์ธ์ง ํ์ธํ ์ ์์ด์.
NPC์ธ์ง ํ์ธํ ์ ์์ด์.
์คํธ๋ฆฝํธ์ธ์ง ํ์ธํ ์ ์์ด์.
Collider์ธ์ง ํ์ธํ ์ ์์ด์.
Widget์ธ์ง ํ์ธํ ์ ์์ด์.
Camera์ธ์ง ํ์ธํ ์ ์์ด์.
ํด๋น ์ค๋ธ์ ํธ๊ฐ ์ ํจํ์ง ํ์ธ ํ ์์์ด์.
ํด๋น ์ค๋ธ์ ํธ์ ๊ฐ์ด ์ ํจํ์ง ํ์ธํ ์ ์์ด์.
ํด๋น ๊ฐ์ฒด์ ์๋ฒ, ํด๋ผ์ด์ธํธ ๊ฐ ๋๊ธฐํ๊ฐ ๊ฐ๋ฅํ ๋ฒกํฐ๋ฅผ ์ถ๊ฐํด์. (์ถ๊ฐํ Value ์ด๋ฆ, Vector ๋ฐ์ดํฐ, Enum.ReplicateType.ํ์
, ๋๊ธฐํ ์๊ฐ)
ํด๋น ๊ฐ์ฒด์ ์๋ฒ, ํด๋ผ์ด์ธํธ ๊ฐ ๋๊ธฐํ๊ฐ ๊ฐ๋ฅํ ์ค์๋ฅผ ์ถ๊ฐํด์. (์ถ๊ฐํ Value ์ด๋ฆ, number ๋ฐ์ดํฐ, Enum.ReplicateType.ํ์
, ๋๊ธฐํ ์๊ฐ)
ํด๋น ๊ฐ์ฒด์ ์๋ฒ, ํด๋ผ์ด์ธํธ ๊ฐ ๋๊ธฐํ๊ฐ ๊ฐ๋ฅํ bool๋ฅผ ์ถ๊ฐํด์. (์ถ๊ฐํ Value ์ด๋ฆ, bool ๋ฐ์ดํฐ, Enum.ReplicateType.ํ์
, ๋๊ธฐํ ์๊ฐ)
ํด๋น ๊ฐ์ฒด์ ์๋ฒ, ํด๋ผ์ด์ธํธ ๊ฐ ๋๊ธฐํ๊ฐ ๊ฐ๋ฅํ ๋ฌธ์์ด์ ์ถ๊ฐํด์. (์ถ๊ฐํ Value ์ด๋ฆ, string ๋ฐ์ดํฐ, Enum.ReplicateType.ํ์
, ๋๊ธฐํ ์๊ฐ)
ํด๋น ๊ฐ์ฒด์ ์๋ฒ, ํด๋ผ์ด์ธํธ ๊ฐ ๋๊ธฐํ๊ฐ ๊ฐ๋ฅํ ์ปฌ๋ฌ๋ฅผ ์ถ๊ฐํด์. (์ถ๊ฐํ Value ์ด๋ฆ, Color ๋ฐ์ดํฐ, Enum.ReplicateType.ํ์
, ๋๊ธฐํ ์๊ฐ)
์ผ์ ์๊ฐ๋ค์ ์ฐ๊ฒฐ ํจ์๊ฐ ํธ์ถ๋๋ ์ด๋ฒคํธ๋ฅผ ์ถ๊ฐํด์. (์ถ๊ฐํ ์ด๋ฒคํธ ์ด๋ฆ, ์๊ฐ, ์ฐ๊ฒฐ ํจ์)
๋ฑ๋ก๋ ์๊ฐ ์ด๋ฒคํธ๋ฅผ ์ญ์ ํด์. (์ญ์ ํ ์ด๋ฒคํธ ์ด๋ฆ)
Last updated