Skip to content

Commit 4e0ec33

Browse files
author
kbengine
committed
增加controlledBy演示支持
1 parent 36ae1f9 commit 4e0ec33

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

Assets/Scripts/u3d_scripts/GameEntity.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ public class GameEntity : MonoBehaviour
3333

3434
public bool isOnGround = true;
3535

36+
public bool isControlled = false;
37+
3638
public bool entityEnabled = true;
3739

3840
void Awake ()
@@ -181,12 +183,12 @@ public void set_state(sbyte v)
181183

182184
void FixedUpdate ()
183185
{
184-
if (!entityEnabled)
186+
if (!entityEnabled || KBEngineApp.app == null)
185187
return;
186188

187-
if(isPlayer == false && KBEngineApp.app != null)
189+
if(isPlayer == isControlled)
188190
return;
189-
191+
190192
KBEngine.Event.fireIn("updatePlayer", gameObject.transform.position.x,
191193
gameObject.transform.position.y, gameObject.transform.position.z, gameObject.transform.rotation.eulerAngles.y);
192194
}
@@ -201,7 +203,7 @@ void Update ()
201203

202204
float deltaSpeed = (speed * Time.deltaTime);
203205

204-
if(isPlayer == true)
206+
if(isPlayer == true && isControlled == false)
205207
{
206208
characterController.stepOffset = deltaSpeed;
207209

Assets/Scripts/u3d_scripts/World.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ void installEvents()
3636
KBEngine.Event.registerOut("set_position", this, "set_position");
3737
KBEngine.Event.registerOut("set_direction", this, "set_direction");
3838
KBEngine.Event.registerOut("updatePosition", this, "updatePosition");
39+
KBEngine.Event.registerOut("onControlled", this, "onControlled");
3940
KBEngine.Event.registerOut("set_HP", this, "set_HP");
4041
KBEngine.Event.registerOut("set_MP", this, "set_MP");
4142
KBEngine.Event.registerOut("set_HP_Max", this, "set_HP_Max");
@@ -190,6 +191,15 @@ public void updatePosition(KBEngine.Entity entity)
190191
gameEntity.isOnGround = entity.isOnGround;
191192
}
192193

194+
public void onControlled(KBEngine.Entity entity, bool isControlled)
195+
{
196+
if(entity.renderObj == null)
197+
return;
198+
199+
GameEntity gameEntity = ((UnityEngine.GameObject)entity.renderObj).GetComponent<GameEntity>();
200+
gameEntity.isControlled = isControlled;
201+
}
202+
193203
public void set_direction(KBEngine.Entity entity)
194204
{
195205
if(entity.renderObj == null)

0 commit comments

Comments
 (0)