/// <summary>
    /// 飞行出蹦蹦
    /// </summary>
    private void FlyPet()
    {
        DelHandPet();
        Pet pet = new Pet();

        pet.CreateSkin(m_Skin.tRoot.parent, 1002, "1002", AnimatorState.FlyClick00300, m_LifePrent.m_Core.m_IsPlayer);
        // IGameRole i = GameRoleFactory.Create(m_Skin.tRoot.parent, 1002, "1002", AnimatorState.FlyClick00300);
        GameObject goPet    = pet.PetSkinCom.tRoot.gameObject;
        GameObject navelpos = m_Skin.ProPerty.HelpPoint.GetVauleByKey(HelpPointName.NavelPos);

        if (navelpos != null)
        {
            goPet.transform.position = navelpos.transform.position;
        }
        U3DUtil.SetZ(goPet.transform.position, -1f);
        LifeObj lo = goPet.AddComponent <LifeObj>();

        m_FlyCollisionInfo.SummonPet = goPet;

        pet.SetBorn(m_LifePrent, 1002001, 1002, m_LifePrent.m_thisT.position);
        pet.SetSkin();
        //pet.SetMoveState(MoveState.Fly);
        if (m_LifePrent is Role)
        {
            (m_LifePrent as Role).CurPet = pet;
        }
        lo.SetLife(pet, pet.PetSkinCom.ProPerty);
    }
Exemple #2
0
    /// <summary>
    /// 战前NPC对话
    /// </summary>
    private void DoStartTalks(List <CounterPartDialogUnit> ltalk)
    {
        if (ltalk.Count == 0)
        {
            return;
        }
        MyHead.btnCombat.enabled = false;
        List <int>          lNpcID    = new List <int>();
        List <string>       lStrTalks = new List <string>();
        List <NpcDirection> lWndDirs  = new List <NpcDirection>();

        foreach (CounterPartDialogUnit t in ltalk)
        {
            lNpcID.Add(t.npcid);
            lStrTalks.Add(t.talk);
            lWndDirs.Add((NpcDirection)t.position);
        }
        NpcTalksWnd wnd = WndManager.GetDialog <NpcTalksWnd>();

        wnd.SetData(lNpcID, lStrTalks, lWndDirs);
        ViewStageScene scene = SceneM.GetCurIScene() as ViewStageScene;

        if (scene != null && scene.GoldTransform != null)
        {
            Transform tGoldRoom = scene.GoldTransform;
            LifeObj   obj       = tGoldRoom.GetComponent <LifeObj>();
            if (obj != null)
            {
                Vector3 pos = obj.GetLife().GetLifeProp().HelpPoint.GetVauleByKey(BuildHelpPointName.guidePos).transform.position;
                wnd.SetWndStyle(2, pos);
            }
        }
    }
Exemple #3
0
    /// <summary>
    /// Role 与lifeobj的关联
    /// </summary>
    /// <param name="t">角色对象的Transform</param>
    /// <param name="Info">角色信息</param>
    /// <param name="Camp">阵营</param>
    /// <param name="DataID">战斗环境中的DataID,其他环境填0 就可</param>
    /// <param name="moveState">运动状态</param>
    /// <param name="Environment">对象所出环境</param>
    public static Role ConnectRoleLife(Transform Tstart, AnimatorState state, SoldierInfo Info, LifeMCamp Camp, int DataID, MoveState moveState, Int2 BornPos, LifeEnvironment Environment)
    {
        Role RoleLife = new Role();
        bool IsPlayer = CmCarbon.GetCamp2Player(Camp);
        int  RoleType = Info.m_modeltype;

        if (RoleType == 102003)
        {
            RoleType = 1020032;
        }
        if (RoleType == 200009)
        {
            RoleType = 2000092;
        }
        RoleLife.CreateSkin(Tstart, RoleType, Info.m_name, state, IsPlayer);
        RoleLife.SetRoleLife(Info, RoleLife.RoleSkinCom.ProPerty, Environment);
        LifeObj building = RoleLife.RoleSkinCom.tRoot.gameObject.AddComponent <LifeObj>();

        if (building != null)
        {
            if (Environment == LifeEnvironment.Combat)
            {
                RoleLife.SetLifeCore(new LifeMCore(DataID, IsPlayer, LifeMType.SOLDIER, Camp, moveState));
                RoleLife.SetSkin();
            }
            if (moveState == MoveState.Walk)
            {
                RoleLife.MoveAI.SetBornPos(BornPos, 0);
            }
            building.SetLife(RoleLife as Life, RoleLife.RoleSkinCom.ProPerty);
        }
        return(RoleLife);
    }
Exemple #4
0
    /// <summary>
    /// 获取炮战对象
    /// </summary>
    private Life GetCollisionGo(Collision collision)
    {
        Transform T             = collision.transform;
        int       collisionGoID = T.gameObject.GetInstanceID();

        if (m_listCollisionGoID.Contains(collisionGoID))
        {
            return(null);
        }
        //m_listCollisionGoID.Add(collisionGoID);
        //墙板,建筑等对象
        LifeObj l = T.GetComponent <LifeObj>();

        if (l == null)
        {
            l = T.GetComponentInParent <LifeObj>();
            if (l == null)
            {
                return(null);
            }
        }

        Life life = l.GetLife();

        //角色对象
        if (life == null)
        {
            Transform t = T.parent;
            if (t == null)
            {
                return(null);
            }
            l = t.GetComponent <LifeObj>();
            if (t == null)
            {
                return(null);
            }

            Role w = l.GetLife() as Role;
            if (w == null)
            {
                return(null);
            }
            if (w.m_Core.m_Camp == LifeMCamp.DEFENSE)
            {
                m_listCollisionGoID.Add(collisionGoID);
            }
            return(w as Life);
        }
        else
        {
            if (life.m_Core.m_Camp == LifeMCamp.DEFENSE)
            {
                m_listCollisionGoID.Add(collisionGoID);
            }
            return(life);
        }
    }
Exemple #5
0
    public static Role CreateRole(Transform Tstart, SoldierInfo s, bool isPlayer, Vector3 wordpos, AnimatorState state, bool isplayer)
    {
        //Transform t	= BattleEnvironmentM.GetLifeMBornNode(true);
        //IGameRole iRole= GameRoleFactory.Create(t, s.m_modeltype, s.m_name, state);
        //iRole.GetRolePropertyM().SetCampModel(isPlayer,LifeMCamp.ATTACK);
        Role RoleLife = new Role();

        RoleLife.CreateSkin(Tstart, s.m_modeltype, s.m_name, state, isplayer);
        RoleLife.RoleSkinCom.tRoot.parent   = Tstart;
        RoleLife.RoleSkinCom.tRoot.position = wordpos;

        RoleLife.SetRoleLife(s, RoleLife.RoleSkinCom.GetRolePropertyM(), LifeEnvironment.Combat);
        LifeObj building = RoleLife.RoleSkinCom.tRoot.gameObject.AddComponent <LifeObj>();

        building.SetLife(RoleLife as Life, RoleLife.RoleSkinCom.ProPerty);
        return(RoleLife);
    }
Exemple #6
0
    /// <summary>
    /// 创建房间
    /// </summary>
    /// <param name="Info">建筑数据</param>
    /// <param name="DataID">战斗环境中的DataID,其他环境填0 就可</param>
    /// <param name="Parent">挂载点</param>
    /// <param name="Parent">环境</param>
    /// <returns></returns>
    public static Building CreateBuilding(BuildInfo Info, int DataID, Transform Parent, Vector3 WorldPos, LifeEnvironment Environment)
    {
        Life.Environment = Environment;
        if (Info == null || Parent == null)
        {
            return(null);
        }
        LifeProperty Property = CreateBuildSkin(Info, Parent, WorldPos);

        if (Property == null)
        {
            return(null);
        }
        Building buildlife = ConnectBuildingLife(Property, Info, DataID, Environment);
        LifeObj  building  = Property.transform.parent.gameObject.AddComponent <LifeObj>();

        if (Property != null && building != null)
        {
            building.SetLife(buildlife as Life, Property);
        }

        return(buildlife);
    }
    void CreatePet()
    {
        HideHandPet();
        Pet pet = new Pet();

        pet.CreateSkin(BattleEnvironmentM.GetLifeMBornNode(true), 1002, "1002", AnimatorState.FlyClick00300, m_LifePrent.m_Core.m_IsPlayer);
        //IGameRole i = GameRoleFactory.Create(BattleEnvironmentM.GetLifeMBornNode(true), 1002, "1002", AnimatorState.FlyClick00300);
        GameObject goPet = pet.PetSkinCom.tRoot.gameObject;

        goPet.transform.position = m_Skin.ProPerty.HelpPoint.GetVauleByKey(HelpPointName.petFollowPos).transform.position;
        LifeObj lo     = goPet.AddComponent <LifeObj>();
        Int2    toGrid = m_LifePrent.GetMapPos();

        pet.SetBorn(m_LifePrent, 1002001, 1002, toGrid, m_LifePrent.WalkDir);
        pet.SetSkin();
        if (m_LifePrent is Role)
        {
            (m_LifePrent as Role).CurPet = pet;
            //pet.SetMoveState(MoveState.Walk);
            // pet.m_petState = Pet1002State.Follow;
        }
        lo.SetLife(pet, pet.PetSkinCom.ProPerty);
    }
Exemple #8
0
    /// <summary>
    /// 创建宠物
    /// </summary>
    private SummonPet CreatePet(int PetDataID, MapGrid StartGrid)
    {
        SummonpetInfo info = SummonM.GetSummonPetInfo(PetDataID);
        SummonPet     pet  = new SummonPet();

        pet.CreateSkin(BattleEnvironmentM.GetLifeMBornNode(true), info.m_modeltype, info.m_modeltype.ToString(), AnimatorState.Empty, true);
        //IGameRole i = GameRoleFactory.Create(BattleEnvironmentM.GetLifeMBornNode(true), info.m_modeltype, info.m_modeltype.ToString(), AnimatorState.Empty);
        GameObject go      = pet.RoleSkinCom.tRoot.gameObject;
        Vector3    pos     = Vector3.zero;
        string     posname = "";
        LifeObj    lo      = go.AddComponent <LifeObj>();

        pet.SetSummonPetLife(info, pet.RoleSkinCom.ProPerty, LifeEnvironment.Combat);
        pet.SetLifeCore(new LifeMCore(PetDataID, true, LifeMType.SUMMONPET, Camp, MoveState.Walk));
        pet.SetSkin();
        pet.SetBornPos(StartGrid.GridPos, 0);
        lo.SetLife(pet, pet.RoleSkinCom.ProPerty);
        go.transform.parent = BattleEnvironmentM.GetLifeMBornNode(true);
        Vector3 start = StartGrid.WorldPos;

        start.z = Camera.main.transform.position.z;
        go.transform.position = start;
        return(pet);
    }