Esempio n. 1
0
 void Start()
 {
     if (PRC == null)
     {
         PRC = FindObjectOfType <PlayerRobotContral>();
     }
 }
Esempio n. 2
0
 // Use this for initialization
 void Start()
 {
     PRC  = FindObjectOfType <PlayerRobotContral>();
     SR   = GetComponent <SpriteRenderer>();
     BC2D = GetComponent <BoxCollider2D>();
     SetEnable(false);
 }
Esempio n. 3
0
        // Use this for initialization
        void Start()
        {
            EAI        = GetComponent <EnemyAi>();
            SR         = GetComponent <SpriteRenderer>();
            EAI.EC     = this;
            Startpoint = transform.position;
            AiStart    = true;

            prc = GameObject.FindObjectOfType <PlayerRobotContral>();
        }
Esempio n. 4
0
        public PlayerRobot(PlayerRobotContral PRC, BaseCore core, float moveSpeed)
        {
            Core      = core;
            MoveSpeed = moveSpeed;
            CurrentHp = MaxHp = core.CurrentHpPoint;
            CurrentMp = MaxMp = core.TotalPoint - core.CurrentHpPoint;

            this.PRC      = PRC;
            SecondAction += RecoverMp;
            SyncHpMp();
        }
Esempio n. 5
0
    //------------------------------------------------------

    protected virtual void Awake()
    {
        LeftOnce = RightOnce = LeftDowning = RightDowning = LeftDownEnergy = RightDownEnergy = LeftDownUping = RightDownUping = LeftDownUpingEnergy = RightDownUpingEnergy = false; //点击
        Gun_Data = new GunM();                                                                                                                                                      //枪数据

        //保存枪械信息
        SaveGunData();

        //获取角色控制类
        m_playerRobotContral = m_player.GetComponent <PlayerRobotContral>();
        //获取枪自身组件
        m_SpriteRenderer = GetComponent <SpriteRenderer>();
        //获取初始大小
        m_TransformScale = transform.localScale;
    }
Esempio n. 6
0
    void Start()
    {
        m_CircleCollider2D = GetComponent <CircleCollider2D>();

        switch (m_ProtectAimShieldType)
        {
        //玩家护盾
        case ShieldType.Player:
            m_PlayerRobotContral = ProtectAimGameObject.GetComponent <PlayerRobotContral>();
            break;

        //敌人护盾
        case ShieldType.Enemy:
            m_EnemyRobotContral = ProtectAimGameObject.GetComponent <EnemyContral>();
            break;
        }

        transform.parent = null;
    }
Esempio n. 7
0
 // Use this for initialization
 void Start()
 {
     EC  = transform.parent.GetComponent <EnemyContral>();
     PRC = FindObjectOfType <PlayerRobotContral>();
     SR  = GetComponent <SpriteRenderer>();
 }
Esempio n. 8
0
    IEnumerator GetInfo()
    {
        yield return(new WaitForSeconds(0.5f));

        while (true)
        {
            yield return(null);

            playerRobotContral = GameManager.Instance.PRC;

            m_CurrentHP           = playerRobotContral._mPlayerRobot.CurrentHp;
            m_CurrentMP           = playerRobotContral._mPlayerRobot.CurrentMp;
            m_CurrentMAXHP        = playerRobotContral._mPlayerRobot.MaxHp;
            m_CurrentMAXMP        = playerRobotContral._mPlayerRobot.MaxMp;
            MAXHPMPPercent        = m_CurrentMAXHP / (m_CurrentMAXHP + m_CurrentMAXMP) * 1.0f;
            m_CurrentCoreElement  = playerRobotContral._mPlayerRobot.Core.Element;
            m_CurrentLeftGunType  = WeaponManager.Instance.CurrentLeftGunType;
            m_CurrentRightGunType = WeaponManager.Instance.RightGunType;



            //赋值
            LeftGunPos.sprite = WeaponGuns[(int)m_CurrentLeftGunType];
            if (m_CurrentRightGunType != GunType.Null)
            {
                RightGunPos.sprite = WeaponGuns[(int)m_CurrentRightGunType];
            }
            else
            {
                RightGunPos.sprite = WeaponGuns[7];
            }


            CoreAttribute currentCoreAttribute = CoreAttribute.Initial;
            switch (m_CurrentCoreElement)
            {
            case BaseCore.CoreElement.Primary:
                currentCoreAttribute = CoreAttribute.Initial;
                break;

            case BaseCore.CoreElement.Fire:
                currentCoreAttribute = CoreAttribute.Fire;
                break;

            case BaseCore.CoreElement.Amethyst:
                currentCoreAttribute = CoreAttribute.Amethyst;
                break;

            case BaseCore.CoreElement.Ice:
                currentCoreAttribute = CoreAttribute.Frozen;
                break;
            }
            Corepos.sprite = Cores[(int)currentCoreAttribute];

            MainSlider[0].maxValue = MainSlider[1].maxValue = m_CurrentMAXMP + m_CurrentMAXHP;
            MainSlider[0].value    = m_CurrentMAXHP;
            MainSlider[1].value    = m_CurrentMAXMP;

            HPSlider.maxValue = m_CurrentMAXHP;
            MPSlider.maxValue = m_CurrentMAXMP;
            HPSlider.value    = m_CurrentHP;
            MPSlider.value    = m_CurrentMP;

            PartNums.text = WeaponManager.Instance.PartNums.ToString();
        }
    }
Esempio n. 9
0
 void Start()
 {
     prc = FindObjectOfType <PlayerRobotContral>();
 }
Esempio n. 10
0
    void Start()
    {
        #region 初始化(所有所有枪配对、设为不可见、所有脚本获取与配对)
        AllGunDic = new Dictionary <GunType, GameObject>
        {
            { GunType.AK47Gun, m_AK47Gun },
            { GunType.RevolverGun, m_RevolverGun },
            { GunType.ShotGun, m_ShotGun },
            { GunType.RocketGun, m_RocketGun },
            { GunType.AWMGun, m_AWMGun },
            { GunType.Sword, m_Sword },
            { GunType.Hammer, m_Hammer }
        };
        //脚本获取------ todo 可能出错,待定
        m_Ak47GunC     = m_AK47Gun.GetComponent <AK47GunC>();
        m_RevolverGunC = m_RevolverGun.GetComponent <RevolverGunC>();
        m_ShotGunC     = m_ShotGun.GetComponent <ShotGunC>();
        m_RocketGunC   = m_RocketGun.GetComponent <RocketGunC>();
        m_AWMGunC      = m_AWMGun.GetComponent <AWMGunC>();
        m_SwordGunC    = m_Sword.GetComponent <SwordGunC>();
        m_HammerGunC   = m_Hammer.GetComponent <HammerGunC>();
        AllGunCDic     = new Dictionary <GunType, GunC>
        {
            { GunType.AK47Gun, m_Ak47GunC },
            { GunType.RevolverGun, m_RevolverGunC },
            { GunType.ShotGun, m_ShotGunC },
            { GunType.RocketGun, m_RocketGunC },
            { GunType.AWMGun, m_AWMGunC },
            { GunType.Sword, m_SwordGunC },
            { GunType.Hammer, m_HammerGunC }
        };
        //所有抢设为不可见
        foreach (var keyValuePair in AllGunCDic)
        {
            keyValuePair.Value.SpriteRendererEnabled = false;
        }
        #endregion

        #region 初始化(当前已拥有枪【LeftGun与LeftGunType配对,RightGun与RightGunType配对】、修改枪的状态【普通or特殊】、主武器默认显示一把(Enable设置)、当前手里的武器(普通与特殊))
        //当前已有武器配对
        LeftGun           = new GameObject[3];
        GunTypePossession = new List <GunType>();
        for (int i = 0; i < LeftGunType.Length; i++)
        {
            if (LeftGunType[i] == GunType.Null)
            {
                continue;
            }
            //武器初始化
            GunTypePossession.Add(LeftGunType[i]);
            LeftGun[i] = AllGunDic[LeftGunType[i]];
            AllGunCDic[LeftGunType[i]].GunState = GunState.NormalState;//修改枪的状态【普通】
            AllGunCDic[LeftGunType[i]].IfGunCanUse(false);
        }
        //开始没有特殊武器
        //关闭特殊武器系统
        SpecialGunState = false;
        //RightGun = AllGunDic[RightGunType];
        //AllGunCDic[RightGunType].GunState = GunState.SpecialState;//修改枪的状态【特殊】
        //当前主武器默认显示第一把,并且设置Enable
        m_CurrentLeftGunType = LeftGunType[0];
        AllGunCDic[m_CurrentLeftGunType].SpriteRendererEnabled = true;//LeftGun[m_CurrentLeftGunIndex].SetActive(true);
        AllGunCDic[LeftGunType[m_CurrentLeftGunIndex]].IfGunCanUse(true);
        AllGunDic[LeftGunType[m_CurrentLeftGunIndex]].GetComponent <BoxCollider2D>().enabled = true;
        //当前手的武器(普通与特殊)类型复制
        m_CurrentLeftGunType = LeftGunType[m_CurrentLeftGunIndex];
        //m_CurrentRightGunType = RightGunType;
        #endregion

        //获取人物控制
        m_PlayerRobotContral = GameManager.Instance.PRC;

        CurrentWeaponPos = m_WeaponPos[5].position;
    }
Esempio n. 11
0
    private void Start()
    {
        PlayerControl = GameManager.Instance.PRC;
        #region 获取所有信息
        //核心
        foreach (BaseCore BC in BaseCore.CoreList)
        {
            switch (BC.Element)
            {
            case BaseCore.CoreElement.Primary:
                m_AllCoreType.Add(CoreAttribute.Initial);
                break;

            case BaseCore.CoreElement.Fire:
                m_AllCoreType.Add(CoreAttribute.Fire);
                break;

            case BaseCore.CoreElement.Amethyst:
                m_AllCoreType.Add(CoreAttribute.Amethyst);
                break;

            case BaseCore.CoreElement.Ice:
                m_AllCoreType.Add(CoreAttribute.Frozen);
                break;
            }
        }
        switch (PlayerControl._mPlayerRobot.Core.Element)
        {
        case BaseCore.CoreElement.Primary:
            m_CurrentCoreType = CoreAttribute.Initial;
            break;

        case BaseCore.CoreElement.Fire:
            m_CurrentCoreType = CoreAttribute.Fire;
            break;

        case BaseCore.CoreElement.Amethyst:
            m_CurrentCoreType = CoreAttribute.Amethyst;
            break;

        case BaseCore.CoreElement.Ice:
            m_CurrentCoreType = CoreAttribute.Frozen;
            break;
        }
        //m_AllCoreType当前拥有核心种类
        //m_CurrentCoreType当前核心种类
        //武器
        WeaponManager.Instance.GetAllGunTypeAndCurrentGunType(out m_AllGunType, out m_CurrentGunType);
        //m_AllGunType当前拥有的武器种类
        //m_CurrentGunType当前装配上的武器种类
        //HPMP
        PlayerControl.GetCurrentAndMaxHp(out m_CurrentHP, out m_CurrentMaxHP);
        PlayerControl.GetCurrentAndMaxMP(out m_CurrentMP, out m_CurrentMaxMP);
        //m_CurrentHP, m_CurrentMP当前主角拥有的HP与MP值
        //m_CurrentMaxHP, m_CurrentMaxMP当前主角最大的HP值和最大的MP值
        //商店
        m_PartNums = WeaponManager.Instance.PartNums;
        //m_PartNums零件数目
        m_RocketNums = WeaponManager.Instance.RocketGunNumber;
        // m_RocketNums火箭筒个数
        foreach (CoreAttribute CA in m_AllCoreType)
        {
            if (CA == CoreAttribute.Frozen)
            {
                m_HavingFrozenCore = true;
                break;
            }
        }
        //是否已有冰冻核心
        #endregion

        m_AllCopyDraggingGun  = new GameObject[6];
        m_AllCopyDraggingCore = new GameObject[4];
        #region 当前拥有的武器进行显示
        for (int i = 0; i < m_AllGunType.Length; i++)
        {
            //未获得该武器
            if (m_AllGunType[i] == GunType.Null)
            {
                continue;
            }
            m_AllGunShow[(int)m_AllGunType[i]].SetActive(true);
        }
        #endregion
        #region 当前装备的武器进行显示,装备Equipped显示
        for (int i = 0; i < m_CurrentGunType.Length; i++)
        {
            //当前武器装备栏为空
            if (m_CurrentGunType[i] == GunType.Null)
            {
                continue;
            }
            m_AllGunShow[(int)m_CurrentGunType[i]].transform.GetChild(2).gameObject.SetActive(true);
            //特殊武器
            if (i == 3)
            {
                m_SpecialGun.sprite = m_AllGun[(int)m_CurrentGunType[i]];
            }
            else
            {
                m_NormalGun[i].sprite = m_AllGun[(int)m_CurrentGunType[i]];
                _GunIndex             = (int)m_CurrentGunType[i];
            }
        }
        #endregion
        #region 当前拥有的核心进行显示
        foreach (CoreAttribute ca in m_AllCoreType)
        {
            m_AllCoreShow[(int)ca].SetActive(true);
        }
        #endregion
        #region 当前装备的核心与文字进行显示,装备Equipped显示,血管样式修改
        m_CurrentCorePos.sprite     = m_AllCore[(int)m_CurrentCoreType];
        m_CurrentCoreTextPos.sprite = m_AllCoreText[(int)m_CurrentCoreType];
        m_AllCoreShow[(int)m_CurrentCoreType].transform.GetChild(4).gameObject.SetActive(true);

        _coreIndex = (int)m_CurrentCoreType;
        #endregion
        #region 商店管理(零件数量)
        m_ifCanBuySomeThing = new bool[] { true, true, true, true, true };
        foreach (GameObject go in m_CanNotBuyPos)
        {
            go.SetActive(false);
        }
        m_PartText.text = m_PartNums.ToString();
        //禁止使用维修服务
        if (m_PartNums < 10)
        {
            m_ifCanBuySomeThing[0] = false;
            //显示禁止买图片
            m_CanNotBuyPos[0].SetActive(true);
        }
        //禁止买火箭
        if (m_RocketNums == 1)
        {
            m_ifCanBuySomeThing[1] = false;
            //显示禁止买图片
            m_CanNotBuyPos[1].SetActive(true);
        }
        //禁止买冰冻核心
        if (m_HavingFrozenCore)
        {
            m_ifCanBuySomeThing[2] = false;
            //显示禁止买图片
            m_CanNotBuyPos[2].SetActive(true);
        }
        #endregion
        #region 血条管理
        m_AllCoreToBlood = new CoreToBlood[] { Initial, Fire, Amethyst, Frozen };
        //------------------------------------------------------------------------
        m_HPMPPos.sprite = m_AllHPMPStyle[(int)m_CurrentCoreType];

        m_CurrentCoreToBlood = m_AllCoreToBlood[_coreIndex];

        //当前HPMP占总值百分比
        m_CurrentHPPercent = m_CurrentHP / (m_CurrentMaxHP * 1.0f);
        m_CurrentMPPercent = m_CurrentMP / (m_CurrentMaxMP * 1.0f);
        //滑块初始化
        //主滑块位置比例(HP下限 / HP最大值)
        m_CurrentMainSliderPosPercent = (m_CurrentMaxHP - m_CurrentCoreToBlood.HPLowerNums) / (float)(m_CurrentCoreToBlood.HPUpperNums - m_CurrentCoreToBlood.HPLowerNums);

        MainSlider_MP.maxValue = MainSlider_HP.maxValue = m_CurrentCoreToBlood.AllBloodNums;
        MainSlider_MP.minValue = MainSlider_HP.minValue = 0;
        MainSlider_MP.value    = m_CurrentMaxMP;
        MainSlider_HP.value    = m_CurrentMaxHP;

        HpSilder.maxValue = MainSlider_HP.value;
        MpSilder.maxValue = MainSlider_MP.value;
        HpSilder.minValue = MpSilder.minValue = 0;
        HpSilder.value    = m_CurrentHP;
        MpSilder.value    = m_CurrentMP;

        //HPMP最大值显示
        HPMaxText.text = m_CurrentMaxHP.ToString();
        MPMaxText.text = m_CurrentMaxMP.ToString();
        #endregion
        #region  钮UI管理
        allUI = new GameObject[] { RepairUI, SelfInfoUI, MainMenuUI, HelpUI };
        #endregion
        //可以修改HP最大值
        CanChangeBloodHPMax = true;
    }