예제 #1
0
    // update the currentEffect
    //
    // returns the Cube object for the currentEffect
    public Cube updateCurrentEffect(Cube.CubeEffect_e desiredCubeEffect)
    {
        if (desiredCubeEffect == currentEffect)
        {
            return(getCurrentEffect());
        }
        if (invalidEffects.Contains(desiredCubeEffect))
        {
            return(null);
        }
        // set current effect to be inactive
        Cube cubeEffect = getCurrentEffect();

        if (cubeEffect != null)
        {
            cubeEffect.setActive(false);
        }
        // set new effect to be active
        currentEffect = desiredCubeEffect;
        cubeEffect    = getCurrentEffect();
        if (cubeEffect == null)
        {
            return(null);
        }
        cubeEffect.setActive(true);
        //print("updateCurrentEffect");
        return(cubeEffect);
    }
예제 #2
0
 public void addEffect(Cube.CubeEffect_e effect)
 {
     if (effects.Contains(effect))
     {
         return;
     }
     effects.Add(effect);
 }
예제 #3
0
 public static EffectDefinition getCubeEffectDefinition(Cube.CubeEffect_e effect)
 {
     if (EFFECT_DEFS.ContainsKey(effect))
     {
         return(EFFECT_DEFS[effect]);
     }
     return(new EffectDefinition());
 }
예제 #4
0
 public void setEffect(Cube.CubeEffect_e effect_, bool reverse_)
 {
     effect = effect_;
     reverse = reverse_;
     EffectDefinition def = Shoot.getCubeEffectDefinition(effect);
     outlineColor = def.outlineColor;
     accentColor = def.accentColor;
     // set color
     Material mat = GetComponent<Renderer>().material;
     mat.color = def.outlineColor;
     // set outline color in shader
     Renderer rend = GetComponent<Renderer> ();
     if (rend.material.shader.name.Equals("Outlined/Silhouette Only"))
         rend.material.SetColor ("_OutlineColor", def.outlineColor);
 }
예제 #5
0
    private void addGun(Cube.CubeEffect_e effect)
    {
        EffectDefinition def    = Shoot.getCubeEffectDefinition(effect);
        GameObject       textGO = Instantiate(effectTextPrefab);

        textGO.transform.SetParent(transform, false);
        Text text = textGO.GetComponent <Text>();

        if (text != null)
        {
            text.text = def.text;
            if (!string.IsNullOrEmpty(def.reverseText))
            {
                text.text += "|" + def.reverseText;
            }
            cubeEffectText[effect] = text;
        }
    }
예제 #6
0
    public void setEffect(Cube.CubeEffect_e effect_, bool reverse_)
    {
        effect  = effect_;
        reverse = reverse_;
        EffectDefinition def = Shoot.getCubeEffectDefinition(effect);

        outlineColor = def.outlineColor;
        accentColor  = def.accentColor;
        // set color
        Material mat = GetComponent <Renderer>().material;

        mat.color = def.outlineColor;
        // set outline color in shader
        Renderer rend = GetComponent <Renderer> ();

        if (rend.material.shader.name.Equals("Outlined/Silhouette Only"))
        {
            rend.material.SetColor("_OutlineColor", def.outlineColor);
        }
    }
예제 #7
0
 // update the currentEffect
 //
 // returns the Cube object for the currentEffect
 public Cube updateCurrentEffect(Cube.CubeEffect_e desiredCubeEffect)
 {
     if (desiredCubeEffect == currentEffect) {
         return getCurrentEffect();
     }
     if (invalidEffects.Contains(desiredCubeEffect)) {
         return null;
     }
     // set current effect to be inactive
     Cube cubeEffect = getCurrentEffect();
     if (cubeEffect != null) {
         cubeEffect.setActive(false);
     }
     // set new effect to be active
     currentEffect = desiredCubeEffect;
     cubeEffect = getCurrentEffect();
     if (cubeEffect == null) {
         return null;
     }
     cubeEffect.setActive(true);
     //print("updateCurrentEffect");
     return cubeEffect;
 }