Ejemplo n.º 1
0
    void OnGUI()
    {
        if (gameObject == null || Camera.main == null)
        {
            return;
        }

        if (!Trans.FindObj(gameObject, "visible").GetComponent <MeshRenderer>().isVisible)
        {
            return;
        }

        Vector3 worldPosition = new Vector3(transform.position.x, transform.position.y + npcHeight, transform.position.z);

        if (playerCamera == null)
        {
            playerCamera = Camera.main;
        }

        //根据NPC头顶的3D坐标换算成它在2D屏幕中的坐标
        Vector2 uiposition = playerCamera.WorldToScreenPoint(worldPosition);

        //得到真实NPC头顶的2D坐标
        uiposition = new Vector2(uiposition.x, Screen.height - uiposition.y);

        //计算NPC名称的宽高
        Vector2 nameSize = GUI.skin.label.CalcSize(new GUIContent(entity_name));

        //设置显示颜色为黄色
        GUI.color = entity_type == "Mine" ? Color.red :Color.green;

        //绘制NPC名称
        GUI.Label(new Rect(uiposition.x - (nameSize.x / 2), uiposition.y - nameSize.y - 5.0f, nameSize.x, nameSize.y), entity_name);
    }
Ejemplo n.º 2
0
    public override IEnumerator LoadMaerialPo()
    {
        yield return(new WaitForFixedUpdate());

        //------------------------材质球--------------------
        ship_normal = (Material)Resources.Load("character/spacecraft04/material/spacecraft04");
        if (ship_normal == null)
        {
            Debug.LogError("not found ship_normal!!!");
        }

        ship_po = (Material)Resources.Load("character/spacecraft04/material/spacecraft04_po");
        if (ship_po == null)
        {
            Debug.LogError("not found ship_po!!!");
        }
        //-----------------------预制体-----------------------
        ship_smoke = (GameObject)Resources.Load("character/spacecraft04/effect/prefab/spacecraft04_maoyan");
        if (ship_smoke == null)
        {
            Debug.LogError("not found ship_smoke!!!");
        }

        ship_explosion = (GameObject)Resources.Load("character/spacecraft04/effect/prefab/spacecraft04_baozha");
        if (ship_explosion == null)
        {
            Debug.LogError("not found ship_explosion!!!");
        }

        ship_cannon = (GameObject)Resources.Load("character/spacecraft04/effect/prefab/spacecraft04_zhupaoxuli");
        if (ship_cannon == null)
        {
            Debug.LogError("not found ship_cannon!!!");
        }

        //------------------挂载节点---------------------------
        ship_Body = Trans.FindObj(gameObject, "SF_DestroyerFBX_body"); //破损材质球节点
        if (ship_Body == null)
        {
            Debug.LogError("not found ship_Body!!!");
        }

        ship_frame = Trans.FindObj(gameObject, "body"); //爆炸特效挂在节点
        if (ship_frame == null)
        {
            Debug.LogError("not found ship_frame!!!");
        }

        ship_explosion_around = Trans.FindObj(gameObject, "spacecraft04_baozhazoushen"); //周身爆炸特效节点
        if (ship_explosion_around == null)
        {
            Debug.LogError("not found ship_explosion_around!!!");
        }

        weapon_born = Trans.FindObj(gameObject, "weapon_born_30001"); //周身爆炸特效节点
        if (weapon_born == null)
        {
            Debug.LogError("not found weapon_born_30001!!!");
        }
    }
Ejemplo n.º 3
0
    void Start()
    {
        missile = Trans.FindObj(gameObject, "spacecraft04_paodan");

        position    = missile.transform.position;
        EulerAngles = missile.transform.eulerAngles;

        LocalPosition    = missile.transform.localPosition;
        LocalEulerAngles = missile.transform.localEulerAngles;


        Debug.Log("missile." + "position:" + missile.transform.position
                  + "eulerAngles:" + missile.transform.eulerAngles
//            + ",rotation.eulerAngles:" + missile.transform.rotation.eulerAngles
                  + ",rotation:" + missile.transform.rotation
                  + "localPosition:" + missile.transform.localPosition
                  + "localEulerAngles:" + missile.transform.localEulerAngles
                  + "localRotation:" + missile.transform.localRotation
                  );

        // 获取原生值
        System.Type  transformType = missile.transform.GetType();
        PropertyInfo m_propertyInfo_rotationOrder     = transformType.GetProperty("rotationOrder", BindingFlags.Instance | BindingFlags.NonPublic);
        object       m_OldRotationOrder               = m_propertyInfo_rotationOrder.GetValue(missile.transform, null);
        MethodInfo   m_methodInfo_GetLocalEulerAngles = transformType.GetMethod("GetLocalEulerAngles", BindingFlags.Instance | BindingFlags.NonPublic);
        object       value = m_methodInfo_GetLocalEulerAngles.Invoke(missile.transform, new object[] { m_OldRotationOrder });


        Debug.LogError("反射调用GetLocalEulerAngles方法获得的值:" + value.ToString());
        Debug.LogError("transform.localEulerAngles获取的值:" + missile.transform.localEulerAngles.ToString());
    }
Ejemplo n.º 4
0
    public virtual void SetExpProgressBar()
    {
        if (!isMyShip())
        {
            return;
        }

        GameObject exp_bar = Trans.FindObj(Camera.main.gameObject, "expIcon");

        if (exp_bar == null)
        {
            Debug.LogError("exp_bar not found!!");
            return;
        }

        if (_attri.EXP_Max >= _attri.Exp && _attri.EXP_Max > 0)
        {
            //           Debug.Log(name + "::Hp :" + Hp + ",HP_MAX:" + HP_MAX);

            float exp_percent = _attri.Exp / (_attri.EXP_Max * 1.0f) * ExpBar.expbar_count;

            ExpBar exp_script = exp_bar.GetComponent <ExpBar>();

            exp_script.SetExpProcessBar((int)exp_percent);
        }
    }
Ejemplo n.º 5
0
    void InitSparks()
    {
        sparks_left_1 = Trans.FindObj(gameObject, "locator1").transform.Find("spacecraft02_pao").gameObject;
        if (sparks_left_1 == null)
        {
            Debug.LogError("sparks_left_1 not found!!");
        }

        sparks_left_2 = Trans.FindObj(gameObject, "locator2").transform.Find("spacecraft02_pao").gameObject;;
        if (sparks_left_2 == null)
        {
            Debug.LogError("sparks_left_2 not found!!");
        }

        sparks_right_1 = Trans.FindObj(gameObject, "locator3").transform.Find("spacecraft02_pao").gameObject;;
        if (sparks_right_1 == null)
        {
            Debug.LogError("sparks_right_1 not found!!");
        }

        sparks_right_2 = Trans.FindObj(gameObject, "locator4").transform.Find("spacecraft02_pao").gameObject;;
        if (sparks_right_2 == null)
        {
            Debug.LogError("sparks_right_2 not found!!");
        }
    }
Ejemplo n.º 6
0
    // Use this for initialization
    void Start()
    {
        Button btn = Trans.FindObj(gameObject, "ReturnButton").GetComponent <Button>();

        if (btn == null)
        {
            Debug.Log("can not found ReturnButton!");
        }
        btn.onClick.AddListener(OnClick);
    }
Ejemplo n.º 7
0
    public void CastSpell(UInt32 nID)
    {
        Unity.Logout.Log("FireWeapon::CastSpell:nID=" + nID);

        if (gameObject == null)
        {
            return;
        }

        if (_FireConditions.Count <= 0)
        {
            return;
        }

        foreach (var condition in _FireConditions[nID])
        {
            if (!condition.CanFire(_Weapons[nID]))
            {
                return;
            }
        }
        _Weapons[nID].Duration = _Weapons[nID].CooldownTime;

        myship.PlaySparksEffect();

        weapon_parent = Trans.FindObj(gameObject, "weapon_born_" + nID);
        if (weapon_parent == null)
        {
            Debug.LogError("not found " + "weapon_born_" + nID);
        }

        string logStr = "FireWeapon::CastSpell: " +
                        "position:" + weapon_parent.transform.position +
                        ",eulerAngles:" + weapon_parent.transform.eulerAngles +
                        ",forward:" + weapon_parent.transform.forward;

        Debug.Log(logStr);
        Unity.Logout.Log(logStr);


        KBEngine.Event.fireIn("useWeapon",
                              weapon_parent.transform.position,
                              weapon_parent.transform.eulerAngles,
                              weapon_parent.transform.forward, nID);


        GameObject BarObj = Trans.FindObj(Camera.main.gameObject, _Weapons[nID].BarNode);

        if (BarObj != null)
        {
            Progressbar BarScript = BarObj.GetComponent <Progressbar>();
            BarScript.Progressbar_WeaponBronEvent(_Weapons[nID]);
        }
    }
Ejemplo n.º 8
0
    public override IEnumerator LoadMaerialPo()
    {
        yield return(new WaitForFixedUpdate());

        //------------------------材质球--------------------
        ship_normal = (Material)Resources.Load("character/spacecraft02/material/Copperhead_Desert");
        if (ship_normal == null)
        {
            Debug.LogError("not found ship_normal!!!");
        }

        ship_po = (Material)Resources.Load("character/spacecraft02/material/Copperhead_Desert-po");
        if (ship_po == null)
        {
            Debug.LogError("not found ship_po!!!");
        }
        //-----------------------预制体-----------------------
        ship_smoke = (GameObject)Resources.Load("character/spacecraft02/effect/prefab/spacecraft02_maoyan");
        if (ship_smoke == null)
        {
            Debug.LogError("not found ship_smoke!!!");
        }

        ship_explosion = (GameObject)Resources.Load("character/spacecraft02/effect/prefab/spacecraft02_baozha");
        if (ship_explosion == null)
        {
            Debug.LogError("not found ship_explosion!!!");
        }
        //------------------挂载节点---------------------------
        ship_Body = Trans.FindObj(gameObject, "pasted__Body");
        if (ship_Body == null)
        {
            Debug.LogError("not found ship_Body!!!");
        }

        left_engine = Trans.FindObj(gameObject, "pasted__EngineLeft");
        if (left_engine == null)
        {
            Debug.LogError("not found left_engine!!!");
        }

        right_engine = Trans.FindObj(gameObject, "pasted__EngineRight");
        if (right_engine == null)
        {
            Debug.LogError("not found right_engine!!!");
        }

        ship_frame = Trans.FindObj(gameObject, "spacecraft02_zhuti");
        if (ship_frame == null)
        {
            Debug.LogError("not found ship_frame!!!");
        }
    }
Ejemplo n.º 9
0
    void Start()
    {
        for (int i = 1; i <= expbar_count; i++)
        {
            GameObject expcd = Trans.FindObj(gameObject, "expcd_" + i);
            if (expcd == null)
            {
                Debug.LogError("expcd_" + i + ",not found!");
                continue;
            }
            expbar_list.Add(expcd);
        }

        ResetExpProcess();
    }
Ejemplo n.º 10
0
    public override void InitPengHuo()
    {
        penghuo_left_1 = Trans.FindObj(gameObject, "penhuo_left_1").GetComponent <ParticleSystemRenderer>();
        penghuo_left_2 = Trans.FindObj(gameObject, "penhuo_left_2").GetComponent <ParticleSystemRenderer>();
        penghuo_left_3 = Trans.FindObj(gameObject, "penhuo_left_3").GetComponent <ParticleSystemRenderer>();

        penghuo_right_1 = Trans.FindObj(gameObject, "penhuo_right_1").GetComponent <ParticleSystemRenderer>();
        penghuo_right_2 = Trans.FindObj(gameObject, "penhuo_right_2").GetComponent <ParticleSystemRenderer>();
        penghuo_right_3 = Trans.FindObj(gameObject, "penhuo_right_3").GetComponent <ParticleSystemRenderer>();

        if (penghuo_left_1 == null || penghuo_left_2 == null || penghuo_left_2 == null ||
            penghuo_right_1 == null || penghuo_right_2 == null || penghuo_right_3 == null)
        {
            Debug.LogError("ship02::InitPengHuo null");
        }
    }
Ejemplo n.º 11
0
    public void recvDamage(KBEngine.Entity entity, Int32 attackerID, Int32 weaponID, Int32 damageType, Int32 damage)
    {
        Debug.Log("World::recvDamage: " + entity.id + ",attackerID:" + attackerID + ",weaponID:" + weaponID
                  + ",damageType:" + damageType + ",damage:" + damage);

        if (gameObject == null || entity.renderObj == null || entity.className != "Avatar" || entity.isPlayer())
        {
            return;
        }

        GameObject hp_bar = Trans.FindObj(((GameObject)entity.renderObj).gameObject, "enemy_hp_bar");

        if (hp_bar != null)
        {
            hp_bar.SetActive(true);
        }
    }
Ejemplo n.º 12
0
    public virtual void SetHpProgressBar()
    {
        GameObject hp_bar = isMyShip() ? Trans.FindObj(Camera.main.gameObject, "hp_cd") : Trans.FindObj(gameObject, "enemy_hp_bar");

        if (hp_bar == null)
        {
            Debug.LogError("hp_bar not found!!");
            return;
        }

        if (_attri.HP_MAX >= _attri.Hp && _attri.HP_MAX > 0)
        {
            //           Debug.Log(name + "::Hp :" + Hp + ",HP_MAX:" + HP_MAX);

            float         hp_percent = _attri.Hp / (_attri.HP_MAX * 1.0f);
            HpProgressBar hp_script  = hp_bar.GetComponent <HpProgressBar>();
            hp_script.SetProgressBar(hp_percent);
        }
    }
Ejemplo n.º 13
0
    void Start()
    {
        accoutName = Trans.FindObj(gameObject, "AccountInput").GetComponent <InputField>();
        password   = Trans.FindObj(gameObject, "PasswdInput").GetComponent <InputField>();

        if (accoutName == null || password == null)
        {
            Debug.Log("can not found accoutName or password obj!!");
            return;
        }

        Button btn = Trans.FindObj(gameObject, "StartButton").GetComponent <Button>();

        if (btn == null)
        {
            Debug.Log("can not found StartButton!");
        }
        btn.onClick.AddListener(OnClick);
    }
Ejemplo n.º 14
0
    void Start()
    {
        GameObject weapon_parent = Trans.FindObj(gameObject, "weapon_born_" + nID);

        if (weapon_parent == null)
        {
            Debug.LogError("not found " + "weapon_born_" + nID);
        }

        GameObject prefab = Resources.Load <GameObject>("character/spacecraft02/prefab/shoot_" + nID);

        clone_perfab = GameObject.Instantiate(prefab, weapon_parent.transform.position, weapon_parent.transform.rotation);
        clone_perfab.transform.parent = weapon_parent.transform;

        position  = transform.TransformPoint(clone_perfab.transform.position);
        direciton = transform.TransformPoint(clone_perfab.transform.rotation.eulerAngles);
        forward   = transform.TransformPoint(clone_perfab.transform.forward);

        StartCoroutine(onDestory());
    }
Ejemplo n.º 15
0
    public override IEnumerator LoadMaerialPo()
    {
        yield return(new WaitForFixedUpdate());

        //------------------------材质球--------------------
        ship_normal = (Material)Resources.Load("character/spacecraft01/material/spacecraft01");
        if (ship_normal == null)
        {
            Debug.LogError("not found ship_normal!!!");
        }

        ship_po = (Material)Resources.Load("character/spacecraft01/material/spacecraft01-po");
        if (ship_po == null)
        {
            Debug.LogError("not found ship_po!!!");
        }
        //-----------------------预制体-----------------------
        ship_smoke = (GameObject)Resources.Load("character/spacecraft01/effect/prefab/spacecraft01_maoyan");
        if (ship_smoke == null)
        {
            Debug.LogError("not found ship_smoke!!!");
        }

        ship_explosion = (GameObject)Resources.Load("character/spacecraft01/effect/prefab/spacecraft_baozha");
        if (ship_explosion == null)
        {
            Debug.LogError("not found ship_explosion!!!");
        }
        //------------------挂载节点---------------------------
        ship_Body = Trans.FindObj(gameObject, "spacecraft01_body");
        if (ship_Body == null)
        {
            Debug.LogError("not found ship_Body!!!");
        }

        ship_frame = Trans.FindObj(gameObject, "locator14");
        if (ship_frame == null)
        {
            Debug.LogError("not found ship_frame!!!");
        }
    }
Ejemplo n.º 16
0
    void Start()
    {
        weapon_parent = Trans.FindObj(gameObject, "weapon_born_" + nID);
        if (weapon_parent == null)
        {
            Debug.LogError("not found " + "weapon_born_" + nID);
        }

        Radian       = Trans.ToRotation(weapon_parent.transform.eulerAngles);
        kbQua        = Quaternion.Euler(Radian);
        soQua        = Quaternion.Euler(weapon_parent.transform.eulerAngles);
        typQua       = weapon_parent.transform.rotation;
        localforward = weapon_parent.transform.forward;
        worldforward = weapon_parent.transform.TransformPoint(localforward);
        shipforward  = weapon_parent.transform.TransformPoint(localforward);

        GameObject prefab = Resources.Load <GameObject>("character/spacecraft02/prefab/shoot_" + nID);

        clone_perfab = GameObject.Instantiate(prefab, weapon_parent.transform.position, soQua);
        //       clone_perfab.transform.parent = weapon_parent.transform;
    }
Ejemplo n.º 17
0
    void Start()
    {
        Debug.Log(name + "::Start()");

        hp_slider = GetComponentInChildren <Slider>();

        if (hp_slider == null)
        {
            Debug.LogError("hp_slider not found!!");
        }

        SetPercent();

        GameObject fill_obj = Trans.FindObj(gameObject, "Fill");

        if (fill_obj == null)
        {
            Debug.LogError("fill_obj not found!!");
        }

        fill_image = fill_obj.GetComponent <Image>();
    }