Ejemplo n.º 1
0
        /// <summary>
        /// 释放子弹的粒子
        /// 子弹飞行粒子
        /// </summary>
        void Start()
        {
            LeftRicochets = missileData.NumRicochets;
            velocity      = missileData.Velocity;
            maxDistance   = missileData.MaxDistance;
            initPos       = transform.position;

            var playerForward = Quaternion.Euler(new Vector3(0, 0 + attacker.transform.rotation.eulerAngles.y, 0));

            if (missileData.ReleaseParticle != null)
            {
                GameObject par = Instantiate(missileData.ReleaseParticle) as GameObject;
                NGUITools.AddMissingComponent <RemoveSelf> (par);
                //par.transform.parent = transform;
                par.transform.parent        = ObjectManager.objectManager.transform;
                par.transform.localPosition = attacker.transform.localPosition + playerForward * OffsetPos;
                par.transform.localRotation = playerForward;
            }

            if (missileData.ActiveParticle != null)
            {
                GameObject par = Instantiate(missileData.ActiveParticle) as GameObject;
                activeParticle              = par;
                par.transform.parent        = transform;
                par.transform.localPosition = Vector3.zero;
                par.transform.localRotation = Quaternion.identity;
            }
        }
Ejemplo n.º 2
0
        void Start()
        {
            velocity = bombData.Velocity;
            initPos  = transform.position;

            var playerForward = Quaternion.Euler(new Vector3(0, 0 + attacker.transform.rotation.eulerAngles.y, 0));

            if (bombData.ReleaseParticle != null)
            {
                GameObject par = Instantiate(bombData.ReleaseParticle) as GameObject;
                NGUITools.AddMissingComponent <RemoveSelf>(par);

                par.transform.parent        = ObjectManager.objectManager.transform;
                par.transform.localPosition = attacker.transform.localPosition + playerForward * OffsetPos;
                par.transform.localRotation = playerForward;
            }

            if (bombData.ActiveParticle != null)
            {
                GameObject par = Instantiate(bombData.ActiveParticle) as GameObject;
                activeParticle              = par;
                par.transform.parent        = transform;
                par.transform.localPosition = Vector3.zero;
                par.transform.localRotation = Quaternion.identity;
            }
            StartCoroutine(ThrowPhysic());
        }
Ejemplo n.º 3
0
        //TODO:玩家升级的逻辑处理  技能点
        void LevelUp()
        {
            //Modify Hp Mp
            Level += 1;
            Exp    = 0;

            Log.Net("AddLevelUp " + IsMine());
            if (IsMine())
            {
                var setSync = CGSetProp.CreateBuilder();
                setSync.Key   = (int)CharAttribute.CharAttributeEnum.EXP;
                setSync.Value = 0;
                KBEngine.Bundle.sendImmediate(setSync);

                var sync = CGAddProp.CreateBuilder();
                sync.Key   = (int)CharAttribute.CharAttributeEnum.LEVEL;
                sync.Value = 1;
                KBEngine.Bundle.sendImmediate(sync);
            }

            Util.ShowLevelUp(Level);
            var par = Instantiate(Resources.Load <GameObject>("particles/events/levelUp")) as GameObject;

            NGUITools.AddMissingComponent <RemoveSelf>(par);
            par.transform.parent   = ObjectManager.objectManager.transform;
            par.transform.position = transform.position;

            if (IsMine())
            {
                //MyEventSystem.myEventSystem.PushEvent(MyEvent.EventType.UpdateMainUI);
                MyEventSystem.myEventSystem.PushEvent(MyEvent.EventType.UpdatePlayerData);
            }
        }
Ejemplo n.º 4
0
        ///<summary>
        /// 副本内怪物构建流程
        /// 单人副本通过Scene配置来产生怪物
        /// 多人副本通过服务器推送消息产生怪物
        /// </summary>
        //TODO: 多人副本怪物产生机制
        public void CreateMonster(UnitData unitData, SpawnTrigger spawn)
        {
            if (WorldManager.worldManager.station == WorldManager.WorldStation.Enter)
            {
                Log.Sys("UnityDataIs " + unitData.ID);
                if (unitData.Config == null)
                {
                    Debug.LogError("NotFoundMonster " + unitData.ID);
                    return;
                }

                Log.Sys("Create Monster Unit " + unitData.name);
                var Resource = Resources.Load <GameObject> (unitData.ModelName);
                //本地怪兽不需要Player信息
                GameObject   g   = Instantiate(Resource) as GameObject;
                NpcAttribute npc = NGUITools.AddMissingComponent <NpcAttribute> (g);
                npc.spawnTrigger = spawn.gameObject;

                var type = Type.GetType("ChuMeng." + unitData.AITemplate);
                var t    = typeof(NGUITools);
                var m    = t.GetMethod("AddMissingComponent");
                Log.AI("Monster Create Certain AI  " + unitData.AITemplate + " " + type);
                var geMethod = m.MakeGenericMethod(type);
                //var petAI =
                geMethod.Invoke(null, new object[] { g });// as AIBase;


                g.transform.parent = transform;
                g.tag              = GameTag.Enemy;
                g.layer            = (int)GameLayer.Npc;
                spawn.FirstMonster = g;

                var netView = g.GetComponent <KBEngine.KBNetworkView> ();
                netView.SetID(new KBEngine.KBViewID(myPlayer.ID, myPlayer));
                netView.IsPlayer = false;

                npc.SetObjUnitData(unitData);
                AddObject(netView.GetServerID(), netView);


                float   angle = UnityEngine.Random.Range(0, 360);
                Vector3 v     = Vector3.forward;
                v = Quaternion.Euler(new Vector3(0, angle, 0)) * v;
                float rg = UnityEngine.Random.Range(0, spawn.Radius);

                npc.transform.position = spawn.transform.position + v * rg;
                if (unitData.IsElite)
                {
                    npc.transform.localScale = new Vector3(2, 2, 2);
                }

                BattleManager.battleManager.AddEnemy(npc.gameObject);
                npc.SetDeadDelegate = BattleManager.battleManager.EnemyDead;
                //npc.Level = spawn.Level;
            }
            else
            {
                cacheMonster.Add(new MonsterInit(unitData, spawn));
            }
        }
Ejemplo n.º 5
0
        public static GameObject MakeDropItem(ItemData itemData, Vector3 pos, int num)
        {
            var g   = Instantiate(Resources.Load <GameObject>(itemData.DropMesh)) as GameObject;
            var com = NGUITools.AddMissingComponent <ItemDataRef>(g);

            com.itemData         = itemData;
            g.transform.position = pos;

            var par = Instantiate(Resources.Load <GameObject>("particles/drops/generic_item")) as GameObject;

            par.transform.parent        = g.transform;
            par.transform.localPosition = Vector3.zero;
            com.Particle   = par;
            com.IsOnGround = true;
            com.num        = num;

            if (itemData.IsGem())
            {
                com.StartCoroutine(WaitSound("dropgem"));
            }
            else
            {
                com.StartCoroutine(WaitSound("dropgold"));
            }
            return(g);
        }
Ejemplo n.º 6
0
        /*
         * 4 Job Start From 0
         */
        public static GameObject ConstructChar(RolesInfo roleInfo)
        {
            Log.Sys("SelectChar::ConstructChar " + roleInfo);
            GameObject player = null;

            if (fakeObj.TryGetValue(roleInfo.PlayerId, out player))
            {
                return(player);
            }

            //var res = Util.GetUnitData (true, (int)roleInfo.Job, 0);
            //var modName = res.ModelName.Replace ("player/", "models/player/");
            //var modName = "DialogPlayer/" + roleInfo.Job.ToString ();

            var udata = Util.GetUnitData(true, (int)roleInfo.Job, 0);

            Log.Sys("udata " + udata + " " + udata.name + " " + udata.ModelName);
            player = Instantiate(Resources.Load <GameObject> (udata.ModelName)) as GameObject;
            NGUITools.AddMissingComponent <NpcAttribute>(player);
            var selChar = NGUITools.AddMissingComponent <SelectChar> (player);

            player.GetComponent <NpcAttribute> ().SetObjUnitData(udata);
            player.GetComponent <NpcEquipment> ().InitDefaultEquip();


            selChar.name     = roleInfo.Name;
            selChar.playerId = roleInfo.PlayerId;
            selChar.level    = roleInfo.Level;
            selChar.roleInfo = roleInfo;

            return(player);
        }
Ejemplo n.º 7
0
        /*
         * 4 Job Start From 0
         */
        public static GameObject ConstructChar(RolesInfo roleInfo)
        {
            Log.Sys("SelectChar::ConstructChar " + roleInfo);
            GameObject player = null;

            if (fakeObj.TryGetValue(roleInfo.PlayerId, out player))
            {
                return(player);
            }

            var udata = Util.GetUnitData(true, (int)Job.WARRIOR, 0);

            Log.Sys("udata " + udata + " " + udata.name + " " + udata.ModelName);
            player = Instantiate(Resources.Load <GameObject>(udata.ModelName)) as GameObject;
            var oldScale = player.transform.localScale;

            NGUITools.AddMissingComponent <NpcAttribute>(player);
            var selChar = NGUITools.AddMissingComponent <SelectChar>(player);

            player.GetComponent <NpcAttribute>().SetObjUnitData(udata);
            player.GetComponent <NpcEquipment>().InitDefaultEquip();


            selChar.name     = roleInfo.Name;
            selChar.playerId = roleInfo.PlayerId;
            selChar.level    = roleInfo.Level;
            selChar.roleInfo = roleInfo;

            player.transform.localScale = oldScale;
            return(player);
        }
Ejemplo n.º 8
0
 public override void EnterState()
 {
     base.EnterState();
     aiCharacter.SetIdle();
     if (isFirst)
     {
         if (MyEventSystem.myEventSystem.GetRegEventHandler(MyEvent.EventType.BossSpawn) > 0)
         {
             MyEventSystem.myEventSystem.PushEvent(MyEvent.EventType.BossSpawn);
         }
         else
         {
             isFirst = false;
         }
         BackgroundSound.Instance.PlayEffect("summon3");
         var g   = GameObject.Instantiate(Resources.Load <GameObject>("particles/playerskills/impsummon")) as GameObject;
         var xft = g.GetComponent <XffectComponent>();
         xft.enabled = false;
         //xft.Scale = 2;
         //g.transform.parent = SaveGame.saveGame.EffectMainNode.transform;
         g.transform.position = GetAttr().transform.position;
         GetAttr().StartCoroutine(WaitEnable(xft));
         NGUITools.AddMissingComponent <RemoveSelf>(g);
     }
 }
Ejemplo n.º 9
0
 static public int AddMissingComponent_s(IntPtr l)
 {
     try {
                     #if DEBUG
         var    method     = System.Reflection.MethodBase.GetCurrentMethod();
         string methodName = GetMethodName(method);
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.BeginSample(methodName);
                     #else
         Profiler.BeginSample(methodName);
                     #endif
                     #endif
         UnityEngine.GameObject a1;
         checkType(l, 1, out a1);
         var ret = NGUITools.AddMissingComponent <UnityEngine.Component>(a1);
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
             #if DEBUG
     finally {
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.EndSample();
                     #else
         Profiler.EndSample();
                     #endif
     }
             #endif
 }
Ejemplo n.º 10
0
    /// <summary>
    /// 创建一个小Label控件
    /// </summary>
    /// <returns>The label item.</returns>
    UILabel CreateLabelItem(string name, GameObject parent)
    {
        //创建一个Lalel控件
        UILabel label = NGUITools.AddChild <UILabel> (parent);

        //修改Label的字体及颜色
        Font f = (Font)Resources.Load("Arial", typeof(Font));

        label.bitmapFont             = NGUITools.AddMissingComponent <UIFont>(label.gameObject);
        label.bitmapFont.dynamicFont = f;
        label.color = Color.red;

        //设置Label要显示的文字
        label.text = name;

        //添加滚动ScrollView时要用到的碰撞器和脚本
        label.autoResizeBoxCollider = true;
        NGUITools.AddMissingComponent <UIDragScrollView> (label.gameObject);
        NGUITools.AddMissingComponent <BoxCollider> (label.gameObject);

        //重新调整碰撞器的大小
        label.ResizeCollider();

        return(label);
    }
Ejemplo n.º 11
0
        GameObject CreateMyPlayerInternal()
        {
            var job   = MyLib.Job.WARRIOR;
            var udata = Util.GetUnitData(true, (int)job, GetMyLevel());

            //var player = Instantiate(Resources.Load<GameObject>(udata.ModelName)) as GameObject;
            var player = new GameObject("Player_Me");

            NetDebug.netDebug.AddConsole("Init Player tag layer transform");
            NGUITools.AddMissingComponent <NpcAttribute>(player);
            NGUITools.AddMissingComponent <MobaMePlayerAI>(player);
            player.tag              = "Player";
            player.layer            = (int)GameLayer.Npc;
            player.transform.parent = transform;


            //设置自己玩家的View属性
            var view = player.GetComponent <KBEngine.KBNetworkView>();

            view.SetServerID(myPlayerServerId);

            var npcAttr = player.GetComponent <NpcAttribute>();

            player.GetComponent <NpcAttribute>().SetObjUnitData(udata);
            player.GetComponent <NpcEquipment>().InitDefaultEquip();
            player.GetComponent <NpcEquipment>().InitPlayerEquipmentFromBackPack();
            npcAttr.InitName();

            player.name = "player_me_" + myPlayerServerId;

            ObjectManager.objectManager.AddObject(SaveGame.saveGame.selectChar.PlayerId, view);

            myPlayerGameObj = player;
            return(player);
        }
Ejemplo n.º 12
0
    // 抖动指定控件
    // @param shake_obj 抖动对象
    // @param time 抖动时间
    // @param strength 抖动的力度(1左右刚好)
    public void Shake(Transform shake_obj, float time, float strength)
    {
        Shake shake = NGUITools.AddMissingComponent <Shake>(shake_obj.gameObject);

        shake.shakeTime = time;
        shake.strength  = strength;
        shake.StartShake();
    }
Ejemplo n.º 13
0
        private void CreatePar(Vector3 pos)
        {
            var g          = ParticlePool.Instance.GetGameObject(missileData.HitParticle, ParticlePool.InitParticle);
            var removeSelf = NGUITools.AddMissingComponent <DumpMono>(g);

            removeSelf.StartCoroutine(DestoryBullet(g));
            g.transform.position = pos;
            g.transform.parent   = ObjectManager.objectManager.transform;
        }
Ejemplo n.º 14
0
 void CreateHitParticle()
 {
     if (bombData.HitParticle != null)
     {
         GameObject g = Instantiate(bombData.HitParticle) as GameObject;
         NGUITools.AddMissingComponent <RemoveSelf>(g);
         g.transform.position = transform.position;
         g.transform.parent   = ObjectManager.objectManager.transform;
     }
 }
Ejemplo n.º 15
0
    private void UIAddComponent()
    {
        GameObject imgObj = GameObject.Find("UI Root/DealWithUI/Panel_page01/Panel_page010");

        NGUITools.AddWidgetCollider(imgObj);
        NGUITools.AddMissingComponent <UIButton>(imgObj).tweenTarget = imgObj;
        //GetComponent<UISlider>().onChange = this.gameObject

        print(imgObj.name);
    }
        public void GetTestLabel(GameObject cell)
        {
            UILabel label = NGUITools.AddChild <UILabel> (cell);

            UIFont font = NGUITools.AddMissingComponent <UIFont> (label.gameObject);

            font.dynamicFont = Resources.Load <Font> ("Arial");

            label.text = "999";
        }
Ejemplo n.º 17
0
        void CreateParticle()
        {
            var deathBlood = GameObject.Instantiate(Resources.Load <GameObject>("particles/deathblood")) as GameObject;

            deathBlood.transform.parent        = ObjectManager.objectManager.transform;
            deathBlood.transform.localPosition = GetAttr().transform.localPosition + Vector3.up * 0.1f;
            deathBlood.transform.localRotation = Quaternion.identity;
            deathBlood.transform.localScale    = Vector3.one;
            NGUITools.AddMissingComponent <RemoveSelf>(deathBlood);
        }
Ejemplo n.º 18
0
        public static UISprite CreateSpriteBy(RX_Card card, UISprite parent, float x)
        {
            float y        = card.PositionY;
            int   depthNum = (int)x;

            if (parent.tag != "cbottom")
            {
                float temp = x;
                x = y;
                y = temp;

                depthNum = -depthNum;
            }

            //crate NGUI gameObject;	                    can create gameObject -----3
            UISprite sprite = NGUITools.AddChild <UISprite>(parent.gameObject);

            //add (widget size)'s collider
            //(if we want to add an interact function to the NGUI gameObjce,we must add collider fist!)
            NGUITools.AddWidgetCollider(sprite.gameObject);

            //only add Component(button) to interact,       not create gameObject -----1
            UIButton button = NGUITools.AddMissingComponent <UIButton>(sprite.gameObject);

            sprite.depth = depthNum + 300;
            sprite.atlas = RX_Resources.DefaultResources.Card_atlas;

            sprite.spriteName = card.ToString();

            sprite.SetRect(x, y, 52f, 70f);    //the card's size changed to original 's 25%

            button.onClick.Add(new EventDelegate(() =>
            {
                card.IsPop = !card.IsPop;
                if (parent.tag == "cleft")
                {
                    sprite.SetRect(card.PositionY, y, 52f, 70f);
                }
                else if (parent.tag == "cright")
                {
                    sprite.SetRect(card.PositionY * (-1), y, 52f, 70f);
                }
                else
                {
                    sprite.SetRect(x, card.PositionY, 52f, 70f);
                }
            }));

            sprite.name = card.ToString();

            //add to the sprite pool for destroy
            Sprite_pool.Add(sprite);
            return(sprite);
        }
Ejemplo n.º 19
0
        private void Start()
        {
            attacker  = runner.stateMachine.attacker;
            target    = runner.stateMachine.target;
            skillData = runner.stateMachine.skillFullData.skillData;

            //释放时候的粒子效果
            if (missileData.ReleaseParticle != null)
            {
                GameObject par = Instantiate(missileData.ReleaseParticle) as GameObject;
                NGUITools.AddMissingComponent <RemoveSelf>(par);
                if (runner.stateMachine.forwardSet)
                {
                    var playerForward = Quaternion.Euler(new Vector3(0, 0 + runner.transform.rotation.eulerAngles.y, 0));
                    par.transform.parent        = ObjectManager.objectManager.transform;
                    par.transform.localPosition = runner.transform.localPosition + playerForward * OffsetPos;
                    par.transform.localRotation = playerForward;
                }
                else
                {
                    var playerForward =
                        Quaternion.Euler(new Vector3(0, 0 + attacker.transform.rotation.eulerAngles.y, 0));
                    par.transform.parent        = ObjectManager.objectManager.transform;
                    par.transform.localPosition = attacker.transform.localPosition + playerForward * OffsetPos;
                    par.transform.localRotation = playerForward;
                }
            }

            //飞行粒子效果
            if (missileData.ActiveParticle != null)
            {
                GameObject par = Instantiate(missileData.ActiveParticle) as GameObject;
                par.transform.parent        = transform;
                par.transform.localPosition = Vector3.zero;
                par.transform.localRotation = Quaternion.identity;
            }

            initPos = transform.position;
            if (target != null)
            {
                var tarPos = target.transform.position;
                var dist   = tarPos - initPos;
                dist.y  = 0;
                flyTime = dist.magnitude / missileData.Velocity;
                flyTime = Mathf.Max(flyTime, 0.5f);
            }
            else
            {
                var tarPos = initPos + transform.forward * missileData.Velocity * missileData.lifeTime;
                flyTime      = missileData.lifeTime;
                dieTargetPos = tarPos;
                flyTime      = Mathf.Max(flyTime, 0.5f);
            }
        }
Ejemplo n.º 20
0
        /// <summary>
        /// 创建其它玩家
        /// 玩家所在场景
        /// </summary>
        /// <param name="ainfo">Ainfo.</param>
        public void CreateOtherPlayer(AvatarInfo ainfo)
        {
            if (WorldManager.worldManager.station == WorldManager.WorldStation.Enter)
            {
                Log.Sys("CreateOtherPlayer: " + ainfo);
                var oldPlayer = GetPlayer(ainfo.Id);
                if (oldPlayer != null)
                {
                    Debug.LogError("PlayerExists: " + ainfo);
                    return;
                }

                if (myPlayer != null && myPlayer.ID == ainfo.Id)
                {
                    Debug.LogError("CreateMeAgain");
                    return;
                }

                var kbplayer = new KBEngine.KBPlayer();
                kbplayer.ID = ainfo.Id;

                var udata  = Util.GetUnitData(true, (int)1, 1);
                var player = GameObject.Instantiate(Resources.Load <GameObject> (udata.ModelName)) as GameObject;

                var attr = NGUITools.AddMissingComponent <NpcAttribute> (player);
                //状态机类似 之后可能需要修改为其它玩家状态机
                NGUITools.AddMissingComponent <OtherPlayerAI> (player);

                player.tag   = "Player";
                player.layer = (int)GameLayer.Npc;

                NGUITools.AddMissingComponent <SkillInfoComponent> (player);
                player.GetComponent <NpcAttribute> ().SetObjUnitData(udata);
                player.GetComponent <NpcEquipment> ().InitDefaultEquip();

                player.name             = "player_" + ainfo.Id;
                player.transform.parent = gameObject.transform;

                var netview = player.GetComponent <KBEngine.KBNetworkView> ();
                netview.SetID(new KBEngine.KBViewID(kbplayer.ID, kbplayer));


                AddPlayer(kbplayer.ID, kbplayer);
                AddObject(netview.GetServerID(), netview);
                attr.Init();
                var sync = player.GetComponent <ChuMeng.PlayerSync> ();
                sync.SetPositionAndDir(ainfo);
                sync.SetLevel(ainfo);
            }
            else
            {
            }
        }
Ejemplo n.º 21
0
        void Start()
        {
            Init();
            OriginPos = transform.position;
            StartCoroutine(AdjustOri());
            gameObject.name += "_" + GetLocalId();
            CollectRender();
            var ld = GetLocalId();
            var eh = NGUITools.AddMissingComponent <EvtHandler>(this.gameObject);

            eh.AddEvent(MyEvent.EventType.IAmFirst, OnFirst);
        }
Ejemplo n.º 22
0
 private void CreateHitParticle()
 {
     if (missileData.HitParticle != null)
     {
         var g          = ParticlePool.Instance.GetGameObject(missileData.HitParticle, ParticlePool.InitParticle);
         var removeSelf = NGUITools.AddMissingComponent <DumpMono>(g);
         removeSelf.StartCoroutine(DestoryBullet(g));
         g.transform.position = transform.position;
         g.transform.parent   = ObjectManager.objectManager.transform;
     }
     MakeSound();
     CreateCameraShake();
 }
Ejemplo n.º 23
0
        //ui界面构建玩家模型
        public static GameObject ConstructChar(Job job)
        {
            var        udata  = Util.GetUnitData(true, (int)job, 0);
            GameObject player = null;

            player = Instantiate(Resources.Load <GameObject> (udata.ModelName)) as GameObject;
            NGUITools.AddMissingComponent <NpcAttribute> (player);
            var selChar = NGUITools.AddMissingComponent <SelectChar> (player);

            selChar.GetComponent <NpcAttribute> ().SetObjUnitData(udata);
            selChar.GetComponent <NpcEquipment> ().InitDefaultEquip();
            return(player);
        }
Ejemplo n.º 24
0
    /// <summary>
    /// 在某个GameObject下添加按钮
    /// </summary>
    void AddBtn(string uiName, GameObject rootObj, Dictionary <int, GameObject> dict, int functionid, string icon, Quaternion rotate)
    {
        if (!rootObj /*|| string.IsNullOrEmpty(titleName) || (dict == null) || (rotate == null)*/)
        {
            return;
        }

        //已经存在了
        if (dict.ContainsKey(functionid))
        {
            return;
        }

        //GameObject go = ResourceManager.Instance.LoadUI("UI/city/FuncButton");
        GameObject go = UIResourceManager.Instance.CloneGameObject(mFuncIcon);

        if (!go)
        {
            GameDebug.LogError("Create Function Btn error");
            return;
        }

        go.name = uiName;

        UIButton btn = go.GetComponent <UIButton>();

        btn.CustomData = functionid;

        UIEventListener.Get(go).onClick = onFunctionClick;

        UISprite sprite = go.GetComponent <UISprite>();

        UIAtlasHelper.SetButtonImage(btn, icon, true);

        go.transform.parent     = rootObj.transform;
        go.transform.localScale = Vector3.one;
        //      go.name = titleName + dict.Count.ToString();
        go.transform.localRotation = rotate;

        //加入缓存
        dict.Add(functionid, go);


        TweenScale ts = NGUITools.AddMissingComponent <TweenScale>(go);

        ts.from = Vector3.zero;
        ts.to   = Vector3.one;
        ts.PlayForward();

        RepositionGrid(rootObj);
    }
Ejemplo n.º 25
0
        GameObject CreateMyPlayerInternal()
        {
            var kbplayer = new KBEngine.KBPlayer();

            kbplayer.ID = (int)-2;
            if (myPlayer != null)
            {
                throw new System.Exception("myPlayer not null");
            }

            myPlayer = kbplayer;

            var job    = (MyLib.Job)GetMyJob();
            var udata  = Util.GetUnitData(true, (int)job, GetMyLevel());
            var player = Instantiate(Resources.Load <GameObject>(udata.ModelName)) as GameObject;

            NetDebug.netDebug.AddConsole("Init Player tag layer transform");
            NGUITools.AddMissingComponent <NpcAttribute>(player);
            NGUITools.AddMissingComponent <PlayerAIController>(player);
            player.tag              = "Player";
            player.layer            = (int)GameLayer.Npc;
            player.transform.parent = transform;


            //设置自己玩家的View属性
            var view = player.GetComponent <KBEngine.KBNetworkView>();

            NetDebug.netDebug.AddConsole("SelectCharID " + SaveGame.saveGame.selectChar.PlayerId);
            view.SetID(new KBEngine.KBViewID(-1, kbplayer));

            var npcAttr = player.GetComponent <NpcAttribute>();

            NetDebug.netDebug.AddConsole("Set UnitData of Certain Job " + udata);
            player.GetComponent <NpcAttribute>().SetObjUnitData(udata);
            player.GetComponent <NpcEquipment>().InitDefaultEquip();
            player.GetComponent <NpcEquipment>().InitPlayerEquipmentFromBackPack();
            npcAttr.InitName();

            player.name = "player_me";

            ObjectManager.objectManager.AddObject(SaveGame.saveGame.selectChar.PlayerId, view);

            var light = GameObject.Instantiate(Resources.Load <GameObject>("light/playerLight")) as GameObject;

            light.transform.parent        = player.transform;
            light.transform.localPosition = Vector3.zero;

            NetDebug.netDebug.AddConsole("LevelInit::Awake Initial kbplayer Initial KbNetowrkView " + kbplayer + " " + view);
            return(player);
        }
Ejemplo n.º 26
0
        void Awake()
        {
            var body = NGUITools.AddMissingComponent <Rigidbody>(gameObject);

            body.useGravity     = false;
            body.freezeRotation = true;
            body.isKinematic    = true;
            oldScale            = transform.localScale;
            Debug.LogError("OldScale: " + oldScale);

            /*
             * var tower = transform.FindChild("tower/tower2");
             * tower.localRotation = Quaternion.Euler(new Vector3(-90, -128, 0));
             */
        }
Ejemplo n.º 27
0
        void Start()
        {
            runner = transform.parent.GetComponent <SkillLayoutRunner>();
            var attacker = runner.stateMachine.attacker;

            if (runner.BeamTargetPos != Vector3.zero)
            {
                if (Particle != null)
                {
                    GameObject g = Instantiate(Particle) as GameObject;
                    NGUITools.AddMissingComponent <RemoveSelf> (g);
                    g.transform.parent   = ObjectManager.objectManager.transform;
                    g.transform.position = runner.BeamTargetPos + ParticlePos;
                }
            }
        }
Ejemplo n.º 28
0
        IEnumerator KnockDie()
        {
            GameObject attacker      = GetEvent().attacker;
            Vector3    moveDirection = Vector3.zero;

            if (attacker != null)
            {
                moveDirection = GetAttr().transform.position - attacker.transform.position;
            }
            else
            {
                moveDirection = -GetAttr().transform.forward;
            }
            moveDirection.y = 0;

            var   physic      = GetAttr().GetComponent <PhysicComponent>();
            float curFlySpeed = 0;
            float passTime    = 0;

            while (passTime < KnockFlyTime)
            {
                curFlySpeed = Mathf.Lerp(curFlySpeed, FlySpeed, 5 * Time.deltaTime);
                var movement = moveDirection * curFlySpeed;
                physic.MoveSpeed(movement);
                passTime += Time.deltaTime;
                yield return(null);
            }

            float stopTime = 0;

            while (stopTime < StopKnockTime)
            {
                curFlySpeed = Mathf.Lerp(curFlySpeed, 0, 5 * Time.deltaTime);
                var movement = moveDirection * curFlySpeed;
                physic.MoveSpeed(movement);
                stopTime += Time.deltaTime;
                yield return(null);
            }

            var deathBlood = GameObject.Instantiate(Resources.Load <GameObject>("particles/deathblood")) as GameObject;

            deathBlood.transform.parent        = ObjectManager.objectManager.transform;
            deathBlood.transform.localPosition = GetAttr().transform.localPosition + Vector3.up * 0.1f;
            deathBlood.transform.localRotation = Quaternion.identity;
            deathBlood.transform.localScale    = Vector3.one;
            NGUITools.AddMissingComponent <RemoveSelf>(deathBlood);
        }
Ejemplo n.º 29
0
        IEnumerator Birth()
        {
            if (CheckAni("spawn"))
            {
                SetAttrState(CharacterState.Birth);

                PlayAni("spawn", 2, WrapMode.Once);

                if (GetAttr().ObjUnitData.SpawnEffect != "")
                {
                    GameObject g = GameObject.Instantiate(Resources.Load <GameObject>(GetAttr().ObjUnitData.SpawnEffect)) as GameObject;
                    g.transform.parent   = SaveGame.saveGame.EffectMainNode.transform;
                    g.transform.position = GetAttr().transform.position;
                    NGUITools.AddMissingComponent <RemoveSelf>(g);
                }
                //yield return GetAttr ().StartCoroutine (Util.WaitForAnimation (GetAttr ().animation));
                yield return(new WaitForSeconds(1f));

                SetAttrState(CharacterState.Idle);
                SetAni("idle", 1, WrapMode.Loop);
            }
            else
            {
                SetAni("idle", 1, WrapMode.Once);
                GameObject g = null;
                if (GetAttr().ObjUnitData.SpawnEffect != "")
                {
                    g = GameObject.Instantiate(Resources.Load <GameObject>(GetAttr().ObjUnitData.SpawnEffect)) as GameObject;
                }
                else
                {
                    g = GameObject.Instantiate(Resources.Load <GameObject>("particles/playerskills/impsummon")) as GameObject;
                }
                //g.transform.parent = SaveGame.saveGame.EffectMainNode.transform;
                g.transform.position = GetAttr().transform.position;
                NGUITools.AddMissingComponent <RemoveSelf>(g);
                //yield return GetAttr ().StartCoroutine (Util.WaitForAnimation (GetAttr ().animation));
                yield return(new WaitForSeconds(1f));

                SetAttrState(CharacterState.Idle);
                SetAni("idle", 1, WrapMode.Loop);
            }
            birthYet = true;
            var rd = Random.Range(1, 3);

            BackgroundSound.Instance.PlayEffectPos("batmanspawn" + rd, GetAttr().transform.position);
        }
Ejemplo n.º 30
0
    public static TweenPlay AddClickTween(GameObject go, out TweenPosition tweenPosition)
    {
        tweenPosition          = NGUITools.AddMissingComponent <TweenPosition>(go);
        tweenPosition.duration = 0.3f;
        tweenPosition.enabled  = false;
        TweenAlphas tweenAlphas = NGUITools.AddMissingComponent <TweenAlphas>(go);

        tweenAlphas.duration = 0.3f;
        tweenAlphas.from     = 0f;
        tweenAlphas.enabled  = false;
        TweenScale tweenScale = NGUITools.AddMissingComponent <TweenScale>(go);

        tweenScale.duration = 0.3f;
        tweenScale.from     = new Vector3(0.2f, 0.2f, 0.2f);
        tweenScale.enabled  = false;
        return(NGUITools.AddMissingComponent <TweenPlay>(go));
    }