示例#1
0
 void hdrNewTeam(GameData.TEAM team)
 {
     IS_NEW_INPUT  = true;
     TEAM_SELECTED = team;
     m_UITeam.SetActive(false);
     m_UIHero.SetActive(true);
 }
示例#2
0
    public void init(
        NetworkPrefabLoader loader,
        GameData.TEAM team, EntityPlayer entity, Rigidbody rigidBody,
        Vector3 position, Vector3 to)
    {
        PhysicsLayer.SET_ATTACK(prefab, team);

        reader.enabled  = true;
        reader.m_entity = entity;
        loadRocketModel.networkloader    = loader;
        loadExplosionModel.networkloader = loader;
        loadRocketModel.team             = team;
        loadExplosionModel.team          = team;
        move.m_rigidBody         = rigidBody;
        destroyNetworkObject.obj = entity.gameObject;
        destroyNetworkObject.isNetworkedObject = true;
        if (team == GameData.TEAM.RED)
        {
            loadExplosionPlayer.layer = PHYSICS_LAYER.LAYER_RED_ATTACK;
        }
        else
        {
            loadExplosionPlayer.layer = PHYSICS_LAYER.LAYER_BLUE_ATTACK;
        }
        this.transform.parent        = entity.transform;
        this.transform.localPosition = Vector3.zero;
        this.transform.localRotation = Quaternion.identity;

        entity.transform.position = position;
        entity.transform.LookAt(to);
    }
示例#3
0
    public static void SET_ATTACK(Prefab prefab, GameData.TEAM team)
    {
        int layer = (team == GameData.TEAM.RED) ? ME.LAYER_RED_ATTACK : ME.LAYER_BLUE_ATTACK;

        for (int i = 0; i < prefab.m_colldiers.Count; i++)
        {
            prefab.m_colldiers[i].gameObject.layer = layer;
        }
    }
示例#4
0
 public void RpcChangeTeam(GameData.TEAM team)
 {
     Debug.Log("TEAM CHANGED TIO " + team);
     if (m_entity == null)
     {
         return;
     }
     Game.SET_PLAYER_POSITION(m_entity.transform, team);
     m_entity.m_team = team;
 }
示例#5
0
    void instantiateAvatar(GameData.TEAM team, GameData.TYPE hero)
    {
        Debug.Log("INSTA " + team + " , " + hero);
        Avatar             avt     = null;
        EntityMotorActions actions = null;

        avt     = PrefabBank.GET_AVATAR(hero);
        actions = EntityMotorActionBank.GET(hero);
        if (avt == null)
        {
            return;
        }

        m_entityMotor.resetState();
        if (m_avatar != null)
        {
            GameObject.Destroy(m_avatar.gameObject);
        }
        if (m_entityMotorActions != null)
        {
            m_entityMotorActions.unLink(this.m_entityMotor);
            GameObject.Destroy(m_entityMotorActions.gameObject);
            m_entityMotorActions = null;
        }
        Avatar me = GameObject.Instantiate <Avatar>(avt);

        me.transform.parent        = this.transform;
        me.transform.localPosition = Vector3.zero;
        me.transform.localRotation = Quaternion.identity;
        //Debug.Log(team);
        if (team == GameData.TEAM.RED)
        {
            me.setMaterial(BANK_PREFAB.MAT_TEAM_RED);
        }
        else if (team == GameData.TEAM.BLUE)
        {
            me.setMaterial(BANK_PREFAB.MAT_TEAM_BLUE);
        }

        if (me.m_head == null)
        {
            m_netTransformChildHead.enabled = false;
        }
        else
        {
            m_netTransformChildHead.enabled = true;
            m_netTransformChildHead.target  = me.m_head.transform;
        }
        m_avatar = me;
        if (actions != null)
        {
            m_entityMotorActions = GameObject.Instantiate <EntityMotorActions>(actions);
            m_entityMotorActions.link(m_entityMotor);
        }
    }
示例#6
0
 public static void SET_PLAYER_POSITION(Transform trnasform, GameData.TEAM team)
 {
     if (team == GameData.TEAM.RED)
     {
         trnasform.position = ME.SPAWN_RED.position;
     }
     else if (team == GameData.TEAM.BLUE)
     {
         trnasform.position = ME.SPAWN_BLUE.position;
     }
 }
示例#7
0
 static void hprSetShieldColor(Prefab p, GameData.TEAM team)
 {
     if (team == GameData.TEAM.RED)
     {
         p.setMaterial(ME.MAT_SHIELD_RED);
     }
     else
     {
         p.setMaterial(ME.MAT_SHIELD_BLUE);
     }
 }
示例#8
0
 static void hprSetTeamColor(Prefab p, GameData.TEAM team)
 {
     if (team == GameData.TEAM.RED)
     {
         p.setMaterial(ME.MAT_TEAM_RED);
     }
     else
     {
         p.setMaterial(ME.MAT_TEAM_BLUE);
     }
 }
    public void ROCKET(GameData.TEAM team, Vector3 position, Vector3 to)
    {
        NetworkPrefabLoader networkObj = Instantiate <NetworkPrefabLoader>(NETWORK_PREFAB);
        EntityPlayer        entity     = networkObj.GetComponent <EntityPlayer>();
        Rigidbody           body       = networkObj.GetComponent <Rigidbody>();
        RocketScript        script     = Instantiate <RocketScript>(PREFAB_ROCKET_SCRIPT);

        script.init(networkObj, team, entity, body, position, to);

        NetworkServer.Spawn(networkObj.gameObject);
        //networkObj.RpcLoadPrefab_ParentMe(PREFAB_ID.ROCKET, team);
    }
示例#10
0
    public void RpcLoadPrefab_INDEPENDENT(PREFAB_ID id, GameData.TEAM team)
    {
        var t = PrefabBank.SPAWN(id, team);

        if (t == null)
        {
            return;
        }
        //t.transform.parent = this.transform;
        t.transform.position = this.transform.position;
        t.transform.rotation = this.transform.rotation;
    }
示例#11
0
    public void RpcLoadPrefab_Separate(PREFAB_ID id, GameData.TEAM team, Vector3 pos, Vector3 dirLook)
    {
        var t = PrefabBank.SPAWN(id, team);

        if (t == null)
        {
            return;
        }
        //t.transform.parent = this.transform;
        t.transform.position = pos;
        t.transform.LookAt(pos + dirLook);
        //t.transform.rotation = this.transform.rotation;
    }
示例#12
0
    public static Transform SPAWN(PREFAB_ID id, GameData.TEAM team)
    {
        switch (id)
        {
        case PREFAB_ID.MONK_PUNCH_SHIELD:
            var monkPunchShield = Instantiate <Prefab>(ME.PRF_MONK_PUNCH_SHIELD);
            PhysicsLayer.SET_SHIELD(monkPunchShield, team);
            monkPunchShield.gameObject.name = "MONK PUNCH SHIELD";
            hprSetShieldColor(monkPunchShield, team);
            return(monkPunchShield.transform);

        case PREFAB_ID.MONK_PUNCH:
            var punch = Instantiate <Prefab>(ME.PRF_MONK_PUNCH);
            hprSetTeamColor(punch, team);
            return(punch.transform);

        case PREFAB_ID.ROCKET:
            var rocket = Instantiate <Prefab>(ME.PRF_ROCKET);
            hprSetTeamColor(rocket, team);
            return(rocket.transform);

        case PREFAB_ID.GRENADE:
            var grenade = Instantiate <Prefab>(ME.PRF_GRENADE);
            if (team == GameData.TEAM.RED)
            {
                grenade.setMaterial(ME.MAT_TEAM_RED);
            }
            else
            {
                grenade.setMaterial(ME.MAT_TEAM_BLUE);
            }
            return(grenade.transform);

        case PREFAB_ID.ROCKET_EXPLOSION:
            if (team == GameData.TEAM.RED)
            {
                return(Instantiate(ME.PRF_ROCKET_EXPLOSION_RED).transform);
            }
            return(Instantiate(ME.PRF_ROCKET_EXPLOSION_BLUE).transform);

        case PREFAB_ID.GREANDE_EXPLOSION:
            if (team == GameData.TEAM.RED)
            {
                return(Instantiate(ME.PRF_GRENADE_EXPLOSION_RED).transform);
            }
            return(Instantiate(ME.PRF_GRENADE_EXPLOSION_BLUE).transform);
        }
        return(null);
    }
    public void MONK_PUNCH(GameData.TEAM team, Vector3 position, Vector3 to)
    {
        NetworkPrefabLoader networkObj = Instantiate <NetworkPrefabLoader>(NETWORK_PREFAB);

        networkObj.transform.position = position;
        networkObj.transform.LookAt(to);
        NetworkServer.Spawn(networkObj.gameObject);

        EntityPlayer entity = networkObj.GetComponent <EntityPlayer>();
        Rigidbody    body   = networkObj.GetComponent <Rigidbody>();
        var          script = Instantiate <MonkPunchScript>(SCRIPT_MONKPUNCH);

        script.transform.parent   = networkObj.transform;
        script.transform.position = networkObj.transform.position;
        script.transform.rotation = networkObj.transform.rotation;
        script.init(networkObj, team, entity, body, position, to);

        //networkObj.RpcLoadPrefab_ParentMe(PREFAB_ID.ROCKET, team);
    }
示例#14
0
    //public NEntity.NScript.EntityScriptReader reader;


    //public NEntity.NScript.LoadNetworkPrefab loadRocketModel;
    //public NEntity.NScript.MoveForward move;
    //public NEntity.NScript.LoadNetworkPrefab loadExplosionModel;
    //public NEntity.NScript.LoadPrefab loadExplosionPlayer;
    //public NEntity.NScript.GameObjectDestroy destroyNetworkObject;

    public void init(
        NetworkPrefabLoader loader,
        GameData.TEAM team, EntityPlayer entity, Rigidbody krigidBody,
        Vector3 position, Vector3 to)
    {
        PhysicsLayer.SET_ATTACK(m_prefab, team);
        m_team          = team;
        m_networkloader = loader;
        m_networkloader.RpcLoadPrefab_ParentMe(PREFAB_ID.GRENADE, team);
        krigidBody.AddForce(entity.transform.rotation * m_initialForce, ForceMode.Impulse);
        //krigidBody.isKinematic = false;
        //m_explosion.gameObject.SetActive(false);
        m_entity    = entity;
        m_rigidbody = krigidBody;
        //Debug.Log(m_rigidbody);
        m_networkloader           = loader;
        m_triggerEnter.m_isRepeat = true;
        m_triggerEnter.resetCollisionCheck();
        m_triggerEnter.addHdr(onCollision);
        m_prefab.setLayer(PhysicsLayer.GET_LAYER(
                              (team == GameData.TEAM.RED) ? PHYSICS_LAYER.LAYER_RED_ATTACK : PHYSICS_LAYER.LAYER_BLUE_ATTACK));
    }
示例#15
0
 public void getPlayerBulletTrail(GameData.TEAM team, NetworkInstanceId playerMotorId, Vector3 to)
 {
     //Trail prefab;
     //switch (team) {
     //    default:
     //    case GameData.TEAM.SPECTATOR:
     //        prefab = PREFAB_TRAIL_GREY;
     //        break;
     //    case GameData.TEAM.RED:
     //        prefab = PREFAB_TRAIL_RED;
     //        break;
     //    case GameData.TEAM.BLUE:
     //        prefab = PREFAB_TRAIL_BLUE;
     //        break;
     //}
     getBulletTrail(true, playerMotorId, to);
     //var prefab = (team == GameData.TEAM.RED) ? PREFAB_TRAIL_RED : PREFAB_TRAIL_BLUE;
     //var trail = GameObject.Instantiate<Trail>(PREFAB_TRAIL_ALLY);
     //var playerObjMotorAvatar = ClientScene.FindLocalObject(playerMotorId).GetComponent<PlayerMotor>().getAvatar();
     //
     //trail.init(playerObjMotorAvatar.m_weapon.transform.position, to);
     //ClientCommunication.ME.CmdEffectPlayerBulletTrail( playerMotorId,  to);
 }
示例#16
0
 public void CmdChangeTeam(GameData.TEAM team)
 {
     RpcChangeTeam(team);
 }
示例#17
0
 public void TargetInstantiateAvatar(NetworkConnection target, GameData.TEAM team, GameData.TYPE hero)
 {
     this.m_entity.m_team = team;
     this.m_entity.m_type = hero;
     instantiateAvatar(team, hero);
 }
示例#18
0
 void h_teamB()
 {
     newInput       = true;
     m_teamSelected = GameData.TEAM.BLUE;
 }
示例#19
0
 void h_teamA()
 {
     newInput       = true;
     m_teamSelected = GameData.TEAM.RED;
 }
示例#20
0
 public void init(GameData.TEAM team)
 {
     PhysicsLayer.SET_ATTACK(m_prfAttack, team);
     PhysicsLayer.SET_SHIELD(m_prfShield, team);
 }
示例#21
0
 public void RpcInit(GameData.TEAM team)
 {
     init(team);
 }
示例#22
0
 /*
  * public override void useProcess(NEntity.Entity entity, NMotor.Motor motor)
  * {
  * //Debug.Log("Fired");
  * base.useProcess(entity, motor);
  * Avatar avatar = motor.m_avatarManager.getAvatar();
  *
  * fire(motor.m_playerInfo.team, motor.netId, avatar.m_head.transform.position, avatar.m_head.transform.forward , m_damage, m_maxTravelDistance, m_bounce);
  *
  * }
  * */
 public void fire(
     GameData.TEAM team,
     NetworkInstanceId myMotor,
     Vector3 posBegin, Vector3 direction,
     float damage, float maxTravelDistance, int bounce, bool isBouncing = false)
 {
     /*
      * bool isHitSomething = false;
      * float travelDistance = 0;
      * var ray = new Ray(posBegin, direction);
      * RaycastHit hit;
      * Physics.Raycast(ray, out hit);
      *
      * if (hit.transform == null || hit.distance > maxTravelDistance)
      * {
      * travelDistance = maxTravelDistance;
      * //hit the air
      * }
      * else
      * {
      * travelDistance = hit.distance;
      * isHitSomething = true;
      * // trail.transform.LookAt(hit.point);
      *
      * }
      * if (!isBouncing)
      * EffectManager.ME.getPlayerBulletTrail(team, myMotor, posBegin + direction * travelDistance);
      * else
      * EffectManager.ME.getPlayerBulletTrail(team, myMotor, posBegin, posBegin + direction * travelDistance);
      *
      * if (hit.transform != null)
      * {
      * var targetEntity = hit.transform.GetComponent<NEntity.Entity>();
      * if (targetEntity != null && targetEntity.IsTakeDamage)
      * {
      *  var targetMotor = hit.transform.GetComponent<NetworkIdentity>();
      *  //Debug.Log(ClientCommunication.ME.gameObject.name);
      *  //ClientCommunication.ME.CmdTest();
      *  //ClientCommunication.ME.CmdDamage(myMotor, targetMotor.netId, hit.point, targetEntity.howMuchDamageWillBeTaken(damage / 2), damage / 2);
      *
      * }
      * else
      * {
      *
      *  if (bounce > 0)
      *  {
      *      var dirNew = Vector3.Reflect(direction, hit.normal);
      *      // var posNew = hit.point;// hit.normal
      *      fire(team, myMotor, hit.point, dirNew, damage, maxTravelDistance, bounce - 1, true);
      *      //fire()
      *
      *  }
      * }
      *
      * //ClientCommunication.ME.CmdDamage_(myMotor, targetMotor.netId, hit.point, targetEntity.howMuchDamageWillBeTaken(damage / 2), damage / 2);
      * //return;
      * }
      * */
     //return this.transform.position + this.transform.forward * travelDistance;
     // trail.transform.position = transform.position;
 }