/// <summary> /// 1.获取当前玩家的playerID /// 2.创建一个SceneEntityObject 作为Entity的renderObj /// </summary> /// <param name="entity"></param> public void onEnterWorld(KBEngine.Entity entity) { Debug.Log("实体进入世界 KBEEventProc::onEnterWorld entityID:" + entity.id); if (entity.renderObj != null) { Debug.LogWarning("实体已经有renderObj 无法再次进入"); return; } SceneEntityObject obj = new SceneEntityObject(); obj.kbentity = entity; entity.renderObj = obj; if (entity.isPlayer()) { currentPlayerID = Convert.ToInt16(entity.getDefinedProperty("playerID")); } else { } obj.onEnterWorld(entity.getDefinedProperty("playerID")); }
public static void showTargetBar(SceneEntityObject seo) { if (seo == null || seo.kbentity == null || target_bar == null) { return; } NGUITools.SetActive(target_bar, true); KBEngine.Entity entity = seo.kbentity; string name = (string)entity.getDefinedProperty("name"); object level = entity.getDefinedProperty("level"); object hp = entity.getDefinedProperty("HP"); object hpmax = entity.getDefinedProperty("HP_Max"); object mp = entity.getDefinedProperty("MP"); object mpmax = entity.getDefinedProperty("MP_Max"); target_name_label.text = name; if (level != null) { target_level_label.text = "lv:" + level; } else { target_level_label.text = ""; } updateTargetBar_HP(hp, hpmax); updateTargetBar_MP(mp, mpmax); }
public void getRenderObj(bool isSelf, SceneEntityObject obj) { if (isSelf) { obj.getRenderObj(initCard()); } }
public void onEnterWorld(KBEngine.Entity entity) { if (enterSpace == false) { pendingEnterEntityIDs.Add(entity.id); return; } SceneEntityObject obj = SceneEntityObjectManager.CreateSceneEntityObject(entity); }
public void otherAvatarOnJump(KBEngine.Entity entity) { if (entity.renderObj != null) { SceneEntityObject seo = ((SceneEntityObject)entity.renderObj); seo.stopPlayAnimation(""); seo.playJumpAnimation(); } }
public void set_isDivineShield(KBEngine.Entity entity, object v = null) { if (!hasRenderObj(entity)) { return; } SceneEntityObject target = (SceneEntityObject)entity.renderObj; target.set_isDivineShield(entity.getDefinedProperty("isDivineShield")); }
public virtual void set_isWindfury(KBEngine.Entity entity, object v = null) { if (!hasRenderObj(entity)) { return; } SceneEntityObject target = (SceneEntityObject)entity.renderObj; target.set_isWindfury(entity.getDefinedProperty("isWindfury")); }
public void set_CrystalSum(KBEngine.Entity entity, object v = null) { if (!hasRenderObj(entity)) { return; } SceneEntityObject target = (SceneEntityObject)entity.renderObj; target.set_CrystalSum(entity.getDefinedProperty("CrystalSum")); }
public virtual void onAtt(KBEngine.Entity entity, Int32 targetID) { if (!hasRenderObj(entity)) { return; } SceneEntityObject target = (SceneEntityObject)entity.renderObj; target.onAtt(targetID); }
public void set_playerID(KBEngine.Entity entity, object v = null) { if (!hasRenderObj(entity)) { return; } SceneEntityObject target = (SceneEntityObject)entity.renderObj; target.set_playerID(entity.getDefinedProperty("playerID")); }
public void getRenderObj(bool isSelf, SceneEntityObject obj) { if (isSelf) { followerManagers[0].getRenderObj(obj); } else { followerManagers[1].getRenderObj(obj); } }
public void getRenderObj(bool isSelf, SceneEntityObject obj) { if (isSelf) { obj.getRenderObj(heros[0]); } else { obj.getRenderObj(heros[1]); } }
public void set_HP(KBEngine.Entity entity, object v = null) { if (!hasRenderObj(entity)) { return; } SceneEntityObject target = (SceneEntityObject)entity.renderObj; Debug.Log("设置hp" + entity.getDefinedProperty("HP").ToString()); target.set_HP(entity.getDefinedProperty("HP")); }
public static void autoAttack() { if (target == null || target.kbentity == null) { return; } KBEngine.Entity player = KBEngineApp.app.player(); if (player == null || player == target.kbentity) { return; } float dist = Vector3.Distance(new Vector3(target.position.x, 0f, target.position.z), new Vector3(player.position.x, 0f, player.position.z)); if (dist >= 30.0f) { cancelAutoAttack(); target = null; CameraTargeting.inst.setTarget(null); return; } object combatv = null; if (target.kbentity.className == "Avatar") { combatv = ((KBEngine.Avatar)target.kbentity).HP_Max; } else if (target.kbentity.className == "Monster") { combatv = ((KBEngine.Monster)target.kbentity).HP_Max; } // 可战斗entity, 我们判断它当前可被攻击标记是否开放, 开放则攻击 if (combatv != null) { /* * SceneEntityObject playerseo = ((SceneEntityObject)player.renderObj); * Vector3 dir = playerseo.position - target.position; * dir.y = 0f; * dir.Normalize(); * * if(RPG_Controller.instance != null) * RPG_Controller.instance.transform.Rotate(dir); */ ((KBEngine.Avatar)player).useTargetSkill(1, target.kbentity.id); } else // 否则只是跑到其跟前 { } }
public static void setTarget(SceneEntityObject seo) { Common.DEBUG_MSG("TargetManger::setTarget: current=" + seo.kbentity.id); if (target == seo) { startAutoAttack(); return; } target = seo; onChangeTarget(); }
public static void setTarget(SceneEntityObject seo) { Common.DEBUG_MSG("TargetManger::setTarget: current=" + seo.kbentity.id); if(target == seo) { startAutoAttack(); return; } target = seo; onChangeTarget(); }
public void getRenderObj(bool isSelf, SceneEntityObject obj) { if (isSelf) { weapons[0].gameObject.SetActive(true); obj.getRenderObj(weapons[0]); } else { weapons[1].gameObject.SetActive(true); obj.getRenderObj(weapons[1]); } }
public static void showTargetBar(SceneEntityObject seo) { if (seo == null || seo.kbentity == null || target_bar == null) { return; } NGUITools.SetActive(target_bar, true); KBEngine.Entity entity = seo.kbentity; string name = ""; object level = 0; object hp = 0; object hpmax = 0; object mp = 0; object mpmax = 0; if (entity.className == "Avatar") { name = ((KBEngine.Avatar)entity).name; level = ((KBEngine.Avatar)entity).level; hp = ((KBEngine.Avatar)entity).HP; hpmax = ((KBEngine.Avatar)entity).HP_Max; mp = ((KBEngine.Avatar)entity).MP; mpmax = ((KBEngine.Avatar)entity).MP_Max; } else if (entity.className == "Monster") { name = ((KBEngine.Monster)entity).name; //level = ((KBEngine.Monster)entity).level; hp = ((KBEngine.Monster)entity).HP; hpmax = ((KBEngine.Monster)entity).HP_Max; mp = ((KBEngine.Monster)entity).MP; mpmax = ((KBEngine.Monster)entity).MP_Max; } target_name_label.text = name; if (level != null) { target_level_label.text = "lv:" + level; } else { target_level_label.text = ""; } updateTargetBar_HP(hp, hpmax); updateTargetBar_MP(mp, mpmax); }
public static void autoAttack() { if(target == null || target.kbentity == null) return; KBEngine.Entity player = KBEngineApp.app.player(); if(player == null || player == target.kbentity) return; float dist = Vector3.Distance(new Vector3(target.position.x, 0f, target.position.z), new Vector3(player.position.x, 0f, player.position.z)); if(dist >= 30.0f) { cancelAutoAttack(); target = null; CameraTargeting.inst.setTarget(null); return; } object combatv = target.kbentity.getDefinedProperty("HP_Max"); // 可战斗entity, 我们判断它当前可被攻击标记是否开放, 开放则攻击 if(combatv != null) { /* SceneEntityObject playerseo = ((SceneEntityObject)player.renderObj); Vector3 dir = playerseo.position - target.position; dir.y = 0f; dir.Normalize(); if(RPG_Controller.instance != null) RPG_Controller.instance.transform.Rotate(dir); */ ((KBEngine.Avatar)player).useTargetSkill(1, target.kbentity.id); } else // 否则只是跑到其跟前 { } }
void Start() { seo = (SceneEntityObject)KBEngineApp.app.player().renderObj; if(seo != null) { if(seo.gameObject != null && seo.gameObject != transform.gameObject) { Transform parent = transform.parent; seo.gameObject.transform.rotation = transform.rotation; UnityEngine.GameObject.Destroy(transform.gameObject); seo.gameObject.transform.parent = parent; seo.gameObject.name = "entity"; seo.gameObject.layer = LayerMask.NameToLayer("kbentity"); this.transform.gameObject.layer = LayerMask.NameToLayer("kbentity"); seo.gameObject.tag = "Player"; } if(seo.gameObject != null && seo.gameObject == transform.gameObject) instance = this; } }
public void attack(Int32 skillID, Int32 damageType, SceneEntityObject receiver) { //if(gameEntity != null) if (!System.Object.ReferenceEquals(gameEntity, null)) { gameEntity.playAttackAnimation(); } if (receiver == null || receiver.gameEntity == null) { return; } //if(particles.inst != null) if (!System.Object.ReferenceEquals(particles.inst, null)) { Vector3 v = position; UnityEngine.GameObject pobj = null; switch (skillID) { case 7000101: pobj = (UnityEngine.GameObject)UnityEngine.GameObject.Instantiate(particles.inst.allpartis[37], gameEntity.gameObject.transform.FindChild("attackPoint").transform.position, rotation); SM_moveToEntity sm = pobj.GetComponent <SM_moveToEntity>(); sm.moveSpeed = 10.0f; sm.target = receiver.gameEntity.gameObject; break; default: break; } ; if (pobj) { pobj.transform.localScale = new Vector3(2.5f, 2.5f, 2.5f); } } }
public static void showTargetBar(SceneEntityObject seo) { if(seo == null || seo.kbentity == null || target_bar == null) return; NGUITools.SetActive(target_bar, true); KBEngine.Entity entity = seo.kbentity; string name = (string)entity.getDefinedProperty("name"); object level = entity.getDefinedProperty("level"); object hp = entity.getDefinedProperty("HP"); object hpmax = entity.getDefinedProperty("HP_Max"); object mp = entity.getDefinedProperty("MP"); object mpmax = entity.getDefinedProperty("MP_Max"); target_name_label.text = name; if(level != null) target_level_label.text = "lv:" + level; else target_level_label.text = ""; updateTargetBar_HP(hp, hpmax); updateTargetBar_MP(mp, mpmax); }
void Start() { seo = (SceneEntityObject)KBEngineApp.app.player().renderObj; if (seo != null) { if (seo.gameObject != null && seo.gameObject != transform.gameObject) { Transform parent = transform.parent; seo.gameObject.transform.rotation = transform.rotation; UnityEngine.GameObject.Destroy(transform.gameObject); seo.gameObject.transform.parent = parent; seo.gameObject.name = "entity"; seo.gameObject.layer = LayerMask.NameToLayer("kbentity"); this.transform.gameObject.layer = LayerMask.NameToLayer("kbentity"); seo.gameObject.tag = "Player"; } if (seo.gameObject != null && seo.gameObject == transform.gameObject) { instance = this; } } }
public void getRenderObj(SceneEntityObject obj) { obj.getRenderObj(initFollower()); }
public void onEnterWorld(KBEngine.Entity entity) { if (enterSpace == false) { pendingEnterEntityIDs.Add(entity.id); return; } int modelID = 0; string name = ""; int hp = -1, hpmax = -1; object state = null; object modelScale = null; object moveSpeed = null; // 底层使用了插件生成技术, 此处临时这么获得。 if (entity.className == "Avatar") { modelID = (int)((KBEngine.Avatar)entity).modelID; modelScale = ((KBEngine.Avatar)entity).modelScale; name = ((KBEngine.Avatar)entity).name; hp = (int)((KBEngine.Avatar)entity).HP; hpmax = (int)((KBEngine.Avatar)entity).HP_Max; state = ((KBEngine.Avatar)entity).state; moveSpeed = ((KBEngine.Avatar)entity).moveSpeed; } else if (entity.className == "Monster") { modelID = (int)((KBEngine.Monster)entity).modelID; modelScale = ((KBEngine.Monster)entity).modelScale; name = ((KBEngine.Monster)entity).name; hp = (int)((KBEngine.Monster)entity).HP; hpmax = (int)((KBEngine.Monster)entity).HP_Max; state = ((KBEngine.Monster)entity).state; moveSpeed = ((KBEngine.Monster)entity).moveSpeed; } else if (entity.className == "NPC") { modelID = (int)((KBEngine.NPC)entity).modelID; modelScale = ((KBEngine.NPC)entity).modelScale; name = ((KBEngine.NPC)entity).name; moveSpeed = ((KBEngine.NPC)entity).moveSpeed; } else if (entity.className == "Gate") { modelID = (int)((KBEngine.Gate)entity).modelID; modelScale = ((KBEngine.Gate)entity).modelScale; name = ((KBEngine.Gate)entity).name; } Asset newasset = Scene.findAsset(modelID + ".unity3d", true, ""); newasset.createAtScene = loader.inst.currentSceneName; SceneEntityObject obj = new SceneEntityObject(); obj.kbentity = entity; if (entity.isPlayer()) { obj.createPlayer(); } else { obj.create(); } entity.renderObj = obj; Scene scene = null; if (!loader.inst.scenes.TryGetValue(loader.inst.currentSceneName, out scene)) { Common.ERROR_MSG("KBEEventProc::onEnterWorld: not found scene(" + loader.inst.currentSceneName + ")!"); return; } newasset.loadLevel = Asset.LOAD_LEVEL.LEVEL_IDLE; obj.asset = newasset; obj.idkey = "_entity_" + entity.id; obj.position = entity.position; obj.eulerAngles = new Vector3(entity.direction.y, entity.direction.z, entity.direction.x); obj.destDirection = obj.eulerAngles; if (name != "") { obj.setName((string)name); } if (hp != -1) { obj.updateHPBar((Int32)hp, (Int32)hpmax); } if (state != null) { set_state(entity, state); } if (modelScale != null) { set_modelScale(entity, modelScale); } if (moveSpeed != null) { set_moveSpeed(entity, moveSpeed); } if (entity.className == "Avatar") { newasset.unloadLevel = Asset.UNLOAD_LEVEL.LEVEL_FORBID; } newasset.refs.Add(obj.idkey); scene.addSceneObject(obj.idkey, obj); if (newasset.isLoaded || newasset.bundle != null) { obj.Instantiate(); newasset.refs.Remove(obj.idkey); } else { loader.inst.loadPool.addLoad(newasset); loader.inst.loadPool.start(); } }
public void attack(Int32 skillID, Int32 damageType, SceneEntityObject receiver) { if(gameEntity != null) { gameEntity.playAttackAnimation(); } if(receiver == null || receiver.gameEntity == null) return; if(particles.inst != null) { Vector3 v = position; UnityEngine.GameObject pobj = null; switch(skillID) { case 7000101: pobj = (UnityEngine.GameObject)UnityEngine.GameObject.Instantiate(particles.inst.allpartis[37], gameEntity.gameObject.transform.FindChild("attackPoint").transform.position, rotation); SM_moveToEntity sm = pobj.GetComponent<SM_moveToEntity>(); sm.moveSpeed = 10.0f; sm.target = receiver.gameEntity.gameObject; break; default: break; }; if(pobj) pobj.transform.localScale = new Vector3(2.5f, 2.5f, 2.5f); } }
public void onEnterWorld(KBEngine.Entity entity) { if(enterSpace == false) { pendingEnterEntityIDs.Add(entity.id); return; } Asset newasset = Scene.findAsset(entity.getDefinedPropterty("modelID") + ".unity3d", true, ""); newasset.createAtScene = loader.inst.currentSceneName; SceneEntityObject obj = new SceneEntityObject(); obj.kbentity = entity; if(entity.isPlayer()) obj.createPlayer(); else obj.create(); entity.renderObj = obj; Scene scene = null; if(!loader.inst.scenes.TryGetValue(loader.inst.currentSceneName, out scene)) { Common.ERROR_MSG("KBEEventProc::onEnterWorld: not found scene(" + loader.inst.currentSceneName + ")!"); return; } newasset.loadLevel = Asset.LOAD_LEVEL.LEVEL_IDLE; obj.asset = newasset; obj.idkey = "_entity_" + entity.id; Vector3 pos = obj.position; Common.calcPositionY(pos, out pos.y, false); if(entity.getDefinedPropterty("modelID") == "20002001") pos.y += 15.0f; obj.position = pos; obj.position = entity.position; obj.eulerAngles = new Vector3(entity.direction.y, entity.direction.z, entity.direction.x); obj.destDirection = obj.eulerAngles; object name = entity.getDefinedPropterty("name"); if(name != null) obj.setName((string)name); object hp = entity.getDefinedPropterty("HP"); if(hp != null) obj.updateHPBar((Int32)hp, (Int32)entity.getDefinedPropterty("HP_Max")); object state = entity.getDefinedPropterty("state"); if(state != null) set_state(entity, state); object modelScale = entity.getDefinedPropterty("modelScale"); if(modelScale != null) set_modelScale(entity, modelScale); object speed = entity.getDefinedPropterty("moveSpeed"); if(speed != null) { set_moveSpeed(entity, speed); } if(entity.className == "Avatar") newasset.unloadLevel = Asset.UNLOAD_LEVEL.LEVEL_FORBID; newasset.refs.Add(obj.idkey); scene.addSceneObject(obj.idkey, obj); if(newasset.isLoaded || newasset.bundle != null) { obj.Instantiate(); newasset.refs.Remove(obj.idkey); } else { loader.inst.loadPool.addLoad(newasset); loader.inst.loadPool.start(); } }
public void onEnterWorld(KBEngine.Entity entity) { if (enterSpace == false) { pendingEnterEntityIDs.Add(entity.id); return; } Asset newasset = Scene.findAsset(entity.getDefinedPropterty("modelID") + ".unity3d", true, ""); newasset.createAtScene = loader.inst.currentSceneName; SceneEntityObject obj = new SceneEntityObject(); obj.kbentity = entity; if (entity.isPlayer()) { obj.createPlayer(); } else { obj.create(); } entity.renderObj = obj; Scene scene = null; if (!loader.inst.scenes.TryGetValue(loader.inst.currentSceneName, out scene)) { Common.ERROR_MSG("KBEEventProc::onEnterWorld: not found scene(" + loader.inst.currentSceneName + ")!"); return; } newasset.loadLevel = Asset.LOAD_LEVEL.LEVEL_IDLE; obj.asset = newasset; obj.idkey = "_entity_" + entity.id; Vector3 pos = obj.position; Common.calcPositionY(pos, out pos.y, false); if (entity.getDefinedPropterty("modelID") == "20002001") { pos.y += 15.0f; } obj.position = pos; obj.position = entity.position; obj.eulerAngles = new Vector3(entity.direction.y, entity.direction.z, entity.direction.x); obj.destDirection = obj.eulerAngles; object name = entity.getDefinedPropterty("name"); if (name != null) { obj.setName((string)name); } object hp = entity.getDefinedPropterty("HP"); if (hp != null) { obj.updateHPBar((Int32)hp, (Int32)entity.getDefinedPropterty("HP_Max")); } object state = entity.getDefinedPropterty("state"); if (state != null) { set_state(entity, state); } object modelScale = entity.getDefinedPropterty("modelScale"); if (modelScale != null) { set_modelScale(entity, modelScale); } object speed = entity.getDefinedPropterty("moveSpeed"); if (speed != null) { set_moveSpeed(entity, speed); } if (entity.className == "Avatar") { newasset.unloadLevel = Asset.UNLOAD_LEVEL.LEVEL_FORBID; } newasset.refs.Add(obj.idkey); scene.addSceneObject(obj.idkey, obj); if (newasset.isLoaded || newasset.bundle != null) { obj.Instantiate(); newasset.refs.Remove(obj.idkey); } else { loader.inst.loadPool.addLoad(newasset); loader.inst.loadPool.start(); } }