Example #1
0
        public void RemoveLabel(Label label)
        {
            labelMap.Remove(label.name);
            Label.Type   labelType = label.type;
            List <Label> labelList = labelType == Label.Type.BRANCH ? branchLabelList : constLabelList;

            labelList.Remove(label);

            // Remove references in instructions
            foreach (Instruction i in instructions)
            {
                foreach (Argument arg in i.args)
                {
                    if (arg.type == Argument.Type.LABEL && arg.label == label)
                    {
                        arg.label = null;
                        arg.type  = Argument.Type.IMMEDIATE;
                        arg.val   = 0;
                    }
                }
            }

            if (labelType == Label.Type.BRANCH)
            {
                BroadcastBranchLabelChange();
            }
            else
            {
                BroadcastConstLabelChange();
            }
        }
        public void CreateNewLabeledBread(Label.Type labelType, Bread.Type breadType, Vector3 position)
        {
            var newOne = _labeledBreadFactory.Create(labelType, breadType);

            newOne.transform.position = position;
            currentObject.Add(newOne.gameObject);
            _soundManager.PlaySE(SE.Label);
        }
        public void CreateNewLabel(Label.Type type)
        {
            var go = _labelFactory.Create(type);

            currentObject.Add(go.gameObject);
        }