Пример #1
0
    public void onAvatarEnterWorld(UInt64 rndUUID, Int32 eid, KBEngine.Avatar avatar)
    {
        if(!avatar.isPlayer())
        {
            return;
        }

        UI.inst.info("loading scene...(加载场景中...)");
        Debug.Log("loading scene...");

        object speed = avatar.getDefinedPropterty("moveSpeed");
        if(speed != null)
            set_moveSpeed(avatar, speed);

        object state = avatar.getDefinedPropterty("state");
        if(state != null)
            set_state(avatar, state);

        object modelScale = avatar.getDefinedPropterty("modelScale");
        if(modelScale != null)
            set_modelScale(avatar, modelScale);

        object name = avatar.getDefinedPropterty("name");
        if(name != null)
            set_entityName(avatar, (string)name);

        object hp = avatar.getDefinedPropterty("HP");
        if(hp != null)
            set_HP(avatar, hp);
    }
Пример #2
0
    public void onAvatarEnterWorld(UInt64 rndUUID, Int32 eid, KBEngine.Avatar avatar)
    {
        if(!avatar.isPlayer())
            return;

        if (player != null)
            return;

        Dbg.DEBUG_MSG("[World createPlayer] create palyer success...");

        if (avatar.isOnGround)
            avatar.position.y = 1.3f;

        if (!AttachEntityGameObject(avatar, true))
        {
            Dbg.ERROR_MSG(String.Format("[World onAvatarEnterWorld] AttachEntityGameObject failed, entity id: {0}, entity type: {1}", avatar.id, avatar.className));
            return;
        }

        player = (UnityEngine.GameObject)avatar.renderObj;
        player.GetComponent<GameEntity>().entityEnabled = false;

        UI.inst.info("loading scene...(加载场景中...)");
        Dbg.DEBUG_MSG("[World onAvatarEnterWorld] loading scene...");

        SyncEntityPropertity(avatar);
        //((UnityEngine.GameObject)avatar.renderObj).GetComponent<GameEntity>().OnEnterWorld();
    }
Пример #3
0
    public bool AttachEntityGameObject(KBEngine.Entity entity, bool isPlayer)
    {
        UnityEngine.GameObject obj = null;

        Vector3 position = new Vector3(entity.position.x, entity.position.y, entity.position.z);
        Quaternion rotation = Quaternion.Euler(new Vector3(0, 0, 0));

        obj = GameObjectManager.GetInstance().CreateGameObject(entity.className, position, rotation);
        if (!obj)
            return false;

        GameEntity gameEntity = obj.GetComponent<GameEntity>();
        if (gameEntity)
        {
            gameEntity.entityEnabled = true;
            gameEntity.isSync = false;
            gameEntity.isPlayer = isPlayer;
            gameEntity.entity = entity;
        }

        entity.renderObj = obj;
        obj.name = entity.className + "_" + entity.id;

        return true;
    }
		public bool validCast(KBEngine.Entity caster, SCObject target)
		{
			float dist = Vector3.Distance(target.getPosition(), caster.position);
			if(dist > canUseDistMax)
				return false;
			
			return true;
		}
Пример #5
0
    public void onAvatarEnterWorld(UInt64 rndUUID, Int32 eid, KBEngine.Avatar avatar)
    {
        if(!avatar.isPlayer())
        {
            return;
        }

        UI.inst.info("loading scene...(加载场景中...)");
        Debug.Log("loading scene...");
    }
Пример #6
0
        public void displaySkill(KBEngine.Entity caster, KBEngine.Entity target)
        {
            if (displayType == Skill_DisplayType.SkillDisplay_Event_Bullet)
            {
                UnityEngine.GameObject renderObj = UnityEngine.Object.Instantiate(SkillBox.inst.dictSkillDisplay[skillEffect]) as UnityEngine.GameObject;

                NcEffectFlying fly = renderObj.AddComponent<NcEffectFlying>();
                fly.FromPos = caster.position;
                fly.FromPos.y = 1f;
                fly.ToPos = target.position;
                fly.ToPos.y = 1f;
                //fly.Speed = 5.0f;
                //fly.HWRate = 0;
            }
            else if (displayType == Skill_DisplayType.SkillDisplay_Event_Effect)
            {
                Vector3 pos = target.position;
                pos.y = 1f;
                UnityEngine.Object.Instantiate(SkillBox.inst.dictSkillDisplay[skillEffect], pos, Quaternion.identity);
            }
        }
Пример #7
0
		public override bool valid(KBEngine.Entity caster)
		{
			return true;
		}
    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 update_position(KBEngine.Entity entity)
    {
        if(enterSpace == false)
            return;

        if(entity.renderObj != null)
        {
            ((SceneEntityObject)entity.renderObj).update_position(entity.position);
        }
    }
    public void set_position(KBEngine.Entity entity)
    {
        if(entity.renderObj != null)
        {
            Common.calcPositionY(entity.position, out entity.position.y, false);
            ((SceneObject)entity.renderObj).position = entity.position;
            ((SceneEntityObject)entity.renderObj).destPosition = entity.position;
        }

        if(entity.isPlayer() == false)
            return;

        entity.position = (Vector3)entity.getDefinedPropterty("position");

        RPG_Controller.initPos.x = entity.position.x;
        RPG_Controller.initPos.y = entity.position.y;
        RPG_Controller.initPos.z = entity.position.z;

        if(RPG_Controller.instance != null)
        {
            RPG_Controller.instance.transform.position = RPG_Controller.initPos;
            Common.DEBUG_MSG("KBEEventProc::set_position: entity.position=" + entity.position + " " + entity.getDefinedPropterty("position") + ", RPG_Controller.position=" + RPG_Controller.instance.transform.position);
        }
    }
 public void set_MP_Max(KBEngine.Entity entity, object v)
 {
     object vv = entity.getDefinedPropterty("MP");
     if(entity.isPlayer())
     {
         game_ui_autopos.updatePlayerBar_MP(vv, v);
     }
     else
     {
         game_ui_autopos.updateTargetBar_MP(vv, v);
     }
 }
    public void set_moveSpeed(KBEngine.Entity entity, object v)
    {
        if(enterSpace == false)
            return;

        float fspeed = ((float)(Byte)v) / 10f;

        if(entity.isPlayer())
        {
            if(RPG_Controller.instance != null)
                RPG_Controller.instance.walkSpeed = fspeed;
        }

        if(entity.renderObj != null)
        {
            ((SceneEntityObject)entity.renderObj).set_moveSpeed(fspeed);
        }
    }
Пример #13
0
    public void set_state(KBEngine.Entity entity, object v)
    {
        if(entity.renderObj != null)
        {
            ((UnityEngine.GameObject)entity.renderObj).GetComponent<GameEntity>().set_state((SByte)v);
        }

        if(entity.isPlayer())
        {
            Debug.Log("player->set_state: " + v);

            if(((SByte)v) == 1)
                showReliveGUI = true;
            else
                showReliveGUI = false;

            return;
        }
    }
Пример #14
0
    public void set_position(KBEngine.Entity entity)
    {
        if(entity.renderObj == null)
            return;

        ((UnityEngine.GameObject)entity.renderObj).GetComponent<GameEntity>().destPosition = entity.position;
        ((UnityEngine.GameObject)entity.renderObj).GetComponent<GameEntity>().position = entity.position;
    }
Пример #15
0
 public void set_MP_Max(KBEngine.Entity entity, object v)
 {
 }
 public void set_modelID(KBEngine.Entity entity, object v)
 {
     if(enterSpace == false)
         return;
 }
    public void set_modelScale(KBEngine.Entity entity, object v)
    {
        if(enterSpace == false)
            return;

        if(entity.renderObj != null)
        {
            float scale = (((float)(Byte)v) / 10.0f);
            ((SceneEntityObject)entity.renderObj).scale = new Vector3(scale, scale, scale);
        }
    }
Пример #18
0
    public void update_position(KBEngine.Entity entity)
    {
        if(entity.renderObj == null)
            return;

        GameEntity gameEntity = ((UnityEngine.GameObject)entity.renderObj).GetComponent<GameEntity>();
        gameEntity.destPosition = entity.position;
        gameEntity.isOnGound = entity.isOnGound;
    }
    public void set_MP(KBEngine.Entity entity, object v)
    {
        object vv = entity.getDefinedPropterty("MP_Max");

        if(entity.renderObj != null)
        {
            object oldvv = entity.getDefinedPropterty("old_MP");
            if(oldvv != null)
            {
                Int32 diff = (Int32)vv - (Int32)oldvv;

                if(diff > 0)
                {
                    ((SceneEntityObject)entity.renderObj).addMP(diff);
                }

                entity.setDefinedPropterty("old_MP", vv);
            }
            else
                entity.addDefinedPropterty("old_MP", vv);
        }

        if(entity.isPlayer())
        {
            game_ui_autopos.updatePlayerBar_MP(v, vv);
        }
        else
        {
            game_ui_autopos.updateTargetBar_MP(v, vv);
        }
    }
 public void onAvatarEnterWorld(UInt64 rndUUID, Int32 eid, KBEngine.Avatar avatar)
 {
     log_label.color = UnityEngine.Color.green;
     log_label.text = "加载场景中...";
     KBEngine.Event.deregisterOut(this);
 }
    public void set_name(KBEngine.Entity entity, object v)
    {
        if(entity.isPlayer())
        {
            if(game_ui_autopos.name_label == null)
                return;

            game_ui_autopos.name_label.text = (string)v;
        }
        else
        {
            if(entity.renderObj != null)
            {
                ((SceneEntityObject)entity.renderObj).setName((string)v);
            }
        }
    }
    public void onLeaveWorld(KBEngine.Entity entity)
    {
        if(enterSpace == false)
        {
            pendingEnterEntityIDs.Remove(entity.id);
            return;
        }

        Scene scene = null;
        if(!loader.inst.scenes.TryGetValue(loader.inst.currentSceneName, out scene))
        {
            Common.ERROR_MSG("KBEEventProc::onLeaveWorld: not found scene(" + loader.inst.currentSceneName + ")!");
            return;
        }

        scene.removeSceneObject("_entity_" + entity.id);
        ((SceneEntityObject)entity.renderObj).kbentity = null;
        entity.renderObj = null;
    }
    public void set_state(KBEngine.Entity entity, object v)
    {
        if(enterSpace == false)
            return;

        if(entity.renderObj != null)
        {
            ((SceneEntityObject)entity.renderObj).set_state((SByte)v);
        }

        if(entity.isPlayer())
        {
            RPG_Controller.enabled = ((SByte)v) != 1;

            if(RPG_Controller.enabled == false)
                game_ui_autopos.showRelivePanel();
            else
                game_ui_autopos.hideRelivePanel();
        }
    }
 public void otherAvatarOnJump(KBEngine.Entity entity)
 {
     if(entity.renderObj != null)
     {
         SceneEntityObject seo = ((SceneEntityObject)entity.renderObj);
         seo.stopPlayAnimation("");
         seo.playJumpAnimation();
     }
 }
 public void onAvatarEnterWorld(UInt64 rndUUID, Int32 eid, KBEngine.Avatar avatar)
 {
     onEnterWorld(avatar);
 }
    public void recvDamage(KBEngine.Entity entity, KBEngine.Entity attacker, Int32 skillID, Int32 damageType, Int32 damage)
    {
        if(enterSpace == false)
            return;

        if(attacker != null)
        {
            if(attacker.renderObj != null)
            {
                ((SceneEntityObject)attacker.renderObj).attack(skillID, damageType, ((SceneEntityObject)entity.renderObj));
            }
        }

        if(entity.renderObj != null)
        {
            if(CameraTargeting.inst != null && CameraTargeting.inst.lasttargetTransform == null && entity.isPlayer())
            {
                CameraTargeting.inst.setTarget(((SceneEntityObject)attacker.renderObj).gameEntity.transform);
                TargetManger.setTarget((SceneEntityObject)attacker.renderObj);
            }

            ((SceneEntityObject)entity.renderObj).recvDamage(skillID, damageType, damage);
        }
    }
Пример #27
0
		public virtual bool valid(KBEngine.Entity caster)
		{
			return true;
		}
    public void set_direction(KBEngine.Entity entity)
    {
        if(enterSpace == false)
            return;

        if(entity.isPlayer() == false)
        {
            if(entity.renderObj != null)
            {
                ((SceneEntityObject)entity.renderObj).destDirection = new Vector3(entity.direction.y, entity.direction.z, entity.direction.x);
                //((SceneObject)entity.renderObj).rotation = new Vector3(entity.direction.y, entity.direction.z, entity.direction.x);
            }
            return;
        }

        RPG_Controller.initRot = new Vector3(entity.direction.y, entity.direction.z, entity.direction.x);
        if(RPG_Controller.instance != null)
        {
            RPG_Controller.instance.transform.Rotate(RPG_Controller.rotation);
            Common.DEBUG_MSG("KBEEventProc::set_direction: RPG_Controller.rotation=" + RPG_Controller.instance.transform.rotation);
        }
    }
Пример #29
0
		public virtual bool valid(KBEngine.Entity receiver)
		{
			return true;
		}
    public void set_level(KBEngine.Entity entity, object v)
    {
        if(game_ui_autopos.level_label == null)
            return;

        if(entity.isPlayer())
        {
            game_ui_autopos.level_label.text = "lv: " + v;
        }
        else
        {
            game_ui_autopos.target_level_label.text = "lv:" + v;
        }
    }