Exemplo n.º 1
0
    private void Start()
    {
        //smoke = transform.Find("Smoke").GetComponent<ParticleEmitter>();
        fireMat  = GetComponent <MeshRenderer>().material;
        fireGlow = GetComponent <Light>();
        AllFires.Add(this);
        StartCoroutine(RenderFires());
        Vector3 localScale = transform.localScale;

        localScale.y         = -localScale.y;
        transform.localScale = localScale;
    }
    public void FireIgnite()
    {
        /*if (Network.isServer)
         * {
         *  isOnFire = true;
         *  StartCoroutine(FireSpread());
         *  StartCoroutine(FireDetect());
         *  StartCoroutine(LoopCheckNearBigFire());
         *  fireWatch.networkView.RPC("CreateFireAnimate", 2, new object[]
         *  {
         *      transform.position + fireOffsetLocaiton,
         *      transform.rotation,
         *      false,
         *      networkView.viewID,
         *      Network.AllocateViewID()
         *  });
         *  currentFireCheckRate = minFireCheckRate;
         *  AllFires.Add(this);
         *  fireWatch.networkView.RPC("SyncAllFlamable", 1, new object[]
         *  {
         *      networkView.viewID,
         *      isOnFire,
         *      wasOnFire,
         *      isFlamableAgain,
         *      reflamable,
         *      currentBurnHealth,
         *      currentTemp,
         *      nearBigFire,
         *      currentFireCheckRate
         *  });
         * }*/

        isOnFire = true;
        StartCoroutine(FireSpread());
        StartCoroutine(FireDetect());
        StartCoroutine(LoopCheckNearBigFire());
        fireWatch.CreateFireAnimate(transform.position + fireOffsetLocaiton, transform.rotation, false, gameObject);
        currentFireCheckRate = minFireCheckRate;
        AllFires.Add(this);
        fireWatch.SyncAllFlamable(gameObject, isOnFire, wasOnFire, isFlamableAgain, reflamable, currentBurnHealth, currentTemp, nearBigFire, currentFireCheckRate);
    }
Exemplo n.º 3
0
 public void RemoveFromAllFires()
 {
     AllFires.Remove(this);
 }
    public void FireBurnOut(bool resetBurnTemp = false)
    {
        /*if (Network.isServer)
         * {
         *  isOnFire = false;
         *  wasOnFire = true;
         *  isFlamableAgain = false;
         *  StopCoroutine(FireSpread());
         *  StopCoroutine(FireDetect());
         *  StopCoroutine(LoopCheckNearBigFire());
         *  if (fireAnimate)
         *  {
         *      fireAnimate.PutOut(true);
         *  }
         *  Destroy(FireGameObject);
         *  FireGameObject = null;
         *  currentFireCheckRate = maxFireCheckRate;
         *  if (resetBurnTemp)
         *  {
         *      currentBurnHealth = burnHealth;
         *      currentTemp = startTemp;
         *      if (food != null)
         *      {
         *          food.foodTemp = startTemp;
         *          food.CallSyncFood();
         *      }
         *  }
         *  AllFires.Remove(this);
         *  fireWatch.networkView.RPC("SyncAllFlamable", 1, new object[]
         *  {
         *      networkView.viewID,
         *      isOnFire,
         *      wasOnFire,
         *      isFlamableAgain,
         *      reflamable,
         *      currentBurnHealth,
         *      currentTemp,
         *      nearBigFire,
         *      currentFireCheckRate
         *  });
         * }*/

        isOnFire        = false;
        wasOnFire       = true;
        isFlamableAgain = false;
        StopCoroutine(FireSpread());
        StopCoroutine(FireDetect());
        StopCoroutine(LoopCheckNearBigFire());
        if (fireAnimate)
        {
            fireAnimate.PutOut(true);
        }
        Destroy(FireGameObject);
        FireGameObject       = null;
        currentFireCheckRate = maxFireCheckRate;
        if (resetBurnTemp)
        {
            currentBurnHealth = burnHealth;
            currentTemp       = startTemp;
            if (food != null)
            {
                food.foodTemp = startTemp;
            }
        }
        AllFires.Remove(this);

        /*fireWatch.networkView.RPC("SyncAllFlamable", 1, new object[]
         * {
         *      isOnFire,
         *      wasOnFire,
         *      isFlamableAgain,
         *      reflamable,
         *      currentBurnHealth,
         *      currentTemp,
         *      nearBigFire,
         *      currentFireCheckRate
         * });*/
    }