Example #1
0
    private void CreateMonster(int index, MonsterType type = MonsterType.Rubbish)
    {
        ModelMonsterData data     = GetModel <MMonsterData>().GetMonsterData(type);
        GameObject       monster  = GameObject.Instantiate(data.Prefab);
        string           nodeName = string.Concat(data.PrefabName, index);

        monster.name = nodeName;
        monster.transform.SetParent(m_parent);
        monster.transform.position = data.GetScenePostion();
        ModelMonster script = new ModelMonster(monster, data, type);

        if (m_dicNameMonster.ContainsKey(nodeName))
        {
            m_dicNameMonster[nodeName] = script;
        }
        else
        {
            m_dicNameMonster.Add(nodeName, script);
        }
        m_listMonster.Add(script);
        Vector3 screenPos = GameSceneManager.ToScreenPoint(monster.transform.position);

        script.HPPosY = ModelRoleManager.GetModelRoleHpPosY(data.PrefabName);
        float distance = GameSceneManager.DistanceToCamera(monster.transform.position);
        ModelMonsterHPData hpProcessData = new ModelMonsterHPData(monster.name, screenPos, script.HPPosY, distance);

        EventManager.Dispatch(GameMoudle.Player, GameEvent.Type.MonsterCreate, hpProcessData);
    }
    private void MonsterMove(object arg)
    {
        ModelMonsterHPData data = (ModelMonsterHPData)arg;

        data = GetScaleData(data);
        m_playerView.MoveHPProcess(data.prefabName, data.position, data.scale);
    }
Example #3
0
 private void LastUpdate(object arg)
 {
     for (int i = 0; i < m_listMonster.Count; i++)
     {
         string  nodeName = m_listMonster[i].gameObject.name;
         Vector3 position = m_listMonster[i].transform.position;
         position = GameSceneManager.ToScreenPoint(position);
         float distance          = GameSceneManager.DistanceToCamera(m_listMonster[i].transform.position);
         ModelMonsterHPData data = new ModelMonsterHPData(nodeName, position, m_listMonster[i].HPPosY, distance);
         EventManager.Dispatch(GameMoudle.Player, GameEvent.Type.MonsterMove, data);
     }
 }
    private ModelMonsterHPData GetScaleData(ModelMonsterHPData data)
    {
        float scale = m_monsterScaleFlag / data.scale;

        if (scale > 1)
        {
            scale = 1;
        }
        Vector3 position = data.position;

        position.y   += data.positionFix * scale;
        data.position = position;
        data.scale    = scale;
        return(data);
    }