Exemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="OddityCore"/> class.
        /// </summary>
        public OddityCore()
        {
            _httpClient             = new HttpClient();
            _httpClient.BaseAddress = new Uri(ApiConfiguration.ApiEndpoint);
            _httpClient.DefaultRequestHeaders.UserAgent.ParseAdd($"{ApiConfiguration.LibraryName}/{GetLibraryVersion()} ({ApiConfiguration.GitHubLink})");

            SetTimeout(ApiConfiguration.DefaultTimeoutSeconds);

            var builderDelegatesContainer = new BuilderDelegatesContainer
            {
                DeserializationError = DeserializationError,
                RequestSend          = RequestSend,
                ResponseReceived     = ResponseReceived
            };

            Api              = new Api(_httpClient, builderDelegatesContainer);
            Company          = new Company(_httpClient, builderDelegatesContainer);
            Rockets          = new Rockets(_httpClient, builderDelegatesContainer);
            Capsules         = new Capsules(_httpClient, builderDelegatesContainer);
            DetailedCapsules = new DetailedCapsules(_httpClient, builderDelegatesContainer);
            DetailedCores    = new DetailedCores(_httpClient, builderDelegatesContainer);
            Launchpads       = new Launchpads(_httpClient, builderDelegatesContainer);
            Launches         = new Launches(_httpClient, builderDelegatesContainer);
            Roadster         = new Roadster(_httpClient, builderDelegatesContainer);
        }
Exemplo n.º 2
0
 public void RemoveRocket()
 {
     Rockets.Remove(Rockets.First());
     RocketsModified(this, new RocketsRemovedEventArgs {
         RocketsRemovedCount = 1
     });
 }
Exemplo n.º 3
0
    // Use this for initialization
    void Start()
    {
        oldRotation = tankTop.transform.parent.transform.localEulerAngles.y;

        // pull in rockets script
        rockets = GetComponent <Rockets>();

        // init ammo swap
        ammoCombos.Add(AmmoTypes.Default, standard_shot_combo);
        ammoCombos.Add(AmmoTypes.HighExplosive, he_shot_combo);
        ammoCombos.Add(AmmoTypes.ArmorPiercing, ap_shot_combo);

        comboButtons.Add(standard_shot_combo, standard_shot_buttons);
        comboButtons.Add(ap_shot_combo, ap_shot_buttons);
        comboButtons.Add(he_shot_combo, he_shot_buttons);

        // init
        anim         = gunnerPanel.GetComponent <Animator>();
        anim.enabled = true;

        inputMngr   = GameObject.Find("InputManager");
        playerRoles = inputMngr.GetComponent <PlayerRoles>();

        playerRoles.HidePanel(anim, ammoPanel, reloadPanel);
        playerRoles.SetComboTextures(comboButtons);

        playerID = inputMngr.GetComponent <PlayerRoles>().gunner;

        abilityIcon.GetComponent <Image>().sprite = abilityIcons[selectedAmmo];
    }
Exemplo n.º 4
0
 // Use this for initialization
 void Awake()
 {
     player = GameObject.FindGameObjectWithTag("Player").transform;
     if (Instance == null)
     {
         Instance = this;
     }
 }
 public override void PerformCAction(Player performingPlayer)
 {
     if (Rockets.Any() && RocketFiredThisTurn == null)
     {
         var firedRocket = Rockets.First();
         Rockets.Remove(firedRocket);
         RocketFiredThisTurn = firedRocket;
     }
 }
Exemplo n.º 6
0
        public int RemoveAllRockets()
        {
            var rocketCountRemoved = Rockets.Count;

            Rockets.Clear();
            RocketsModified(this, new RocketsRemovedEventArgs {
                RocketsRemovedCount = rocketCountRemoved
            });
            return(rocketCountRemoved);
        }
Exemplo n.º 7
0
        public void Remove(Rocket.Rocket rocket)
        {
            ScreenObjects.Remove(rocket);
            Rockets.Remove(rocket);

            if (rocket == MainObject)
            {
                MainObject = Rocket.Rocket.getEmptyRocket();
            }
        }
Exemplo n.º 8
0
    public void evaluate()
    {
        float      maxFitness   = 0;
        float      completed    = 0;
        GameObject fastest      = null;
        float      fastestFrame = Mathf.Infinity;

        for (int i = 0; i < populationSize; i++)
        {
            Rockets current = rocketList [i].GetComponent <Rockets> ();
            current.calculateFitness();
            if (current.getFitness() > maxFitness)
            {
                maxFitness = current.getFitness();
            }
            if (current.getWin() && current.getTimeToWin() < fastestFrame)
            {
                fastestFrame = current.getTimeToWin();
                fastest      = rocketList [i];
            }
            if (current.getWin())
            {
                completed++;
            }
        }

        completion = completed / populationSize;

        if (fastest != null)
        {
            float tempFit = fastest.GetComponent <Rockets> ().doubleFitness();
            if (tempFit > maxFitness)
            {
                maxFitness = tempFit;
            }
        }

        biggestFitness = maxFitness;

        //Normalize the fitnesses
        for (int i = 0; i < populationSize; i++)
        {
            rocketList [i].GetComponent <Rockets> ().normalizeFitness(maxFitness);
        }

        matingPool = new List <GameObject> ();
        for (int i = 0; i < populationSize; i++)
        {
            float mateRating = rocketList [i].GetComponent <Rockets> ().getFitness() * 100;
            for (int j = 0; j < mateRating; j++)
            {
                matingPool.Add(rocketList [i]);
            }
        }
    }
Exemplo n.º 9
0
        public static void Postfix(Rocket __instance, bool up, Rocket.RocketElevatorStates __state)
        {
            if (__state != __instance.elevatorState)
            {
                Rockets    rocket     = NitroxServiceLocator.LocateService <Rockets>();
                GameObject gameObject = __instance.gameObject;
                NitroxId   id         = NitroxEntity.GetId(gameObject);

                rocket.CallElevator(id, RocketElevatorPanel.EXTERNAL_PANEL, up);
            }
        }
        public static void Postfix(Rocket __instance, RocketElevatorStates __state)
        {
            if (__state != __instance.elevatorState)
            {
                Rockets    rocket     = NitroxServiceLocator.LocateService <Rockets>();
                GameObject gameObject = __instance.gameObject;
                NitroxId   id         = NitroxEntity.GetId(gameObject);

                bool isGoingUp = __instance.elevatorState == RocketElevatorStates.Up || __instance.elevatorState == RocketElevatorStates.AtTop;
                rocket.CallElevator(id, RocketElevatorPanel.INTERNAL_PANEL, isGoingUp);
            }
        }
    //fire rocket
    void fireRocket(GameObject pod, GameObject target)
    {
        if (pod.transform.childCount == 1)                                          //if pod has rocket
        {
            currentRocketScript = pod.GetComponentInChildren <Rockets>();           //get rocket script
            currentRocketScript.fireRocket(target);                                 //fire rocket

            StartCoroutine(spawnRocket(rocketPods[selectedRocketPod]));             //reload pod

            selectedRocketPod += 1;                                                 //select next pod
            if (selectedRocketPod >= rocketPods.Length)                             //on overflow select first pod
            {
                selectedRocketPod = 0;
            }
        }
    }
Exemplo n.º 12
0
        public AbilitiesInCombo(TinkerCrappahilationPaid main)
        {
            main.Context.Inventory.Attach(this);
            var dict = new Dictionary <string, bool>
            {
                { AbilityId.item_blink.ToString(), true },
                { AbilityId.item_soul_ring.ToString(), true },
                { AbilityId.item_veil_of_discord.ToString(), true },
                { AbilityId.item_ethereal_blade.ToString(), true },
                { AbilityId.item_dagon.ToString(), true },
                { AbilityId.item_dagon_2.ToString(), true },
                { AbilityId.item_dagon_3.ToString(), true },
                { AbilityId.item_dagon_4.ToString(), true },
                { AbilityId.item_dagon_5.ToString(), true },
                { AbilityId.tinker_heat_seeking_missile.ToString(), true },
                { AbilityId.item_sheepstick.ToString(), true },
                { AbilityId.item_ghost.ToString(), true },
                { AbilityId.item_black_king_bar.ToString(), true },
                { AbilityId.item_shivas_guard.ToString(), true },
                { AbilityId.tinker_laser.ToString(), true },
                { AbilityId.item_glimmer_cape.ToString(), true },
                { AbilityId.tinker_rearm.ToString(), true },
            };
            var newMenu = main.Config.Factory.Menu("Abilities");

            main.Config.ItemsInCombo = newMenu.Item("ItemsInCombo", new AbilityToggler(dict));
            var list = dict.Keys.ToList();

            main.Config.Priority = newMenu.Item("Priority", new PriorityChanger(list));

            dict = new Dictionary <string, bool>
            {
                { AbilityId.item_blink.ToString(), true },
                { AbilityId.item_soul_ring.ToString(), true },
                { AbilityId.item_bottle.ToString(), true },
                { AbilityId.item_ghost.ToString(), true },
                { AbilityId.item_shivas_guard.ToString(), true },
                { AbilityId.item_glimmer_cape.ToString(), true },
            };

            main.Config.ItemsInSpamCombo = newMenu.Item("Spam Combo", new AbilityToggler(dict));

            Laser  = new Laser(main.Me.Spellbook.Spell1);
            Rocket = new Rockets(main.Me.Spellbook.Spell2);
            Rearm  = new Rearm(main.Me.Spellbook.Spell4);
            March  = main.Me.Spellbook.Spell3;
        }
Exemplo n.º 13
0
    public List <Vector3> crossover(Rockets other)
    {
        List <Vector3> newGenes = new List <Vector3> ();

        for (int i = 0; i < genes.Count; i++)
        {
            int chooseParent = Random.Range(0, 2);
            if (chooseParent == 0)
            {
                newGenes.Add(genes [i]);
            }
            else
            {
                newGenes.Add(other.getGenes() [i]);
            }
        }
        return(newGenes);
    }
Exemplo n.º 14
0
 public void PerformCAction(Player performingPlayer, int currentTurn, bool isAdvancedUsage)
 {
     if (CanPerformCAction(performingPlayer))
     {
         var canFireDoubleRocket = RocketCount > 1;
         var firedRocket         = Rockets.First();
         Rockets.Remove(firedRocket);
         RocketFiredThisTurn = firedRocket;
         var isFiringDoubleRocket = isAdvancedUsage && canFireDoubleRocket;
         if (isFiringDoubleRocket)
         {
             Rockets.Remove(Rockets.First());
             firedRocket.SetDoubleRocket();
         }
         RocketsModified(this, new RocketsRemovedEventArgs {
             RocketsRemovedCount = isFiringDoubleRocket ? 2 : 1
         });
     }
 }
Exemplo n.º 15
0
    public List <List <Vector3> > breed()
    {
        List <List <Vector3> > newRockets = new List <List <Vector3> > ();

        for (int i = 0; i < populationSize; i++)
        {
            int     index1  = Random.Range(0, matingPool.Count);
            int     index2  = index1;
            Rockets parent1 = matingPool [index1].GetComponent <Rockets> ();
            while (index2 == index1)
            {
                index2 = Random.Range(0, matingPool.Count);
                if (matingPool [index2].GetComponent <Rockets> () == parent1)
                {
                    index2 = index1;
                }
            }
            Rockets        parent2  = matingPool [index2].GetComponent <Rockets> ();
            List <Vector3> newGenes = parent1.crossover(parent2);
            newRockets.Add(newGenes);
        }
        return(newRockets);
    }
Exemplo n.º 16
0
 void OnTriggerEnter(Collider other)
 {
     if (other.tag.CompareTo("PlayerRocket") == 0)         //如果碰到主角子弹
     {
         Rockets rockets = other.GetComponent <Rockets>(); //获取子弹上的Rockets组件
         if (rockets != null)
         {
             m_life -= rockets.m_power;//减少生命
             if (m_life <= 0)
             {
                 GameManager.Instance.AddSource(m_point);//更新UI上的分数
                 //播放爆炸特效
                 Instantiate(m_explosionFx, m_enemy.position, Quaternion.identity);
                 Destroy(this.gameObject); //自我销毁
             }
         }
     }
     else if (other.tag.CompareTo("Player") == 0)//如果碰到主角飞机
     {
         m_life = 0;
         Instantiate(m_explosionFx, m_enemy.position, Quaternion.identity);
         Destroy(this.gameObject);//自我销毁
     }
 }
Exemplo n.º 17
0
 public bool CanPerformCAction(Player performingPlayer)
 {
     return(RocketFiredThisTurn == null && Rockets.Any());
 }
Exemplo n.º 18
0
 public void Remove(Rocket.Rocket rocket)
 {
     ScreenObjects.Remove(rocket);
     Rockets.Remove(rocket);
 }
Exemplo n.º 19
0
 public void Add(Rocket.Rocket rocket)
 {
     ScreenObjects.Add(rocket);
     Rockets.Add(rocket);
     MainObject = rocket;
 }