public override void OnObjectiveItemPickup(LevelObjective lvlObj, BaseObject item)
    {
        StickyItem obj = item as StickyItem;

        if (connectedItem != null && obj != null)
        {
            if (obj.UUID == connectedItem.UUID && connectedItem.UUID != -1)
            {
                connectedObjective = lvlObj;
                if (lvlObj.isMainObjective)
                {
                    completionSound = awardMain;
                }
                else
                {
                    completionSound = awardSide;
                }
                currentPickedUpItems++;
                if (currentPickedUpItems == (itemNumber))
                {
                    image.sprite = connectedItem.icon;
                    FadeOpen(false);
                }
            }
        }
    }
 public void OnSnakeItemPickup(StickyItem obj, SnakeInventory snakeInv)
 {
     if (obj.icon == null)
     {
         audioS.PlayOneShot(velcroSound);
     }
 }
Example #3
0
 public void OnSnakeItemPickup(StickyItem obj, SnakeInventory snakeInv)
 {
     if (obj.name == gameObject.name)
     {
         justPickedup = true;
     }
 }
 public void OnSnakeItemDrop(StickyItem obj, SnakeInventory snakeInv)
 {
     if (objectives.ContainsKey(obj) && !hasFinished)
     {
         objectives[obj] = CompleteState.Uncompleted;
         collectedCount--;
     }
 }
Example #5
0
 public void DropItem(StickyItem x, SnakeCollider y)
 {
     if (inventory.Contains(x))
     {
         inventory.Remove(x);
         jointInventory.Remove(y);
         eventManager.InvokeEventFast <ISnakeItemDrop, StickyItem, SnakeInventory>(x, this);
     }
 }
Example #6
0
 public void PickUpItem(StickyItem x, SnakeCollider joint)
 {
     if (inventory.Add(x))
     {
         if (!jointInventory.ContainsKey(joint))
         {
             jointInventory[joint] = new List <StickyItem>();
         }
         jointInventory[joint].Add(x);
         eventManager.InvokeEventFast <ISnakeItemPickup, StickyItem, SnakeInventory>(x, this);
         //eventManager.InvokeSnakeItemPickup(x,this);
     }
 }
 public void OnSnakeItemPickup(StickyItem obj, SnakeInventory snakeInv)
 {
     if (objectives.ContainsKey(obj) && !hasFinished)
     {
         objectives[obj] = CompleteState.Completed;
         collectedCount++;
         eventManager.InvokeEventFast <IObjectivePickup, LevelObjective, BaseObject>(this, obj);
         if (ObjectivesComplete() && completionType == CompletionType.CompleteOnPickup)
         {
             eventManager.InvokeEventFast <IObjectiveComplete, LevelObjective>(this);
             hasFinished = true;
         }
     }
 }
Example #8
0
    public void OnSnakeCollisionEnter(Collision col, SnakeCollider joint)
    {
        Collider   collider = col.collider;
        BaseObject collidedObject;

        if (ColliderCache.cachedObjects.TryGetValue(collider, out collidedObject))
        {
            StickyItem sticky = collidedObject as StickyItem;
            if (sticky != null)
            {
                if (ValidatePickup(sticky))
                {
                    if (sticky.TryStickToSnake(col, joint.rigid))
                    {
                        PickUpItem(sticky, joint);
                    }
                }
            }
        }
    }
Example #9
0
    void Start()
    {
        sticky = transform.parent.GetComponent <StickyItem>();
        var renderer = GetComponent <Renderer>();

        material = renderer.material;
        if (sticky == null || material == null)
        {
            this.enabled = false;
            return;
        }

        material.SetColor("_EmissionColor", Color.clear);
        material.EnableKeyword("_EMISSION");


        //MeshFilter filter = GetComponent(typeof (MeshFilter)) as MeshFilter;
        //if (filter != null)
        //{
        //    Mesh mesh = filter.mesh;
//
        //	Vector3[] normals = mesh.normals;
        //	for (int i = 0; i < normals.Length; i++)
        //		normals[i] = -normals[i];
        //	mesh.normals = normals;
//
        //	for (int m = 0; m < mesh.subMeshCount; m++)
        //	{
        //		int[] triangles = mesh.GetTriangles(m);
        //		for (int i = 0; i < triangles.Length; i += 3)
        //		{
        //			int temp = triangles[i + 0];
        //			triangles[i + 0] = triangles[i + 1];
        //			triangles[i + 1] = temp;
        //		}
        //		mesh.SetTriangles(triangles, m);
        //	}
        //}
        StartCoroutine(TweenStart());
    }
    public virtual void OnObjectiveItemPickup(LevelObjective lvlObj, BaseObject item)
    {
        StickyItem obj = item as StickyItem;

        if (connectedItem != null && obj != null)
        {
            if (obj.UUID == connectedItem.UUID && connectedItem.UUID != -1)
            {
                connectedObjective = lvlObj;
                if (lvlObj.isMainObjective)
                {
                    completionSound = awardMain;
                }
                else
                {
                    completionSound = awardSide;
                }
                image.sprite = connectedItem.icon;
                FadeOpen(false);
            }
        }
    }
Example #11
0
 void setStickyList()
 {
     //プレハブからゲームオブジェクトを動的生成
     for (int i = 1; i <= stickyList.m_list.Count; i++)
     {
         //配列からItemインスタンスを取得
         StickyItem item = stickyList.m_list [i - 1];
         //プレハブから生成(指定のゲームオブジェクトの子要素として出力したい)
         GameObject stickyImage = Instantiate(stickyImagePrefab) as GameObject;
         //Canvasの子要素にする
         //親要素に設定した時、Untiyがポジションとスケールを自動で変換してしまうのでポジションとスケールを初期化する
         //ポジションはlocalPositionを使った方がいい
         stickyImage.transform.parent        = imageCanvas.transform;
         stickyImage.transform.localPosition = new Vector3(0, -200, 0);
         stickyImage.transform.localScale    = Vector3.one;          //1,1,1
         //位置をずらす
         Vector3 pos = stickyImage.transform.localPosition;
         pos.y += i * 120;
         stickyImage.transform.localPosition = pos;
         //テキストをItemのプロパティを使う
         Text stickyText = stickyImage.transform.Find("StickyText").GetComponent <Text> ();
         stickyText.text = item.keyword;
     }
 }
 public void OnSnakeItemDrop(StickyItem obj, SnakeInventory snakeInv)
 {
 }
Example #13
0
 public bool ValidatePickup(StickyItem x)
 {
     return(true);
     //Here we might want to not pick up some items at some point for some reason sometimes or something
 }
 public void OnSnakeItemDrop(StickyItem obj, SnakeInventory snakeInv)
 {
     attachedMass -= obj.rigid.mass;
 }
 public void OnSnakeItemPickup(StickyItem obj, SnakeInventory snakeInv)
 {
     attachedMass  += obj.rigid.mass;
     snakeInventory = snakeInv;
 }