Exemplo n.º 1
0
 private void CreateAsteroidRPC(NetworkViewID objectOwner, int objectID, Vector3 position, Vector3 localScale, string name)
 {
     this.AsteroidRingGenerator.CreateAsteroid(position, localScale, name, base.Players[objectOwner], objectID);
 }
Exemplo n.º 2
0
 public static bool ContextOf(NetworkViewID networkViewID, out Contextual contextual)
 {
     return(GetMB(NetworkView.Find(networkViewID), out contextual));
 }
Exemplo n.º 3
0
    private void SetObjectTagRPC(NetworkViewID owner, int objectID, string tag)
    {
        GameObject obj = base.GetObject(owner, objectID);

        obj.tag = tag;
    }
Exemplo n.º 4
0
		private void Internal_SetViewID(NetworkViewID viewID){}
Exemplo n.º 5
0
    void SpawnAvatar(NetworkViewID viewID, Vector3 color, string name)
    {
        //appelé chez tout le monde pour créer un avatar
        GameObject clone;

        //clone = GameObject.CreatePrimitive(PrimitiveType.Capsule);
        clone = GameObject.Instantiate(NA.app.goPrefabAvatar, Vector3.zero, Quaternion.identity) as GameObject;

        clone.name = name;
        Collider.Destroy(clone.GetComponent <Collider>());
        //clone.GetComponent<Collider>().isTrigger = true;

        SphereCollider sc = clone.AddComponent <SphereCollider>();

        sc.isTrigger = true;

        NetworkView nView = clone.AddComponent <NetworkView>();

        nView.viewID = viewID;

        //JT Oct 2016 - test with manual sync instead of built-in
        //nView.stateSynchronization = NetworkStateSynchronization.Unreliable;
        nView.stateSynchronization = NetworkStateSynchronization.Off;
        nView.observed             = null;
        clone.AddComponent <NASyncTransform>();
        //===

        Light l = clone.AddComponent <Light>();

        l.intensity = 2f;
        l.enabled   = false;
        l.type      = LightType.Spot;
        l.range     = 100f;
        l.spotAngle = 90f;


        if (nView.owner == Network.player)
        {
            NA.goAvatar = clone;             //mine
        }
        else
        {
            //NA.player_objects.Add(clone); //this is considered as a player object
        }

        MeshRenderer renderer = clone.GetComponent <MeshRenderer>();

        if (renderer != null)
        {
            renderer.material.color = new Color(color.x, color.y, color.z, 0.3f);
        }
        else
        {
            Color      col       = new Color(color.x, color.y, color.z, 0.3f);
            Renderer[] renderers = clone.GetComponentsInChildren <Renderer>();
            Material   m         = null;
            foreach (Renderer r in renderers)
            {
                if (m == null)
                {
                    m = r.material;
                }
                r.material = m;
                //r.sharedMaterial.color = col;
                m.color = col;
            }
        }
        clone.transform.parent = NA.app.goRootAvatars.transform;
        //LogManager.Log ("New Avatar:" +  name + " owner:" + nView.owner);
        LogManager.Log(name + " joined!");
        NA.AddAvatar(clone);
    }
Exemplo n.º 6
0
 void RemoveViewID(NetworkViewID viewID)
 {
 }
Exemplo n.º 7
0
    public void SendDestroyBall(int inBallId)
    {
        NetworkViewID viewID = Network.AllocateViewID();

        GetComponent <NetworkView>().RPC("GetMessageDestroyBall", RPCMode.AllBuffered, viewID, inBallId);
    }
Exemplo n.º 8
0
		private static void INTERNAL_CALL_Destroy(ref NetworkViewID viewID){}
Exemplo n.º 9
0
		private static void Internal_RemoveRPCs(NetworkPlayer playerID, NetworkViewID viewID, uint channelMask){}
Exemplo n.º 10
0
		private static void Internal_AllocateViewID(out NetworkViewID viewID){}
Exemplo n.º 11
0
		public static void Destroy(NetworkViewID viewID){}
Exemplo n.º 12
0
		private static NetworkView INTERNAL_CALL_Find(ref NetworkViewID viewID){}
Exemplo n.º 13
0
		public static NetworkView Find(NetworkViewID viewID){}
Exemplo n.º 14
0
		private static void INTERNAL_CALL_Internal_SetViewID(NetworkView self, ref NetworkViewID viewID){}
Exemplo n.º 15
0
    void GiveMeACart(string cartModel, string ballModel, string characterModel, NetworkMessageInfo info)
    {
        // create new buggy for the new guy - his must be done on the server otherwise collisions wont work!
        Vector3 spawnLocation = new Vector3(0, 5, 0);
        Vector3 velocity      = new Vector3(0, 0, 0);

        // instantiate the prefabs
        GameObject cartContainerObject = (Instantiate(Resources.Load(cartModel), spawnLocation, Quaternion.identity) as GameObject);
        GameObject ballGameObject      = Instantiate(Resources.Load(ballModel), spawnLocation + new Vector3(3, 0, 0), Quaternion.identity) as GameObject;
        GameObject characterGameObject = Instantiate(Resources.Load(characterModel), spawnLocation + new Vector3(0, -1, 0), Quaternion.identity) as GameObject;
        GameObject cartGameObject      = cartContainerObject.transform.FindChild("buggy").gameObject;

        // set buggy as characters parent
        characterGameObject.transform.parent = cartGameObject.transform;

        // create and set viewIDs
        NetworkViewID cartViewIDTransform = Network.AllocateViewID();
        NetworkView   cgt = cartContainerObject.AddComponent("NetworkView") as NetworkView;

        cgt.observed             = cartContainerObject.transform;
        cgt.viewID               = cartViewIDTransform;
        cgt.stateSynchronization = NetworkStateSynchronization.Unreliable;
        NetworkViewID cartViewIDRigidbody = Network.AllocateViewID();
        NetworkView   cgr = cartGameObject.AddComponent("NetworkView") as NetworkView;

        cgr.observed             = cartGameObject.rigidbody;
        cgr.viewID               = cartViewIDRigidbody;
        cgr.stateSynchronization = NetworkStateSynchronization.Unreliable;
        NetworkViewID ballViewID = Network.AllocateViewID();

        ballGameObject.networkView.viewID = ballViewID;
        NetworkViewID characterViewID = Network.AllocateViewID();

        characterGameObject.networkView.viewID = characterViewID;

        // tell everyone else about it
        networkView.RPC("SpawnPrefab", RPCMode.Others, cartViewIDTransform, spawnLocation, velocity, cartModel);
        networkView.RPC("SpawnPrefab", RPCMode.Others, ballViewID, spawnLocation, velocity, ballModel);
        networkView.RPC("SpawnPrefab", RPCMode.Others, characterViewID, spawnLocation, velocity, characterModel);

        // tell all players this is a player and not some random objects
        networkView.RPC("SpawnPlayer", RPCMode.Others, cartViewIDTransform, cartViewIDRigidbody, ballViewID, characterViewID, 0, info.sender);

        // tell the player it's theirs
        networkView.RPC("ThisOnesYours", info.sender, cartViewIDTransform, ballViewID, characterViewID);

        // create a PlayerInfo for it
        PlayerInfo newGuy = new PlayerInfo();

        newGuy.cartModel           = cartModel;
        newGuy.cartContainerObject = cartContainerObject;
        newGuy.cartGameObject      = cartGameObject;
        newGuy.cartViewIDTransform = cartViewIDTransform;
        newGuy.cartViewIDRigidbody = cartViewIDRigidbody;
        newGuy.ballModel           = ballModel;
        newGuy.ballGameObject      = ballGameObject;
        newGuy.ballViewID          = ballViewID;
        newGuy.characterModel      = characterModel;
        newGuy.characterGameObject = characterGameObject;
        newGuy.characterViewID     = characterViewID;
        newGuy.currentMode         = 0; // set them in buggy
        newGuy.player = info.sender;

        // add it to the lists
        nvs.players.Add(newGuy);
    }
Exemplo n.º 16
0
		private static void INTERNAL_CALL_Internal_RemoveRPCs(NetworkPlayer playerID, ref NetworkViewID viewID, uint channelMask){}
Exemplo n.º 17
0
 void SpawnPrefab(NetworkViewID viewID, Vector3 spawnLocation, Vector3 velocity, string prefabName)
 {
 }
Exemplo n.º 18
0
		public static void RemoveRPCs(NetworkViewID viewID){}
Exemplo n.º 19
0
 void GetMessage(NetworkViewID inViewId, string inMessage)
 {
     Debug.Log("Net message = " + inMessage);
 }
Exemplo n.º 20
0
		private void Serializen(ref NetworkViewID viewID){}
Exemplo n.º 21
0
    public void SendGameOver()
    {
        NetworkViewID viewID = Network.AllocateViewID();

        GetComponent <NetworkView>().RPC("GetMessageGameOver", RPCMode.AllBuffered, viewID, Data.isGameOver ? 1 : 0);
    }
Exemplo n.º 22
0
		private static void INTERNAL_CALL_Serializen(BitStream self, ref NetworkViewID viewID){}
Exemplo n.º 23
0
    void CloneObject(string name, NetworkViewID viewID, Vector3 location, Vector3 forward, Vector3 color)
    {
        GameObject clone = null;
        GameObject model = null;

        foreach (NAObject o in NA.instanciables)
        {
            if (o.name == name)
            {
                model = o.go;
                if (o.downloading)
                {
                    LogManager.LogWarning("clone command received but model is still downloading !");
                }
            }
        }
        //instead of cloning the root, we clone the first child (for synchronization purpose on physicallized objects)
        //this is where we have an issue (Island animals vs Coffe pot)
        NAAnimalBehavior animal = model.GetComponentInChildren <NAAnimalBehavior>();

        if (model.transform.childCount > 0 && animal)
        {
            model = model.transform.GetChild(0).gameObject;
        }

        clone = GameObject.Instantiate(model, Vector3.zero, Quaternion.identity) as GameObject;

        LogManager.Log("clone " + name);

        //reset position of main child
        if (clone.transform.childCount > 0 && animal)
        {
            clone.transform.GetChild(0).gameObject.transform.localPosition = Vector3.zero;
        }

        //remove previous network view
        NetworkView nViewOriginal = clone.GetComponent <NetworkView>();

        if (nViewOriginal)
        {
            NetworkView.Destroy(nViewOriginal);
        }

        NetworkView nView = clone.AddComponent <NetworkView>();

        nView.viewID = viewID;
        nView.stateSynchronization = NetworkStateSynchronization.Unreliable;

        clone.transform.position = location;


        MeshRenderer renderer = clone.GetComponent <MeshRenderer>();

        if (renderer != null)
        {
            renderer.material.color = new Color(color.x, color.y, color.z);
        }
        //apply forward world orientation
        clone.transform.forward = forward;
        //clone.transform.forward = transform.rotation * Vector3.Normalize(forward) ;

        //clone.transform.forward = forward;


        //Rigidbody rb = clone.AddComponent<Rigidbody>();
        if (NA.isServer() || NA.isStandalone())
        {
            /*Rigidbody rb = clone.AddComponent<Rigidbody>();
             * rb.collisionDetectionMode = CollisionDetectionMode.Continuous;
             * rb.AddForce(forward*200f);
             */
        }
        else
        {
            //client, we need the RB for local collisions but in kinematic mode only
            //rb.isKinematic = true;
        }
        NA.player_objects.Add(clone);
    }
Exemplo n.º 24
0
		public void Serialize(ref NetworkViewID viewID){}
Exemplo n.º 25
0
    void SpawnPlayer(NetworkViewID cartViewIDTransform, NetworkViewID cartViewIDRigidbody, NetworkViewID ballViewID, NetworkViewID characterViewID, int mode, NetworkPlayer player)
    {
        foreach (PlayerInfo newGuy in nvs.players)
        {
            if (newGuy.player == player)
            {
                newGuy.cartViewIDTransform = cartViewIDTransform;
                newGuy.cartGameObject      = NetworkView.Find(cartViewIDTransform).gameObject;
                newGuy.cartViewIDRigidbody = cartViewIDRigidbody;
                // add another NetworkView for the rigidbody
                NetworkView cgr = newGuy.cartGameObject.AddComponent("NetworkView") as NetworkView;                             // add rigidbody tracking
                cgr.observed               = newGuy.cartGameObject.rigidbody;
                cgr.viewID                 = cartViewIDRigidbody;
                cgr.stateSynchronization   = NetworkStateSynchronization.Unreliable;
                newGuy.characterViewID     = characterViewID;
                newGuy.characterGameObject = NetworkView.Find(characterViewID).gameObject;
                newGuy.ballViewID          = ballViewID;
                newGuy.ballGameObject      = NetworkView.Find(ballViewID).gameObject;
                newGuy.currentMode         = mode;


                // ADD MORE STUFF HERE
                if (newGuy.currentMode == 0)
                {
                    // set them inside the buggy
                    newGuy.characterGameObject.transform.parent        = newGuy.cartGameObject.transform;
                    newGuy.characterGameObject.transform.localPosition = new Vector3(0, 0, 0);
                    newGuy.characterGameObject.transform.localRotation = Quaternion.identity;
                }
                else if (newGuy.currentMode == 1)
                {
                    // set them outside the buggy
                    newGuy.characterGameObject.transform.parent        = newGuy.ballGameObject.transform;
                    newGuy.characterGameObject.transform.localPosition = new Vector3(0, 0, -2);
                    newGuy.characterGameObject.transform.localRotation = Quaternion.identity;
                }
            }
        }
    }
Exemplo n.º 26
0
    protected virtual GameObject ThrowItem(ItemRepresentation rep, IThrowableItem item, Vector3 origin, Vector3 forward, NetworkViewID owner)
    {
        Vector3    velocity = (Vector3)(forward * item.heldThrowStrength);
        Vector3    position = origin + ((Vector3)(forward * 1f));
        Quaternion rotation = Quaternion.LookRotation(Vector3.up);

        return(this.SpawnThrowItem(owner, this.throwObjectPrefab, position, rotation, velocity));
    }
Exemplo n.º 27
0
 public void AddPlayerTEMP(NetworkViewID otherPlayer)
 {
     otherPlayers.Add(otherPlayer);
 }
Exemplo n.º 28
0
    void CreateCube()
    {
        NetworkViewID viewID = Network.AllocateViewID();

        GetComponent <NetworkView>().RPC("SpawnBox", RPCMode.AllBuffered, viewID, transform.position);
    }
Exemplo n.º 29
0
    private void DroneShootRPC(NetworkViewID owner, int objectID, bool shoot)
    {
        GameObject drone = base.GetObject(owner, objectID);

        drone.GetComponent <DroneBehaviour>().KeepShooting = shoot;
    }
Exemplo n.º 30
0
    void ignoreCollisionWidth(NetworkViewID fireId)
    {
        Collider fire = NetworkView.Find(fireId).gameObject.collider;

        Physics.IgnoreCollision(this.gameObject.collider, fire);
    }
Exemplo n.º 31
0
    // Use this for initialization
    void Start()
    {
        // setup reference to networkVariables
        nvs = gameObject.GetComponent("networkVariables") as networkVariables;

        // get server version
        serverVersion = nvs.serverVersion;

        // Use NAT punchthrough if no public IP present
        Network.InitializeServer(32, 11177, !Network.HavePublicAddress());
        MasterServer.RegisterHost(serverVersion, SystemInfo.deviceName, "Test server");

        // create server owners buggy
        GameObject cartContainerObject = (Instantiate(Resources.Load("multi_buggy"), new Vector3(0, 5, 0), Quaternion.identity) as GameObject);
        GameObject ballGameObject      = Instantiate(Resources.Load("ball"), new Vector3(3, 5, 0), Quaternion.identity) as GameObject;
        GameObject characterGameObject = Instantiate(Resources.Load("lil_patrick"), new Vector3(0, 4, 0), Quaternion.identity) as GameObject;
        GameObject cartGameObject      = cartContainerObject.transform.FindChild("buggy").gameObject;

        // set buggy as characters parent
        characterGameObject.transform.parent = cartGameObject.transform;

        // networkview that shit
        NetworkViewID cartViewIDTransform = Network.AllocateViewID();
        NetworkView   cgt = cartContainerObject.AddComponent("NetworkView") as NetworkView;

        cgt.observed             = cartContainerObject.transform;
        cgt.viewID               = cartViewIDTransform;
        cgt.stateSynchronization = NetworkStateSynchronization.Unreliable;
        NetworkViewID cartViewIDRigidbody = Network.AllocateViewID();
        NetworkView   cgr = cartGameObject.AddComponent("NetworkView") as NetworkView;

        cgr.observed             = cartGameObject.rigidbody;
        cgr.viewID               = cartViewIDRigidbody;
        cgr.stateSynchronization = NetworkStateSynchronization.Unreliable;
        NetworkViewID ballViewID = Network.AllocateViewID();

        ballGameObject.networkView.viewID = ballViewID;
        NetworkViewID characterViewID = Network.AllocateViewID();

        characterGameObject.networkView.viewID = characterViewID;

        // turn it into a PlayerInfo
        nvs.myInfo.cartContainerObject = cartContainerObject;
        nvs.myInfo.cartGameObject      = cartGameObject;
        nvs.myInfo.cartModel           = "multi_buggy";
        nvs.myInfo.cartViewIDTransform = cartViewIDTransform;
        nvs.myInfo.cartViewIDRigidbody = cartViewIDRigidbody;
        nvs.myInfo.ballGameObject      = ballGameObject;
        nvs.myInfo.ballModel           = "ball";
        nvs.myInfo.ballViewID          = ballViewID;
        nvs.myInfo.characterGameObject = characterGameObject;
        nvs.myInfo.characterModel      = "lil_patrick";
        nvs.myInfo.characterViewID     = characterViewID;
        nvs.myInfo.currentMode         = 0;     // set in buggy

        // get self
        nvs.myInfo.player = Network.player;

        // keep a copy
        myInfo = nvs.myInfo;

        // add myInfo to the player list
        nvs.players = new ArrayList();
        nvs.players.Add(myInfo);

        // ANY SERVER SIDE SCRIPTS GO HERE
        //********************************************
        // receives all players inputs and handles fiziks
        gameObject.AddComponent("controlServer");
        // chat
        gameObject.AddComponent("netChat");
        //pause
        gameObject.AddComponent("netPause");
        //********************************************
    }
    // Use this for initialization
    void Start()
    {
        // setup reference to networkVariables
        nvs = gameObject.GetComponent("networkVariables") as networkVariables;

        // get server version
        serverVersion = nvs.serverVersion;
        // get server name
        string serverName = nvs.serverName;

        // Use NAT punchthrough if no public IP present
        Network.InitializeServer(32, 11177, !Network.HavePublicAddress());
        MasterServer.RegisterHost(serverVersion, SystemInfo.deviceName, serverName);

        // create server owners buggy
        // This line will get changed at some point - no need to have the camera and the marker in the prefab - they should be in their own scripts
        GameObject cartGameObject = (Instantiate(Resources.Load("buggy_m"), new Vector3(0, 5, 0), Quaternion.identity) as GameObject);
        // ****************************
        GameObject ballGameObject      = Instantiate(Resources.Load("ball"), new Vector3(3, 5, 0), Quaternion.identity) as GameObject;
        GameObject characterGameObject = Instantiate(Resources.Load("lil_patrick"), new Vector3(0, 4, 0), Quaternion.identity) as GameObject;

        // set buggy as characters parent
        characterGameObject.transform.parent = cartGameObject.transform;

        // networkview that shit
        NetworkViewID cartViewIDTransform = Network.AllocateViewID();
        NetworkView   cgt = cartGameObject.GetComponent("NetworkView") as NetworkView;

        cgt.observed             = cartGameObject.transform;
        cgt.viewID               = cartViewIDTransform;
        cgt.stateSynchronization = NetworkStateSynchronization.Unreliable;
        NetworkViewID cartViewIDRigidbody = Network.AllocateViewID();
        NetworkView   cgr = cartGameObject.AddComponent("NetworkView") as NetworkView;

        cgr.observed             = cartGameObject.rigidbody;
        cgr.viewID               = cartViewIDRigidbody;
        cgr.stateSynchronization = NetworkStateSynchronization.Unreliable;
        NetworkViewID ballViewID = Network.AllocateViewID();

        ballGameObject.networkView.viewID = ballViewID;
        NetworkViewID characterViewID = Network.AllocateViewID();

        characterGameObject.networkView.viewID = characterViewID;

        // turn it into a PlayerInfo
        nvs.myInfo.cartGameObject      = cartGameObject;
        nvs.myInfo.cartModel           = "buggy_m";
        nvs.myInfo.cartViewIDTransform = cartViewIDTransform;
        nvs.myInfo.cartViewIDRigidbody = cartViewIDRigidbody;
        nvs.myInfo.ballGameObject      = ballGameObject;
        nvs.myInfo.ballModel           = "ball";
        nvs.myInfo.ballViewID          = ballViewID;
        nvs.myInfo.characterGameObject = characterGameObject;
        nvs.myInfo.characterModel      = "lil_patrick";
        nvs.myInfo.characterViewID     = characterViewID;
        nvs.myInfo.currentMode         = 0;     // set in buggy

        // get self
        nvs.myInfo.player = Network.player;

        // keep a copy
        myInfo = nvs.myInfo;

        // add myInfo to the player list
        nvs.players = new ArrayList();
        nvs.players.Add(myInfo);

        // ANY SERVER SIDE SCRIPTS GO HERE
        //********************************************
        // receives all players inputs and handles fiziks
        gameObject.AddComponent("controlServer");
        // chat
        gameObject.AddComponent("netChat");
        //pause
        gameObject.AddComponent("netPause");
        // set the camera in the audio script on the buggy - PUT THIS IN A SCRIPT SOMEONE
        CarAudio mca = myInfo.cartGameObject.GetComponent("CarAudio") as CarAudio;

        mca.followCamera = nvs.myCam;                                                                                 // replace tmpCam with our one - this messes up sound atm
        (nvs.myCam.gameObject.AddComponent("SmoothFollow") as SmoothFollow).target = myInfo.cartGameObject.transform; // add smooth follow script
        //********************************************
    }
Exemplo n.º 33
0
 void ThisOnesYours(NetworkViewID viewID, NetworkViewID b, NetworkViewID c)
 {
 }
Exemplo n.º 34
0
Arquivo: Weapons.cs Projeto: nezix/SGB
 [RPC] void DestroyBlock(NetworkViewID blockId)
 {
     Network.Destroy(blockId);
 }
Exemplo n.º 35
0
 void SpawnPlayer(NetworkViewID viewID, NetworkViewID b, NetworkViewID c, NetworkViewID d, int mode, NetworkPlayer p)
 {
 }
Exemplo n.º 36
0
    //private static Dictionary<string, AssetBundle> AssetBundles = new Dictionary<string, AssetBundle>();

    public NAObject(GameObject _root, string _name, Vector3 _position, Vector3 _angles, Vector3 _scale, string _file, NetworkViewID _NetworkViewId)
    {
        Debug.Log("Creating NAObject " + _name);
        name          = _name;
        position      = _position;
        angles        = _angles;
        scale         = _scale;
        file          = _file;
        NetworkViewId = _NetworkViewId;

        //create and sync the Main GameObject
        go = new GameObject(_name + _NetworkViewId);
        go.transform.parent      = _root.transform;
        go.transform.position    = _position;
        go.transform.eulerAngles = _angles;
        //go.transform.localScale   = _scale;

        NetworkView nView = go.AddComponent <NetworkView>();

        nView.viewID = this.NetworkViewId;

        NetworkSync nSync = go.AddComponent <NetworkSync>();

        //if (name.Contains("Coffee") || name.Contains("Radio") || name.Contains("Object"))
        if (name.StartsWith("X"))
        {
            LogManager.Log("add " + name + " to the instanciables.");
            NA.instanciables.Add(this);
        }
    }
Exemplo n.º 37
0
    void SpawnEnemyRPC(string name, Vector3 position, NetworkViewID id)
    {
        GameObject e = (GameObject)Instantiate(EnemyPrefabs [name], position, Quaternion.identity);

        e.networkView.viewID = id;
    }
Exemplo n.º 38
0
    public void Process()
    {
        if (downloading)
        {
            AssetBundle bundle = NADownloader.GetAssetBundle(download_id);
            if (bundle != null)             //downloaded
            {
                downloading = false;
                GameObject goChild             = null;
                bool       bInstantiateObjects = true;
                if (bInstantiateObjects)
                {
                    Debug.Log("instantiate object " + name);
                    Object[] objs = bundle.LoadAllAssets();
                    Debug.Log("Asset Bundle Objects count = " + objs.Length);
                    string[] strAssets = bundle.GetAllAssetNames();

                    /*
                     * foreach (string s in strAssets)
                     * {
                     *      Debug.Log ("Asset = " + s);
                     * }
                     */
                    /*
                     * foreach (Object o in objs)
                     * {
                     *      Debug.Log ("Object " + o.name + " type:" + o.GetType());
                     * }
                     */
                    if (bundle.mainAsset == null)                     //no main Asset in the bundle
                    {
                        Debug.Log("no mainAsset in bundle, manually instantiating objects");
                        foreach (Object o in objs)
                        {
                            if (o != null)
                            {
                                goChild = GameObject.Instantiate(o) as GameObject;
                                if (goChild != null)
                                {
                                    goChild.name                       = o.name;
                                    goChild.transform.parent           = go.transform;
                                    goChild.transform.localPosition    = Vector3.zero;
                                    goChild.transform.localEulerAngles = Vector3.zero;
                                    //goChild.transform.localScale      = Vector3.one;
                                }
                            }
                        }
                    }
                    else
                    {
                        Debug.Log("instantiating mainAsset in bundle");
                        goChild                            = GameObject.Instantiate(bundle.mainAsset) as GameObject;
                        goChild.name                       = bundle.mainAsset.name + id;
                        goChild.transform.parent           = go.transform;
                        goChild.transform.localPosition    = Vector3.zero;
                        goChild.transform.localEulerAngles = Vector3.zero;
                        //goChild.transform.localScale = Vector3.one;
                    }
                    //NA.PatchMaterials(go); //crashes on 5.3.1
                    //if (!name.Contains("elevation"))
                    //{
                    NA.PatchAllMaterials(goChild);                     //go
                    //}

                    NAObjectLabel lbl = go.GetComponentInChildren <NAObjectLabel>();
                    if (lbl)
                    {
                        /*Renderer lblr = lbl.gameObject.GetComponent<Renderer>();
                         * if (lblr != null)
                         * {
                         *      lblr.enabled = false;
                         * }
                         */
                        //fix du collider
                        Collider col = lbl.gameObject.GetComponent <Collider>();
                        if (col != null)
                        {
                            col.isTrigger = true;
                        }
                    }

                    Light[]         lights      = go.GetComponentsInChildren <Light>();
                    Transform[]     gameobjects = go.GetComponentsInChildren <Transform>();
                    AudioListener[] listeners   = go.GetComponentsInChildren <AudioListener>();

                    //exceptions

                    /*if (name.Contains("maki") || name.Contains("SYN"))
                     * {
                     *      //unactivate lights
                     *      foreach (Light l in lights)
                     *      {
                     *              l.enabled = false;
                     *
                     *      }
                     *
                     *
                     * }
                     */


                    //we have to scale after instantiation
                    go.transform.localScale = scale;
                    bundle.Unload(false);
                    go.AddComponent <NAViewerOptim>();

                    sources = go.GetComponentsInChildren <AudioSource>();
                    //audio sources have to be augmented with specific NA behaviour
                    foreach (AudioSource s in sources)
                    {
                        //NA.DecorateAudioSource(s);
                        s.spatialBlend = 1f;
                        //s.rolloffMode = AudioRolloffMode.Linear;

                        if (s.name == "LightBeam")
                        {
                            s.rolloffMode = AudioRolloffMode.Custom;
                            s.maxDistance = 100f;
                        }
                    }

                    foreach (AudioListener al in listeners)
                    {
                        al.enabled = false;
                    }
                    LogManager.LogWarning(name + " - objects:" + gameobjects.Length + " sources:" + sources.Length + " lights:" + lights.Length);
                    //ESPACES RESONANTS

                    /*
                     * NAReverbResonator[] resonators = NAReverbResonator.FindObjectsOfType(typeof(NAReverbResonator)) as NAReverbResonator[];
                     *
                     * Debug.Log ("NAReverbResonator count = " + resonators.Length);
                     * foreach (NAReverbResonator r in resonators)
                     * {
                     *      NAReverbEffector eff = r.gameObject.GetComponent<NAReverbEffector>();
                     *      if (eff == null)
                     *              r.gameObject.AddComponent<NAReverbEffector>();
                     *
                     *      AudioReverbFilter arf = r.gameObject.GetComponent<AudioReverbFilter>();
                     *      if (arf == null)
                     * r.gameObject.AddComponent<AudioReverbFilter>();
                     *
                     * }
                     */


                    //jonathan : removed on 1/9/2016


                    NetworkSync nSync = go.GetComponent <NetworkSync>();

                    List <GameObject> listSync = new List <GameObject>();

                    //Oct 2016 : special cases
                    NoiseBall[] nballs = go.GetComponentsInChildren <NoiseBall>();
                    foreach (NoiseBall nb in nballs)
                    {
                        listSync.Add(nb.gameObject);
                    }

                    //Oct 2016 : get the objects to be custom synced and add to the list
                    NASync[] nasyncs = go.GetComponentsInChildren <NASync>();
                    foreach (NASync nasync in nasyncs)
                    {
                        listSync.Add(nasync.gameObject);
                    }

                    if (NA.syncMode == SyncMode.RigibodiesAndAudioSources)
                    {
                        /*Rigidbody[] rbs = go.GetComponentsInChildren<Rigidbody>();
                         * foreach (Rigidbody rb in rbs)
                         * {
                         *      listSync.Add(rb.gameObject);
                         * }
                         * AudioSource[] audios = go.GetComponentsInChildren<AudioSource>();
                         * foreach (AudioSource audio in audios)
                         * {
                         *      listSync.Add(audio.gameObject);
                         * }
                         */

                        Collider[] colliders = go.GetComponentsInChildren <Collider>();
                        foreach (Collider collider in colliders)
                        {
                            listSync.Add(collider.gameObject);
                        }
                    }

                    if (NA.isServer())
                    {
                        foreach (GameObject o in listSync)
                        {
                            string        path = NA.GetGameObjectPath(o.transform);
                            NetworkViewID id   = Network.AllocateViewID();
                            //LogManager.Log("PrepareAsServer " + path + " id=" + id);
                            go.GetComponent <NetworkView>().RPC("AttachNetworkView", RPCMode.AllBuffered, path, id);
                        }
                    }
                    else if (NA.isClient())
                    {
                        nSync.AttachNetworkViews();
                    }



                    /*
                     *
                     * nSync.Prepare(); //client and server (for now, just stops all AudioSources)
                     * if (Network.isServer)
                     * {
                     *      if (goChild != null)
                     *      {
                     *              PrepareAsServer(goChild, goChild.name);
                     *      }
                     * }
                     * else
                     * {
                     *      nSync.AttachNetworkViews();
                     * }
                     *
                     */
                }
            }
        }
    }
Exemplo n.º 39
0
    public void SendPosBall(int inBallId, Vector3 inPos)
    {
        NetworkViewID viewID = Network.AllocateViewID();

        GetComponent <NetworkView>().RPC("GetMessageBallPos", RPCMode.AllBuffered, viewID, inBallId, inPos);
    }
Exemplo n.º 40
0
 void SpawnBall(NetworkViewID viewId)
 {
 }
Exemplo n.º 41
0
    public void SendBoardPos(Vector3 inPos)
    {
        NetworkViewID viewID = Network.AllocateViewID();

        GetComponent <NetworkView>().RPC("GetMessageBoardPos", RPCMode.AllBuffered, viewID, inPos);
    }
Exemplo n.º 42
0
    protected override GameObject ThrowItem(ItemRepresentation rep, IThrowableItem item, Vector3 origin, Vector3 forward, NetworkViewID owner)
    {
        forward.Normalize();
        Vector3 velocity = (Vector3)(forward * 20f);
        Vector3 position = origin + ((Vector3)(forward * 0.5f));

        return(this.SpawnThrowItem(owner, base.throwObjectPrefab, position, Quaternion.LookRotation(Vector3.up), velocity));
    }
Exemplo n.º 43
0
    public void SendScore()
    {
        NetworkViewID viewID = Network.AllocateViewID();

        GetComponent <NetworkView>().RPC("GetMessageScore", RPCMode.AllBuffered, viewID, Data.score);
    }
Exemplo n.º 44
0
		private void Internal_GetViewID(out NetworkViewID viewID){}