Inheritance: InfoItem
Exemplo n.º 1
0
 // Start is called before the first frame update
 void Awake()
 {
     anim  = GetComponentInChildren <Animator>();
     agent = GetComponent <NavMeshAgent>();
     eInfo = GetComponent <EnemyInfo>();
     agent.stoppingDistance = attackRange;
 }
Exemplo n.º 2
0
    //Rigidbody2D rb;
    // Start is called before the first frame update
    protected override void Start()
    {
        //rb = GetComponent<Rigidbody2D>();

        //transform.rotation = Quaternion.identity;
        EnemyManager.instance.enemiesDictionary[enemyType].Add(this);
        base.Start();

        animator     = transform.Find("test").GetComponentInChildren <Animator>();
        spriteObject = animator.transform.parent.gameObject;
        EnemyManager.instance.updateEnemies();
        originSpeed      = agent.speed;
        m_Renderer       = animator.GetComponent <SpriteRenderer>();
        offMergeDistance = GetComponent <CircleCollider2D>().radius * 2f;

        if (FModSoundManager.Instance.isMerged && !FModSoundManager.Instance.getHelpDialogue && mergeLevel == 2)
        {
            FModSoundManager.Instance.getHelpDialogue = true;
            DialogueManager.StartConversation("getHelp", null, null);
        }

        enemyInfo   = JsonManager.Instance.getEnemy(enemyId);
        elementType = enemyInfo.type;
        maxHp       = getMapHP();
        hp          = maxHp;
        updateHP();
        levelText.text = "LvL " + level;
    }
Exemplo n.º 3
0
    public static EnemyInfo GetInfoFromName(string name)
    {
        EnemyInfo enemyInfo = null;

        m_enemiesInfo.TryGetValue(name, out enemyInfo);
        return(enemyInfo);
    }
Exemplo n.º 4
0
    public EnemyBehavior GenerateEnemy(int id, Rigidbody2D target, Vector2 position, float rotation, Vector2 velocity, bool forceGeneration = false)
    {
        if (!EnableGeneration && !forceGeneration)
        {
            return(null);
        }
        GameObject enemy = Instantiate(EnemyList.Instance.Enemies[id].gameObject);

        EnemyBehavior behavior = enemy.GetComponent <EnemyBehavior>();

        behavior.Target = target;

        EnemyInfo enemyInfo = enemy.GetComponent <EnemyInfo>();

        enemyInfo.PlayerScore = score;

        enemy.transform.position = position;
        Quaternion rot   = enemy.transform.rotation;
        Vector3    euler = rot.eulerAngles;

        euler.z = rotation;

        enemy.GetComponent <Rigidbody2D>().velocity = velocity;
        return(behavior);
    }
Exemplo n.º 5
0
    public void Init(EnemyInfo enemyInfo, Vector3 spawnPosition, int sortingOrder)
    {
        _spriteOrderIndex         = sortingOrder;
        _rotation                 = Random.value > 0.5f ? Vector3.forward : Vector3.back;
        this.enemyInfo            = enemyInfo;
        hitpoints                 = enemyInfo.health;
        _unselectableOfflineCount = enemyInfo.unselectableOfflineCount;

        EnemyManager.Register(this);
        _colorIndex = Random.Range(0, _colors.Count);
        _reboot.Init(this);

        movementInfo.movementType = enemyInfo.movementType;
        if (movementInfo.movementType != Movement.MovementType.None)
        {
            movePattern = Movement.Create(myGO, movementInfo);
            movePattern.Init(myGO);
        }

        _healthList = GetComponentsInChildren <Health>();

        SetOrtingOrder(_spriteOrderIndex);
        ChangeColor();
        SetSelectable(true);
        SpawnSequence(spawnPosition);
    }
Exemplo n.º 6
0
    private IEnumerator SpawnEnemyFormation(EnemyInfo enemy)
    {
        int enemiesSpawned = 0;
        int formationNum   = -1;

        if (enemy.ship.tag == "EnemyA" || enemy.ship.tag == "EnemyB")
        {
            formationNum = currentFormationNum;
            currentFormationNum++;
            formations [formationNum] = 0;
        }

        while (enemiesSpawned < enemy.formationSize && GameScript.instance.gameActive)
        {
            GameObject  anEnemy       = Instantiate(enemy.ship);
            EnemyScript anEnemyScript = anEnemy.GetComponent <EnemyScript> ();
            anEnemyScript.formation = formationNum;
            enemiesSpawned++;
            if (formationNum > 0)
            {
                formations [formationNum]++;
            }
            yield return(new WaitForSeconds(enemy.spawnDelay));
        }
    }
Exemplo n.º 7
0
            public EnemyUnit(EnemyInfo i)
            {
                Info    = i;
                Control = (IHTMLImage)Info.Image.Clone();

                Visible = false;
            }
Exemplo n.º 8
0
        public void SpawnEnemy(EnemyInfo eInfo, List <Vector2> path)
        {
            Enemy e = new Enemy();

            e.SetTextureAtlas(mEnemyAtlas);
            e.SetSpriteName(eInfo.Sprite);
            //e.mSequenceMap = mSequenceMaps[eInfo.Sprite];
            //e.mCurrentSequence = e.mSequenceMap["Idle"];
            //Dictionary<string, SpriteSequence> temp = new Dictionary<string, SpriteSequence>();
            //temp = mSequenceMaps[eInfo.Sprite];
            e.SetSequenceMap(mSequenceMaps[eInfo.Sprite]);
            e.mHitBox = new Rectangle(eInfo.HitBox[0],
                                      eInfo.HitBox[1],
                                      eInfo.HitBox[2],
                                      eInfo.HitBox[3]);
            e.mHealth     = eInfo.Health;
            e.mPosition   = new Vector2(eInfo.Position[0], eInfo.Position[1]);
            e.mMoveSpeed  = eInfo.MoveSpeed;
            e.mPathPoints = path;

            //Generate a pattern from the structure
            foreach (var pInfo in eInfo.FirePatterns)
            {
                e.AddPattern(mGamePatternGeneratorPtr.GeneratePatternFromStruct(pInfo));
            }

            mGameEnemyListPtr.Add(e);
        }
Exemplo n.º 9
0
        public void Initialize(
            [NotNull] EnemyInfo enemyInfo,
            [NotNull] Buff buff,
            [NotNull] RuntimeAnimatorController animatorController,
            [NotNull] IEnumerable <Vector3> path,
            Vector3 offset)
        {
            if (enemyInfo == null)
            {
                throw new ArgumentNullException("enemyInfo");
            }
            if (buff == null)
            {
                throw new ArgumentNullException("buff");
            }
            if (animatorController == null)
            {
                throw new ArgumentNullException("animatorController");
            }
            if (path == null)
            {
                throw new ArgumentNullException("path");
            }
            Id        = enemyInfo.Id;
            Speed     = enemyInfo.Speed;
            MaxHealth = enemyInfo.Health * buff.HealthBoost;
            RendererTransform.localScale = new Vector3(enemyInfo.Size, enemyInfo.Size, enemyInfo.Size);
            var animator = RendererTransform.GetComponent <Animator>();

            animator.runtimeAnimatorController = animatorController;
            _path   = path.ToArray();
            _offset = offset;
            InitState();
        }
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //	* New Method: Add AI
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    public static int Add_AI(Enemy_Base pEnemy)
    {
        // Find an Empty Slot in Lookup
        int iNewIndex = -1;

        for (int i = 0; i < sm_lEnemyLookup.Count; ++i)
        {
            if (sm_lEnemyLookup[i] == null)
            {
                iNewIndex = i;
                break;
            }
        }

        // If None Found, Create A New One
        if (iNewIndex == -1)
        {
            iNewIndex = sm_lEnemyLookup.Count;
            sm_lEnemyLookup.Add(iNewIndex, null);
        }

        // Insert Item
        EnemyInfo pEnemyInfo = new EnemyInfo();

        pEnemyInfo.goEnemyObject   = pEnemy.gameObject;
        pEnemyInfo.pEnemyInstance  = pEnemy;
        sm_lEnemyLookup[iNewIndex] = pEnemyInfo;

        // Increment Enemy Count
        sm_iEnemyCount += 1;

        // Return Enemy ID
        return(iNewIndex);
    }
Exemplo n.º 11
0
        private void Update()
        {
            switch (combatState)
            {
            case CombatState.Attacking:
                target    = master.pInput.hit.transform;
                enemyInfo = target.GetComponent <EnemyInfo>();
                if (Vector3.Distance(target.position, transform.position) > attackRange)
                {
                    enemyToPlayer = transform.position - target.position;
                    steerTarget   = target.position + enemyToPlayer.normalized * attackRange;
                    master.pMovement.agent.destination = steerTarget;
                }
                else
                {
                    if (!_attacking)
                    {
                        StartCoroutine(Attack());
                    }
                }
                break;

            case CombatState.Idle:
                StopCoroutine(Attack());
                _attacking = false;
                target     = null;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemplo n.º 12
0
    void Update()
    {
        if (mCurrentCount < mMaxCount)
        {
            if (Time.time > mPrevSpawnTime + Random.Range(1.5f, 3f))
            {
                mPrevSpawnTime = Time.time;
                //刷怪
                GameObject obj = RoleManager.Instance.LoadRole("RoleModel_Xiaobing1");

                obj.transform.parent   = this.transform;
                obj.transform.position = this.transform.position;

                RoleBehaviour controller = obj.GetComponent <RoleBehaviour>();
                controller.SpawnPosition = obj.transform.position;

                EnemyInfo enemyInfo = new EnemyInfo();
                enemyInfo.roleLocalID  = 1;
                enemyInfo.roleServerID = 106807008888;
                enemyInfo.currentHP    = enemyInfo.maxHP = 100;
                enemyInfo.username     = "******";

                EnemyAI_Battle enemyAI = new EnemyAI_Battle(controller);
                controller.Init(RoleType.ENEMY, enemyInfo, enemyAI);
                controller.OnRoleDie = OnRoleDie;
                mCurrentCount++;
            }
        }
    }
Exemplo n.º 13
0
        public override void SetDetailsFromSetup(Detail detail, CoreDetails core)
        {
            // Routes
            List <string> heliRoutes = new List <string>();

            if (core.routeName != "NONE")
            {
                heliRoutes = new RouteManager().GetRouteNames(core.routeName);
            }
            heliRoutes.AddRange(EnemyInfo.GetCP(core.CPName).CPheliRoutes);

            routes = heliRoutes;

            List <Helicopter> qObjects = detail.GetQuestObjects().Cast <Helicopter>().ToList();
            int heliCount   = (routes.Count > 0 ? 1 : 0);
            int objectCount = qObjects.Count;

            for (int i = 0; i < heliCount; i++)
            {
                if (i >= objectCount) // add
                {
                    qObjects.Add(new Helicopter(i));
                }
            }

            for (int i = objectCount - 1; i >= heliCount; i--) //remove
            {
                qObjects.RemoveAt(i);
            }

            detail.SetQuestObjects(qObjects.Cast <QuestObject>().ToList());
        }
Exemplo n.º 14
0
 void AddEnemy(EnemyType _type, string _prefab, float _minSpeed, float _maxSpeed, int _hp)
 {
     enemyInfo[_type] = new EnemyInfo()
     {
         prefab = _prefab, minSpeed = _minSpeed, maxSpeed = _maxSpeed, HP = _hp
     };
 }
Exemplo n.º 15
0
    static void Create()
    {
        string assetName = "New EnemyInfo";//创建后需要重命名
        string assetPath = "Assets";

        if (Selection.activeObject)
        {
            assetPath = AssetDatabase.GetAssetPath(Selection.activeObject); //获取选取的对象的完整路径
            //由于有可能选取的对象是文件,而不是文件夹,所以需要做个判断:
            if (Path.GetExtension(assetPath) != "")                         //判断路径是否存在扩展名
            {
                assetPath = Path.GetDirectoryName(assetPath);               //如果有扩展名,则获取该文件的路径
            }
        }

        bool     doCreate = true;
        string   path     = Path.Combine(assetPath, assetName + ".asset");
        FileInfo fileInfo = new FileInfo(path);

        if (fileInfo.Exists)//判断是否存在同名文件
        {
            //弹出dialog窗口
            doCreate = EditorUtility.DisplayDialog(assetName + " already exists.",
                                                   "Do you want to overwrite the old one?",
                                                   "Yes", "No");
        }
        if (doCreate)
        {
            EnemyInfo abilityInfo = EnemyInfoUtility.Create(assetPath, assetName);
            Selection.activeObject = abilityInfo;
        }
    }
Exemplo n.º 16
0
 void Start()
 {
     playerMovement   = transform.GetChild(0).GetComponent <PlayerMovement>();
     uiController     = UIController.Instance;
     combatController = CombatController.Instance;
     enemyInfo        = EnemyInfo.Instance;
 }
Exemplo n.º 17
0
 void EditEnemy(EnemyInfo EI)
 {
     EI.name     = EditorGUILayout.TextField("Enemy name", EI.name);
     EI.visual   = (GameObject)EditorGUILayout.ObjectField("Enemy Visual", EI.visual, typeof(GameObject), false);
     EI.eType    = (ElementalType)EditorGUILayout.EnumPopup("Enemy type", EI.eType);
     EI.minLevel = EditorGUILayout.IntField("Enemy min level", EI.minLevel);
     EI.maxLevel = EditorGUILayout.IntField("Enemy max level", EI.maxLevel);
     if (GUILayout.Button("Delete!"))
     {
         if (EditorUtility.DisplayDialog("Delete " + EI.name, "Are you sure you want to delete this enemy?", "Yes", "No"))
         {
             EDB.eDatabase.RemoveAt(currentlyViewing);
             if (currentlyViewing > EDB.eDatabase.Count - 1)
             {
                 currentlyViewing = EDB.eDatabase.Count - 1;
             }
             editEnemy = false;
             if (currentlyViewing == -1)
             {
                 currentlyViewing = 0;
                 seeEnemies       = false;
             }
         }
     }
     if (GUILayout.Button("Finish!"))
     {
         if (CheckEnemy(EI))
         {
             editEnemy = false;
         }
     }
 }
Exemplo n.º 18
0
 public void updateEnemyInfo(EnemyInfo enemyInfo)
 {
     //update enemy information in ui
     EnemyLevelText.text   = "Level :" + enemyInfo.Level.ToString();
     EnemyAttackText.text  = "Attack Point :" + enemyInfo.AttackPoint.ToString();
     EnemyDefenceText.text = "Defence Point :" + enemyInfo.DefensePoint.ToString();
 }
Exemplo n.º 19
0
 void Start()
 {
     tempMovement = PlayerInformation.Instance.gameObject.transform.position - transform.position;
     startRotation = GetAngle ();
     gameObject.transform.rotation = Quaternion.AngleAxis(startRotation + 180f, new Vector3(0,0,1.0f));
     eInfo = gameObject.GetComponent<EnemyInfo> ();
 }
Exemplo n.º 20
0
    void Update()
    {
        //按B显示背包界面和关闭背包界面
        if (Input.GetKeyDown(KeyCode.B))
        {
            Bag.SetActive(!Bag.activeSelf);
        }
        if (Input.GetKeyDown(KeyCode.I))
        {
            playerInfo.SetActive(!playerInfo.activeSelf);
        }
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            ESCPanel.SetActive(!ESCPanel.activeSelf);
            if (soundVolumePanel.activeSelf)
            {
                soundVolumePanel.SetActive(false);
            }
        }

        //如果找到人物的脚本,并且脚本中的mouseTarget不为空
        //显示怪物的血条
        if (playerAttack != null && playerAttack.mouseTarget != null && playerAttack.mouseTarget.tag == "Enemy")
        {
            EnemyInfo tmp = playerAttack.mouseTarget.GetComponent <EnemyInfo>();
            targetHeadFrame.gameObject.SetActive(true);
            targetHeadFrame.value = (float)tmp.currentHP / tmp.maxHP;
            targetName.text       = tmp.name;
            targetHPText.text     = tmp.currentHP + " / " + tmp.maxHP;
        }
        else
        {
            targetHeadFrame.gameObject.SetActive(false);
        }
    }
Exemplo n.º 21
0
 public void CreateMarkers(EnemyInfo info)
 {
     for (int i = 0; i < info.info.shotPointInfo.Count; ++i)
     {
         CreateMarker(info, info.info.shotPointInfo[i]);
     }
 }
Exemplo n.º 22
0
 /// <summary>
 ///다량으로 생성시키는
 ///함수매개변수
 ///count = 몇개를 소환 할것인지 , value = 어느걸 소환할것인지
 ///외부에서 호출해줘야됨
 ///</summary>
 public void InitCreateEnemey(EnemyInfo info, int count)
 {
     for (int i = 0; i < count; i++)
     {
         enemys.Add(CreateEnemey(info));
     }
 }
Exemplo n.º 23
0
    void fire()
    {
        playerInfo.reduceCurrentAmmo();
        audioSource.PlayOneShot(shotGunBlastSound);
        nextShot            = Time.time + fireRate;
        muzzleBlast.enabled = true;
        StartCoroutine(muzzleBlast.cycleMuzzleBlast());

        int scoreChange = 0;

        Debug.DrawRay(transform.position, transform.forward * range, Color.green);

        if (Physics.Raycast(transform.position, transform.forward, out objHit, range))
        {
            Debug.DrawRay(transform.position, transform.forward * range, Color.red);


            if (objHit.collider.gameObject.tag == "Enemy")
            {
                enemyInfo = objHit.collider.gameObject.GetComponentInParent <EnemyInfo> ();

                scoreChange = enemyInfo.reportHit(damage, objHit.point);

                if (scoreChange != 0)
                {
                    playerInfo.addPoints(scoreChange);
                    enemyInfo.death(objHit.point);
                }
            }
        }
    }    //END fire
Exemplo n.º 24
0
    private void GetEnemyInfoList()
    {
        string    sql = "select * from enemy_information";
        DataTable dt  = MysqlHelper.ExecuteTable(sql, CommandType.Text, null);

        if (dt.Rows.Count > 0)
        {
            foreach (DataRow dr in dt.Rows)
            {
                EnemyInfo enemyInfo = new EnemyInfo();
                enemyInfo.EnemyID           = int.Parse(dr["enemy_id"].ToString());
                enemyInfo.EnemyName         = dr["enemy_name"].ToString();
                enemyInfo.EnemyType         = (EnemyTypes)int.Parse(dr["enemy_type"].ToString());
                enemyInfo.Hp                = int.Parse(dr["enemy_hp"].ToString());
                enemyInfo.Exp               = int.Parse(dr["enemy_exp"].ToString());
                enemyInfo.Damage            = int.Parse(dr["enemy_damage"].ToString());
                enemyInfo.LeaveDistance     = int.Parse(dr["enemy_leave_distance"].ToString());
                enemyInfo.MissPrecent       = float.Parse(dr["enemy_miss_precent"].ToString());
                enemyInfo.MoveSpeed         = int.Parse(dr["enemy_move_speed"].ToString());
                enemyInfo.AttackSpeed       = int.Parse(dr["enemy_attack_speed"].ToString());
                enemyInfo.MinAttackDistance = int.Parse(dr["enemy_min_attack_distance"].ToString());
                enemyInfo.AttackAnimTime    = float.Parse(dr["enemy_attack_animation_time"].ToString());
                enemyInfoList.Add(enemyInfo);
            }
        }
    }
Exemplo n.º 25
0
    /// <summary>
    /// Pulls the information from the Amazon DynamoDB
    /// </summary>
    public void GetInfoFromDB()
    {
        // Retrieve the bacteria info.
        EnemyInfo bacteriaRetrieved = null;

        Context.LoadAsync <EnemyInfo>(bacteriaID, (result) =>
        {
            if (result.Exception == null)
            {
                bacteriaRetrieved = result.Result as EnemyInfo;

                bacteriaButtonText.text                  = bacteriaRetrieved.EnemyName;
                bacteriaDescriptionHeaderText.text       = bacteriaRetrieved.EnemyName;
                bacteriaDescriptionBodyText.text         = bacteriaRetrieved.Description;
                bacteriaDescriptionBodyText.overflowMode = TextOverflowModes.Page;
            }
        });


        // Retrieve the virus info.
        EnemyInfo virusRetrieved = null;

        Context.LoadAsync <EnemyInfo>(virusID, (result) =>
        {
            if (result.Exception == null)
            {
                virusRetrieved = result.Result as EnemyInfo;

                virusButtonText.text                  = virusRetrieved.EnemyName;
                virusDescriptionHeaderText.text       = virusRetrieved.EnemyName;
                virusDescriptionBodyText.text         = virusRetrieved.Description;
                virusDescriptionBodyText.overflowMode = TextOverflowModes.Page;
            }
        });
    }
Exemplo n.º 26
0
    public static List <EnemyInfo> ReadExcel(string ePath)
    {
        List <EnemyInfo> list = new List <EnemyInfo>();

        using (FileStream stream = File.Open(excelPath, FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            using (IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream))
            {
                SetReader(excelReader);
                excelReader.Read();
                for (int i = 1; i < excelReader.RowCount; i++)
                {
                    excelReader.Read();
                    EnemyInfo info = new EnemyInfo();
                    info.enemyId    = GetInt(0);
                    info.Name       = GetString(1);
                    info.Introduce  = GetString(2);
                    info.killCoin   = GetInt(3);
                    info.killDO     = GetInt(4);
                    info.life       = GetInt(5);
                    info.speed      = GetInt(6);
                    info.Def        = GetInt(7);
                    info.Mdef       = GetInt(8);
                    info.heart      = GetInt(9);
                    info.path       = GetString(10);
                    info.audio      = GetString(11);
                    info.helpSprite = GetString(12);
                    list.Add(info);
                }
            }
        }
        return(list);
    }
Exemplo n.º 27
0
    public override void HandleEvent(EventData resp)
    {
        base.HandleEvent(resp);
        switch (resp.eid)
        {
        case EventID.EVENT_GAME_CHARACTER_BORN:
            InGameBaseCharacter bornobj = (InGameBaseCharacter)resp.sUserData[0];
            EnemyInfo           info    = new EnemyInfo();
            info.character = bornobj;
            enemyInfoList.Add(info);
            break;

        case EventID.EVENT_GAME_CHARACTER_DIE:
            InGameBaseCharacter dieobj = (InGameBaseCharacter)resp.sUserData[0];

            for (int i = 0; i < enemyInfoList.Count; i++)
            {
                if (enemyInfoList[i].character.instanceId == dieobj.instanceId)
                {
                    Vector2 mapPos = GameCommon.GetMapPos(dieobj.transform.position);

                    SetPixel((int)mapPos.x, (int)mapPos.y, dataArray[(int)mapPos.x, (int)mapPos.y]);
                    enemyInfoList.RemoveAt(i);
                    return;
                }
            }

            break;
        }
    }
Exemplo n.º 28
0
    void AddEnemyCreateTime(E_ENEMY_CLASS _eClass, float _fStartTime, float _fEndTime, int _nSpawnPersent, int nSpaceNum)
    {
        EnemyInfo pInfo = new EnemyInfo();

        pInfo.Enter(_eClass, _fStartTime, _fEndTime, _nSpawnPersent, nSpaceNum);
        m_pEnemyInfo.Add(pInfo);
    }
Exemplo n.º 29
0
        private void comboBoxRegion_SelectedIndexChanged(object sender, EventArgs e)
        {
            string[] loadArea = new string[0];
            string[] cpNames  = new string[0];
            enableRegionInput();
            managerMaster.EnableVehicleBox();

            switch (comboBoxRegion.Text)
            {
            case "Afghanistan":
                locationID = 10;
                loadArea   = LoadAreas.afgh;
                cpNames    = EnemyInfo.GetCPNames(EnemyInfo.AfghCPs);
                break;

            case "Central Africa":
                locationID = 20;
                loadArea   = LoadAreas.mafr;
                cpNames    = EnemyInfo.GetCPNames(EnemyInfo.MafrCPs);
                break;

            case "Mother Base":
                locationID = 50;
                loadArea   = LoadAreas.mtbs;
                cpNames    = EnemyInfo.GetCPNames(EnemyInfo.MtbsCP);
                disableRegionInput();
                managerMaster.DisableVehicleBox();
                comboBoxRadius.Text = "1";
                break;
            }

            UpdateComboBox(comboBoxLoadArea, loadArea);
            UpdateComboBox(comboBoxCP, cpNames);
        }
Exemplo n.º 30
0
    public void initEnemy(string enemyId)
    {
        UnitId = enemyId;
        SDEnemy e;

        if (GetComponent <SDEnemy>())
        {
            e = GetComponent <SDEnemy>();
        }
        else
        {
            e = gameObject.AddComponent <SDEnemy>();
        }
        EnemyProperty._enemy = e;
        //
        EnemyProperty.ID        = UnitId;
        EnemyProperty._enemy.ID = UnitId;
        //
        EnemyInfo   enemy  = SDDataManager.Instance.getEnemyInfoById(enemyId);
        ROEnemyData d      = SDDataManager.Instance.getEnemyDataById(enemyId);
        int         career = 0;

        if (rareWeight > 0)
        {
            career = UnityEngine.Random.Range(0, (int)Job.End);
        }
        d = enemyBuild.AddCareerData(d, career);
        //
        RoleAttributeList ral = enemyBuild.RALAddedByLevel(enemy.RAL).Clone;
        //
        float scale = SDConstants.HERO_MODEL_RATIO;

        if (isLittleBoss)
        {
            scale = SDConstants.HERO_MODEL_BIG_RATIO;
            d     = enemyBuild.LittleBossData(d, enemy.EnemyRank.Index);
        }
        //
        unit_character_model.initEnemyCharacterModel(UnitId, scale);
        //
        ral.AffectedByRate(d.RALRate);
        //
        EnemyProperty._enemy.initData(enemy.EnemyRank.Index, ral
                                      , d.CRIDmg, d.DmgReduction
                                      , d.DmgReflection, d.dropCoins, d.BarChartRegendPerTurn
                                      , enemy.ID, enemy.Name, 0);
        enemyBuild EB = FindObjectOfType <enemyBuild>();

        if (EB)
        {
            List <OneSkill> skills = EB.WriteEnemySkills(enemy);
            if (skills != null)
            {
                for (int i = 0; i < skills.Count; i++)
                {
                    _skills.Add(skills[i]);
                }
            }
        }
    }
Exemplo n.º 31
0
        public void Init(Petrrollus robot, EnemyInfo info)
        {
            this.robot = robot;
            this.info  = info;

            status = Status.Circling;
        }
Exemplo n.º 32
0
        public GankAlerter(Menu menu)
        {
            foreach (var enemy in HeroManager.Enemies)
            {
                EnemyInfo info = new EnemyInfo
                {
                    Enemysprite =
                        new Render.Sprite(
                            (Bitmap)
                                Resources.ResourceManager.GetObject(string.Format("LP_{0}",
                                    enemy.ChampionName)) ?? Resources.LP_Aatrox, Vector2.Zero),
                    EnemyId = enemy.NetworkId,
                    LastPos = Vector3.Zero,
                    LastVisibile = 0
                };
                _info.Add(info);
            }

            _warningSprite.Scale = new Vector2(.5f, .5f);

            _aleterMenu = new Menu("Awareness", "Awareness");
            {
                var alter = new Menu("Alerter", "Alerter");
                {
                    alter.AddItem(new MenuItem("Info", "Alerter is a Big red X icon indicating new enemy in range", true).SetValue(true));
                    alter.AddItem(new MenuItem("enableAlert", "Enabled", true).SetValue(true));
                    alter.AddItem(new MenuItem("DisplayMinimumRange", "Minium Range To Alert", true).SetValue(new Slider(1200, 0, 8000)));
                    alter.AddItem(new MenuItem("DisplayEnemyEnterRange", "Alert When Enemy Enters Range of", true).SetValue(new Slider(2000, 0, 8000)));
                    alter.AddItem(new MenuItem("AlterDuration", "Duration of Alert (Seconds)", true).SetValue(new Slider(2)));
                    _aleterMenu.AddSubMenu(alter);
                }

                var locationDetector = new Menu("Enemy Location", "Enemy Location");
                {
                    locationDetector.AddItem(new MenuItem("DisplayLastSeen", "Display Last Seen", true).SetValue(true));
                    locationDetector.AddItem(new MenuItem("MiniMap", "Minimap Display broken atm cause of API(Will fix asap)", true));
                    locationDetector.AddItem(new MenuItem("IconDistanceFromCharacter", "Icon Distant From Character", true).SetValue(new Slider(400, 0, 2000)));
                    locationDetector.AddItem(new MenuItem("IconRed", "Icon Red If enemy is not on map ", true));
                    locationDetector.AddItem(new MenuItem("IconYellow", "Icon yellow if >", true).SetValue(new Slider(1200, 500, 2000)));
                    locationDetector.AddItem(new MenuItem("IconBlue", "Icon blue if >", true).SetValue(new Slider(2000, 2000, 3500)));
                    locationDetector.AddItem(new MenuItem("IconGreen", "Icon blue if >", true).SetValue(new Slider(3500, 3500, 8000)));
                    _aleterMenu.AddSubMenu(locationDetector);
                }

            }

            menu.AddSubMenu(_aleterMenu);

            AttackableUnit.OnEnterLocalVisiblityClient += OnEnterVisiblityClient;
            AttackableUnit.OnLeaveVisiblityClient += AttackableUnitOnOnLeaveVisiblityClient;
            Drawing.OnDraw += DrawingOnOnDraw;
        }
Exemplo n.º 33
0
 //get Enemy parameters
 void GetEnemySetting()
 {
     for (int i=3; i<14; i++) {
         string txt=(string)lineList[i];
         string[] info=txt.Split(',');
         EnemyInfo enemyInfo=new EnemyInfo();
         enemyInfo.name=info[0].Split(':')[1];
         enemyInfo.life=int.Parse (info [1].Split (':') [1]);
         enemyInfo.speed=float.Parse (info [2].Split (':') [1]);
         enemyInfo.reward=int.Parse (info [3].Split (':') [1]);
         enemyInfo.harm=int.Parse (info [4].Split (':') [1]);
         //add to enemiesInfo
         enemiesInfo.Add(enemyInfo);
     }
 }
Exemplo n.º 34
0
 public static void AddEnemyInfo(uint QID, uint SID, byte SubSID, List<uint> MobID, byte ammount)
 {
     Dictionary<uint, List<EnemyInfo>> enemys;
     List<EnemyInfo> tmp = new List<EnemyInfo>();
     if (Enemys.ContainsKey(QID))
     {
         enemys = Enemys[QID];
     }
     else
     {
         enemys = new Dictionary<uint, List<EnemyInfo>>();
         Enemys.Add(QID, enemys);
     }
     if (enemys.ContainsKey(SID) == false) enemys.Add(SID, tmp);
     EnemyInfo I = new EnemyInfo();
     I.SubSID = SubSID;
     I.id = MobID;
     I.completed = false;
     I.ammount = ammount;
     enemys[SID].Add(I);
 }
Exemplo n.º 35
0
    void ShootRocket(EnemyInfo info)
    {
        Vector3 pos = rocketLaunchArea.GetRandomPosition();

        Vector3 targetPos = cam.transform.position;
        targetPos.z = 0.0f;
        targetPos += rocketLaunchArea.GetRandomOffset()*0.2f;

        Vector3 launchDir = (targetPos-pos).normalized;

        StarRocketThrust newRocket = (StarRocketThrust)Instantiate(info.winRocket,pos,Quaternion.identity);
        newRocket.transform.up = launchDir;
    }
Exemplo n.º 36
0
            public EnemyDirectory(ImageResources gfx)
            {
                Func<ImageResources.Item, int, EnemyInfo> ctor =
                    (Image, Points) => new EnemyInfo { Image = Image, Points = Points };

                this.A = ctor(gfx.aenemy, 4);
                this.B = ctor(gfx.benemy, 2);
                this.C = ctor(gfx.cenemy, 1);
                this.UFO = ctor(gfx.ufo, 10);


            }
Exemplo n.º 37
0
		public RecallInfo(EnemyInfo enemyInfo)
		{
			EnemyInfo = enemyInfo;
			Recall = new Packet.S2C.Recall.Struct(EnemyInfo.Player.NetworkId, Packet.S2C.Recall.RecallStatus.Unknown, Packet.S2C.Recall.ObjectType.Player, 0);
			IncomingDamage = new Dictionary<int, float>();
		}
Exemplo n.º 38
0
 List<EnemyInfo> GetEnemyInfo()
 {
     List<EnemyInfo> list = new List<EnemyInfo>(5);
     foreach ( Spawner spawnPoint in enemyPlayerScript.spawnPoints )
     {
         EnemyInfo info = new EnemyInfo();
         info.unitType = spawnPoint.currentUpgrade.unitName;
         info.pathName = spawnPoint.GetCurrentPathName();
         list.Add(info);
     }
     return list;
 }
Exemplo n.º 39
0
            public EnemyUnit(EnemyInfo i)
            {
                Info = i;
                Control = (IHTMLImage)Info.Image.Clone();

                Visible = false;
            }
Exemplo n.º 40
0
		private static void HandleRecallShot(EnemyInfo playerInfo)
		{
			var shoot = false;

			foreach(Obj_AI_Hero champ in Program.Helper.OwnTeam.Where(x =>
							x.IsValid && ((x.IsMe && !x.IsStunned) || Helper.GetSafeMenuItem<bool>(_menu.Item(x.ChampionName))) &&
							!x.IsDead &&
							(x.Spellbook.CanUseSpell(SpellSlot.R) == SpellState.Ready ||
							(x.Spellbook.GetSpell(SpellSlot.R).Level > 0 &&
							x.Spellbook.CanUseSpell(SpellSlot.R) == SpellState.Surpressed &&
							x.Mana >= x.Spellbook.GetSpell(SpellSlot.R).ManaCost)))) //use when fixed: champ.Spellbook.GetSpell(SpellSlot.R) = Ready or champ.Spellbook.GetSpell(SpellSlot.R).ManaCost)
			{
				if(UltInfo[champ.ChampionName].Collision && IsCollidingWithChamps(champ, _enemySpawnPos, UltInfo[champ.ChampionName].Width))
					continue;

				//increase timeneeded if it should arrive earlier, decrease if later
				var timeneeded = GetSpellTravelTime(champ, UltInfo[champ.ChampionName].Speed, UltInfo[champ.ChampionName].Delay, _enemySpawnPos) - (_menu.Item("extraDelay").GetValue<Slider>().Value + 65);

				if(timeneeded - playerInfo.RecallInfo.GetRecallCountdown() > 60)
					continue;

				playerInfo.RecallInfo.IncomingDamage[champ.NetworkId] = (float)GetUltDamage(champ, playerInfo.Player) * UltInfo[champ.ChampionName].DamageMultiplicator;

				if(!(playerInfo.RecallInfo.GetRecallCountdown() <= timeneeded))
					continue;
				if(champ.IsMe)
					shoot = true;
			}

			var totalUltDamage = playerInfo.RecallInfo.IncomingDamage.Values.Sum();

			var targetHealth = Program.Helper.GetTargetHealth(playerInfo, playerInfo.RecallInfo.GetRecallCountdown());

			if(!shoot || _menu.Item("panicKey").GetValue<KeyBind>().Active)
				return;

			playerInfo.RecallInfo.IncomingDamage.Clear(); //wrong placement?

			var time = Environment.TickCount;

			if(time - playerInfo.LastSeen > 20000 && !_menu.Item("regardlessKey").GetValue<KeyBind>().Active)
			{
				if(totalUltDamage < playerInfo.Player.MaxHealth)
					return;
			}
			else if(totalUltDamage < targetHealth)
				return;

			_ult.Cast(_enemySpawnPos, true);
			_ultCasted = time;
		}
Exemplo n.º 41
0
            public static EnemyUnit[] Build(EnemyInfo info, int x, int y, int c, int s)
            {
                var a = new EnemyUnit[c];

                for (int i = 0; i < c; i++)
                {
                    var ke = new EnemyUnit(info);

                    var kx = x + s * i;
                    var ky = y;

                    ke.ResetPosition =
                        delegate
                        {
                            ke.MoveTo(kx, ky);
                        };

                    a[i] = ke;

                }

                return a;
            }
Exemplo n.º 42
0
    public EnemyInfo Load_EnemyData(int id)
    {
        EnemyInfo temp = new EnemyInfo();

        foreach(XmlNode node in enemyTable)
        {
            if(id == int.Parse(node.SelectSingleNode("ID").InnerText))
            {
                temp.ID = id;
                temp.Name = node.SelectSingleNode("Name").InnerText;
                temp.HP = int.Parse(node.SelectSingleNode("HP").InnerText);
                temp.AP = int.Parse(node.SelectSingleNode("AP").InnerText);

                return temp;
            }
        }
        return null;
    }
Exemplo n.º 43
0
 void Push(EnemyInfo[] enemies, float pushForce)
 {
     foreach (EnemyInfo e in enemies)
     {
         e.Pushed(pushForce, transform.position);
     }
 }
Exemplo n.º 44
0
 private GameObject SetMoveLogic(GameObject go,EnemyInfo info)
 {
     switch(info.moveLogic){
     case EnemyMoveLogic.STRAIGHT:
         go.AddComponent<StraightLineMotion> ();
         break;
     case EnemyMoveLogic.CURVE:
         go.AddComponent<QuadraticCurveLineMotion> ();
         break;
     case EnemyMoveLogic.STAY:
         go.AddComponent<MosquitoMotion> ();
         break;
     }
     go.GetComponent<FlyingObject> ().firstPositionY = info.pointY;
     go.GetComponent<FlyingObject> ().xSpeed = info.speed;
     return go;
 }
Exemplo n.º 45
0
 private void AssignRigidbodyWeight(Rigidbody2D rBody, EnemyInfo info)
 {
     rBody.mass = info.mass;
 }