Пример #1
0
    public GameObject SpawnSoldier(string soldierName, Vector3 position, FACTION fac)
    {
        object[] instanceData = new object[1];
        instanceData[0] = fac;

        return(PhotonNetwork.Instantiate("Enemies/" + soldierName, position + new Vector3(0, 1, 0), Quaternion.identity, 0, instanceData));
    }
Пример #2
0
    public void SpawnPlayer(FACTION fac)
    {
        object[] instanceData = new object[1];
        instanceData[0] = fac;

        GameObject player = PhotonNetwork.Instantiate("Player", Vector3.zero, Quaternion.identity, 0, instanceData);
    }
Пример #3
0
    public GameObject SpawnBuilding(string buildingName, Vector3 spawnInfoPos, FACTION fac)
    {
        object[] instanceData = new object[1];
        instanceData[0] = fac;

        return(PhotonNetwork.Instantiate("Structures/" + buildingName, spawnInfoPos, Quaternion.identity, 0, instanceData));
    }
Пример #4
0
    private void Start()
    {
        spawnedObject      = Instantiate(m_PlacedPrefab, Vector3.zero, Quaternion.identity);
        spawnedObject.name = "Environment";
        Destroy(planeManager);
        Destroy(pointCloudManager);
        var visualisers = GameObject.FindGameObjectsWithTag("CloudVisualisers");

        foreach (GameObject visual in visualisers)
        {
            Destroy(visual);
        }
        var     playerObjects = GameObject.FindGameObjectsWithTag("Player");
        FACTION newFaction    = FACTION.NEUTRAL;

        if (playerObjects.Length == 0)
        {
            newFaction = FACTION.BLUE;
        }
        else if (playerObjects.Length == 1)
        {
            newFaction = FACTION.ORANGE;
        }
        GameManager.Instance.SpawnPlayer(newFaction);
        Destroy(this);
    }
Пример #5
0
    public void FireProjectile(Vector3 target, Vector3 spawnPosition, FACTION faction)
    {
        Projectile projectile = ProjectilePool.Instance.GetProjectile(projectilePrefab, faction);

        //projectile.position = transform.position + transform.forward;
        projectile.position           = spawnPosition;
        projectile.transform.position = projectile.position;
        projectile.velocity           = (target - projectile.position).normalized * projectile.speed;
    }
Пример #6
0
 public GameObject SpawnProjectile(string projectileName, Vector3 spawnPos, int targetEnemyViewID, int damage, float speed, FACTION fac)
 {
     object[] instanceData = new object[4];
     instanceData[0] = damage;
     instanceData[1] = speed;
     instanceData[2] = targetEnemyViewID;
     instanceData[3] = fac;
     return(PhotonNetwork.Instantiate("Gameplay/Projectiles/" + projectileName, spawnPos, Quaternion.identity, 0, instanceData));
 }
Пример #7
0
    // Start is called before the first frame update
    void Start()
    {
        view = GetComponent <PhotonView>();
        object[] data = view.InstantiationData;
        faction = (FACTION)data[0];

        es             = GameObject.Find("EventSystem").GetComponent <EventSystem>();
        currClickState = CLICKSTATE.UNITCONTROL_MODE;
        money          = 1000;
    }
Пример #8
0
 public static System.IO.Stream GET_FACTION_ICON_URI(FACTION FAC)
 {
     switch (FAC)
     {
         default:
         case FACTION.FC_GRINEER:
             return System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("Warfarme.grineer.png");
         case FACTION.FC_CORPUS:
             return System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("Warfarme.corpus.png");
         case FACTION.FC_INFESTED:
             return System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("Warfarme.infestation.png");
     }
 }
Пример #9
0
        public static Bitmap GET_FACTION_ICON(FACTION FAC)
        {
            switch (FAC)
            {
                default:
                case FACTION.FC_GRINEER:
                    return global::Warmon.Properties.Resources.grineer;

                case FACTION.FC_CORPUS:
                    return global::Warmon.Properties.Resources.corpus;

                case FACTION.FC_INFESTED:
                    return global::Warmon.Properties.Resources.infestation;
            }
        }
Пример #10
0
 public void Awake()
 {
     view = GetComponent <PhotonView>();
     object[] data = view.InstantiationData;
     damage = (int)data[0];
     speed  = (float)data[1];
     if (PhotonView.Find((int)data[2]) != null)
     {
         targetGO = PhotonView.Find((int)data[2]).gameObject;
     }
     else
     {
         targetGO = null;
     }
     faction = (FACTION)data[3];
     AdditionalAwake();
 }
Пример #11
0
    void Update()
    {
        if (Input.touchCount == 0)
        {
            return;
        }

        var touch = Input.GetTouch(0);

        if (m_SessionOrigin.Raycast(touch.position, s_Hits, TrackableType.PlaneWithinPolygon))
        {
            // Raycast hits are sorted by distance, so the first one
            // will be the closest hit.
            var hitPose = s_Hits[0].pose;

            if (spawnedObject == null)
            {
                spawnedObject      = Instantiate(m_PlacedPrefab, hitPose.position, hitPose.rotation);
                spawnedObject.name = "Environment";
                Destroy(planeManager);
                Destroy(pointCloudManager);
                var visualisers = GameObject.FindGameObjectsWithTag("CloudVisualisers");
                foreach (GameObject visual in visualisers)
                {
                    Destroy(visual);
                }
                var     playerObjects = GameObject.FindGameObjectsWithTag("Player");
                FACTION newFaction    = FACTION.NEUTRAL;
                if (playerObjects.Length == 0)
                {
                    newFaction = FACTION.BLUE;
                }
                else if (playerObjects.Length == 1)
                {
                    newFaction = FACTION.ORANGE;
                }
                GameManager.Instance.SpawnPlayer(newFaction);
                Destroy(this);
            }
            else
            {
                spawnedObject.transform.position = hitPose.position;
            }
        }
    }
Пример #12
0
    public Projectile GetProjectile(Projectile projectile, FACTION faction)
    {
        Projectile newProjectile;

        if (projectilePool.Count > 0)
        {
            newProjectile = projectilePool.Pop();
            activeProjectileList.Add(newProjectile);
            newProjectile.gameObject.SetActive(true);
        }
        else
        {
            newProjectile = Instantiate(projectile, this.transform);
            activeProjectileList.Add(newProjectile);
        }
        newProjectile.SetFaction(faction);
        return(newProjectile);
    }
Пример #13
0
    public void SetFaction(FACTION faction)
    {
        foreach (Port p in ports)
        {
            if (p.IsConnected())
            {
                p.GetModule().faction = faction;
            }
        }

        foreach (Port p in mainPorts)
        {
            if (p.IsConnected())
            {
                p.GetModule().faction = faction;
            }
        }

        this.faction = faction;
    }
Пример #14
0
        private void AcceptDialog(object sender, RoutedEventArgs e)
        {
            if (!Validation.GetHasError(FactionName) && !Validation.GetHasError(FactionDescription))
            {
                string factionName = FactionName.Text;
                string factionDes  = FactionDescription.Text;

                var     forgeDatabase = Global.Instance.ForgeDatabase();
                FACTION faction       = new FACTION()
                {
                    Name        = factionName,
                    Description = factionDes
                };
                forgeDatabase.Factions.InsertOnSubmit(faction);
                forgeDatabase.SubmitChanges();

                IoC.Get <IEventAggregator>().PublishOnUIThread("AcceptAddFactionDialog");
                IoC.Get <IEventAggregator>().PublishOnUIThread("AcceptRootDialog");
            }
        }
        public void DeleteFaction()
        {
            try
            {
                int factionID = FactionCollection[SelectedIndex].ID;

                var forgeDatabase = Global.Instance.ForgeDatabase();

                FACTION faction = forgeDatabase.Factions.Single(x => x.ID == factionID);

                forgeDatabase.Factions.DeleteOnSubmit(faction);
                forgeDatabase.SubmitChanges();

                FactionCollection.RemoveAt(SelectedIndex);
                Global.Instance.FactionCollection = new BindableCollection <FactionCollection>(FactionCollection);

                ClearFactionInfo();
                SelectedIndex = -1;
            }
            catch { }
        }
 // a relationship is defined as what entity e1 think of e2
 // a negative number means that e1 hates e2 and will act as behavior warrants (attack, run away)
 public static int GetRelationship(FACTION e1, FACTION e2)
 {
     return(Relationships[e1][e2]);
     //Dictionary<FACTION, int> r = Relationships[e1];
     //return r[e2];
 }
Пример #17
0
 public void SetFaction(FACTION fac)
 {
     faction = fac;
 }
Пример #18
0
 public static bool IS_CORPUS(FACTION FAC)
 {
     return FAC == FACTION.FC_CORPUS;
 }
Пример #19
0
 public static bool IS_GRINEER(FACTION FAC)
 {
     return FAC == FACTION.FC_GRINEER;
 }
        // foreach entity_type, look for xml match
        // if relationship with self, continue
        // if found, add relationship
        // if not found, add default value (friendly, 100)
        // rogue xml is ignored (bad entity_type, should probably warn)
        public static async Task Load()
        {
            foreach (FACTION type in Enum.GetValues(typeof(FACTION)))
            {
                Relationships.Add(type, new Dictionary <FACTION, int>());
            }

            var folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("xml\\entity_relationships");

            var file = await folder.GetFileAsync("entity_relationships.xml");

            var stream = await file.OpenStreamForReadAsync();

            XDocument document = XDocument.Load(stream);
            await stream.FlushAsync();

            var entityNodes = from entities in document
                              .Elements("entities")
                              .Elements("entity")
                              select entities;

            foreach (var entityNode in entityNodes)
            {
                FACTION entity_type         = (FACTION)(Enum.Parse(typeof(FACTION), entityNode.Element("id").Value));
                Dictionary <FACTION, int> r = Relationships[entity_type];

                foreach (FACTION target_type in Enum.GetValues(typeof(FACTION)))
                {
                    if (entity_type.Equals(target_type))
                    {
                        continue;
                    }
                    var relationshipNodes = from relationship in entityNode
                                            .Elements("relationships")
                                            .Elements("relationship")
                                            where relationship.Element("id").Value == target_type.ToString()
                                            select relationship;

                    if (relationshipNodes.Count() == 0)
                    {
                        r[target_type] = 100;
                    }
                    else
                    {
                        var relationshipNode = relationshipNodes.First();
                        int value            = int.Parse(relationshipNode.Element("value").Value);
                        r[target_type] = value;
                    }
                }

                //var relationshipNodes = from relationships in entityNode
                //                        .Elements("relationships")
                //                        .Elements("relationship")
                //                            select relationships;

                //// TODO:
                //foreach (var relationshipNode in relationshipNodes)
                //{
                //    ENTITY_TYPE target_type = (ENTITY_TYPE)Enum.Parse(typeof(ENTITY_TYPE), relationshipNode.Element("id").Value);
                //    int target_value = int.Parse(relationshipNode.Element("value").Value);
                //    r.Add(target_type, target_value);
                //}
            }
        }
Пример #21
0
 public static string LOOKUP_FACTION(FACTION FAC)
 {
     switch (FAC)
     {
         default:
         case FACTION.FC_GRINEER:
             return "FC_GRINEER";
         case FACTION.FC_INFESTED:
             return "FC_INFESTED";
         case FACTION.FC_CORPUS:
             return "FC_CORPUS";
     }
 }
Пример #22
0
 public static bool IS_INFESTED(FACTION FAC)
 {
     return FAC == FACTION.FC_INFESTED;
 }