Beispiel #1
0
 public void askAllBarricades(NetworkPlayer player, int x, int y)
 {
     for (int i = 0; i < SpawnBarricades.regions[x, y].barricades.Count; i++)
     {
         ServerBarricade item = SpawnBarricades.regions[x, y].barricades[i];
         if (player != Network.player)
         {
             base.networkView.RPC("createBarricade", player, new object[] { item.id, item.position, item.rotation });
         }
         else
         {
             this.createBarricade(item.id, item.position, item.rotation);
         }
     }
 }
Beispiel #2
0
    public static void damage(Vector3 position, int amount)
    {
        Point2 region = NetworkRegions.getRegion(position);
        int    indexFromPositionServer = SpawnBarricades.getIndexFromPositionServer(region, position);

        if (indexFromPositionServer != -1)
        {
            ServerBarricade item = SpawnBarricades.regions[region.x, region.y].barricades[indexFromPositionServer];
            item.health = item.health - amount;
            if (SpawnBarricades.regions[region.x, region.y].barricades[indexFromPositionServer].health <= 0)
            {
                NetworkEffects.askEffect(BarricadeStats.getEffect(SpawnBarricades.regions[region.x, region.y].barricades[indexFromPositionServer].id), position, Quaternion.Euler(-90f, 0f, 0f), -1f);
                NetworkSounds.askSound(BarricadeStats.getSound(SpawnBarricades.regions[region.x, region.y].barricades[indexFromPositionServer].id), position, 1f, UnityEngine.Random.Range(0.9f, 1.1f), 1f);
                SpawnBarricades.tool.networkView.RPC("destroyBarricade", RPCMode.All, new object[] { position });
            }
        }
    }
Beispiel #3
0
 public static void save(int x, int y)
 {
     if (SpawnBarricades.regions[x, y].barricades.Count > 0 || SpawnBarricades.regions[x, y].edit)
     {
         string empty = string.Empty;
         for (int i = 0; i < SpawnBarricades.regions[x, y].barricades.Count; i++)
         {
             ServerBarricade item = SpawnBarricades.regions[x, y].barricades[i];
             empty = string.Concat(empty, item.id, ":");
             empty = string.Concat(empty, item.health, ":");
             empty = string.Concat(empty, item.state, ":");
             empty = string.Concat(empty, Mathf.Floor(item.position.x * 100f) / 100f, ":");
             empty = string.Concat(empty, Mathf.Floor(item.position.y * 100f) / 100f, ":");
             empty = string.Concat(empty, Mathf.Floor(item.position.z * 100f) / 100f, ":");
             empty = string.Concat(empty, Mathf.Floor(item.rotation.x * 100f) / 100f, ":");
             empty = string.Concat(empty, Mathf.Floor(item.rotation.y * 100f) / 100f, ":");
             empty = string.Concat(empty, Mathf.Floor(item.rotation.z * 100f) / 100f, ":;");
         }
         Savedata.saveBarricades(x, y, empty);
     }
 }
Beispiel #4
0
 public void onReady()
 {
     SpawnBarricades.tool    = this;
     SpawnBarricades.model   = GameObject.Find(Application.loadedLevelName).transform.FindChild("barricades").gameObject;
     SpawnBarricades.regions = new BarricadesRegion[NetworkRegions.REGION_X, NetworkRegions.REGION_Y];
     for (int i = 0; i < NetworkRegions.REGION_X; i++)
     {
         for (int j = 0; j < NetworkRegions.REGION_Y; j++)
         {
             SpawnBarricades.regions[i, j] = new BarricadesRegion();
         }
     }
     if (Network.isServer)
     {
         for (int k = 0; k < NetworkRegions.REGION_X; k++)
         {
             for (int l = 0; l < NetworkRegions.REGION_Y; l++)
             {
                 string str = Savedata.loadBarricades(k, l);
                 if (str != string.Empty)
                 {
                     string[] strArrays = Packer.unpack(str, ';');
                     for (int m = 0; m < (int)strArrays.Length; m++)
                     {
                         string[]        strArrays1      = Packer.unpack(strArrays[m], ':');
                         int             num             = int.Parse(strArrays1[0]);
                         ServerBarricade serverBarricade = new ServerBarricade(num, int.Parse(strArrays1[1]), strArrays1[2], new Vector3(float.Parse(strArrays1[3]), float.Parse(strArrays1[4]), float.Parse(strArrays1[5])), new Vector3(float.Parse(strArrays1[6]), float.Parse(strArrays1[7]), float.Parse(strArrays1[8])));
                         SpawnBarricades.regions[k, l].barricades.Add(serverBarricade);
                         this.createBarricade(SpawnBarricades.regions[k, l].barricades[SpawnBarricades.regions[k, l].barricades.Count - 1].id, SpawnBarricades.regions[k, l].barricades[SpawnBarricades.regions[k, l].barricades.Count - 1].position, SpawnBarricades.regions[k, l].barricades[SpawnBarricades.regions[k, l].barricades.Count - 1].rotation);
                     }
                     SpawnBarricades.regions[k, l].edit = true;
                 }
             }
         }
     }
 }